Шаблон ARM: Поиск идентификатора объекта пользователя - PullRequest
0 голосов
/ 04 июня 2019

Я пытаюсь программно вставить идентификатор объекта определенной учетной записи пользователя в шаблон ARM, например:

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

Я пробовал множество различных поставщиков ресурсов, пытаясь получить этоРабота.Например:

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

и:

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

Я посмотрел вызов API, используемый для получения списка пользователей, чтобы выяснить, не намекает ли это на правильного поставщика, который будет использоваться (это не так):

GET https://graph.windows.net/{TenantId}/users?api-version=1.6 HTTP/1.1

Я просматривал этот список операций провайдера , но обнаружил две проблемы с этим:

1 Я могу 'не вижу операции, которая выглядит соответствующей тому, что я хочу сделать.

2 Он не предоставляет информацию о том, какие параметры требуются.

Так что я думаю, у меня действительно два вопроса:

  1. Как мне динамически искатьObjectId пользователя в шаблоне ARM?
  2. Как узнать в будущем, какие функции поиска доступны и какие параметры требуются?

Ответы [ 2 ]

1 голос
/ 04 июня 2019

Не удалось вставить идентификатор объекта пользователя в шаблон ARM.

Учетной записью пользователя управляет ваш клиент Azure AD, это не ресурс Azure, шаблон ARM предназначен для ресурсов Azure в вашей подписке.

Справка: https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-overview

Azure Resource Manager - это служба развертывания и управления для Azure. Он обеспечивает согласованный уровень управления, который позволяет создавать, обновлять и удалять ресурсы в подписке Azure.

0 голосов
/ 17 июля 2019

Вы можете попробовать код ниже, если у вас есть VM в том же шаблоне и включены управляемые удостоверения

https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-template-functions-resource#remarks-1

{
  "type": "Microsoft.KeyVault/vaults",
  "properties": {
    "tenantId": "[reference(concat('Microsoft.Compute/virtualMachines/', variables('vmName')), '2017-03-30', 'Full').identity.tenantId]",
    "accessPolicies": [
      {
        "tenantId": "[reference(concat('Microsoft.Compute/virtualMachines/', variables('vmName')), '2017-03-30', 'Full').identity.tenantId]",
        "objectId": "[reference(concat('Microsoft.Compute/virtualMachines/', variables('vmName')), '2017-03-30', 'Full').identity.principalId]",
        "permissions": {
          "keys": [
            "all"
          ],
          "secrets": [
            "all"
          ]
        }
      }
    ]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...