ARM 模板:查找用户对象 ID

Dic*_*ore 6 azure azure-active-directory azure-resource-manager azure-rm-template

我正在尝试以编程方式将某个用户帐户的对象 ID 插入到 ARM 模板中,如下所示:

"objectId": "[reference(resourceId('Microsoft.AAD/domainServices/user/read','domain','User.Name'),'2019-01-01').Id]",
Run Code Online (Sandbox Code Playgroud)

我尝试了许多不同的资源提供者,试图让它发挥作用。例如:

"objectId": "[reference(resourceId('Microsoft.ManagedIdentity/userAssignedIdentities/read','user@domain.onmicrosoft.com'),'2019-01-01').Id]",
Run Code Online (Sandbox Code Playgroud)

和:

"objectId": "[reference(resourceId('Microsoft.Portal/usersettings/read','user@domain.onmicrosoft.com'),'2018-10-01').Id]"
Run Code Online (Sandbox Code Playgroud)

我查找了用于获取用户列表的 API 调用,以查看这是否会暗示要使用的正确提供程序(它没有):

GET https://graph.windows.net/{TenantId}/users?api-version=1.6 HTTP/1.1
Run Code Online (Sandbox Code Playgroud)

我一直在查看此提供程序操作列表,但发现了两个问题:

1 我看不到与我想做的事情相关的操作。

2 它没有提供有关需要哪些参数的信息。

所以我想我真的有两个问题:

  1. 如何在 ARM 模板中动态查找用户的 ObjectId?
  2. 将来如何找出可用的查找功能以及需要哪些参数?

Joy*_*ang 4

您无法在 ARM 模板中插入用户对象 ID。

用户帐户由您的 Azure AD 租户管理,它不是 azure 资源,ARM 模板适用于您的订阅中的 azure 资源。

参考:https://learn.microsoft.com/en-us/azure/azure-resource-manager/resource-group-overview

Azure 资源管理器是 Azure 的部署和管理服务。它提供了一致的管理层,使你能够在 Azure 订阅中创建、更新和删除资源。