Azure - Создание принципала службы с правами администратора клиента - PullRequest
0 голосов
/ 27 января 2020

Я пытаюсь подготовить Azure AD Domain Service, выполнив шаблон ARM в terrafrom. Чтобы разрешить terrafrom доступ к Azure, я создал service principal, используя скрипт ниже:

az ad sp create-for-rbac --role="Owner" --scopes="/subscriptions/xxxxxxxx-xxxxxfca38"

, а затем передал идентификатор клиента и секрет для terrafrom.

Проблема заключается в том, что при выполнении сценария azure выдает ошибку:

code":"BadRequest", "message": "The user xxxxx-80b is not the tenant admin of tenant xxxxxx-xxxxxfca38.

Однако, когда я захожу на портал Azure, используя свою электронную почту и пароль, я Можно создать AZ AD Domain Service без ошибок.

Как создать субъект-службу с правами доступа для выполнения такой операции? Я изначально думал, что --role="Owner" должно быть достаточно.

В качестве альтернативы, можно получить идентификатор клиента и секретный код той же учетной записи, которую я использую для входа на портал Azure?

PS: я использую личный аккаунт в azure, который не связан ни с какой организацией AD.

1 Ответ

1 голос
/ 28 января 2020

У меня нет личного аккаунта с подпиской для тестирования. Просто попробуйте выполнить приведенные ниже шаги.

Я использую личный аккаунт в azure, который не связан ни с одной организацией AD.

Когда вы войдите на портал azure, фактически существует каталог по умолчанию, но если вы создадите приложение AD непосредственно в Azure AD, вы не сможете выбрать приложение с одним арендатором.

1. Перейдите к Azure AD на портале -> Create a directory (мы не будем использовать каталог позже, просто потому, что операция приведет к появлению Default Directory).

enter image description here

После успешного создания каталога закройте браузер (не refre sh) и откройте новый, войдите в портал, нажмите кнопку, как показано ниже, вы найдете Default Directory.

enter image description here

2. Перейдите к подписке на портале -> отметьте Directory, тогда вы узнаете, в каком каталоге находится ваша подписка, также убедитесь, что My role равно Owner или User Access Administrator, в противном случае вы не сможете выполнить команду az ad sp create-for-rbac --role="Owner" --scopes="/subscriptions/xxxxxxxx-xxxxxfca38" успешно ly.

enter image description here

3.Если ваша подписка находится в Default directory, вы можете перейти к Azure AD -> Properties - > установите Access management for Azure resources на Yes, тогда вы будете User Access Administrator. (Если вы уже являетесь Owner или User Access Administrator, пропустите этот шаг.)

4. Затем войдите в Azure CLI с помощью команды ниже, укажите tenant с tenant ID, в котором находится подписка.

az login --tenant <tenant>

5. Выполните команду az ad sp create-for-rbac --role="Owner" --scopes="/subscriptions/xxxxxxxx-xxxxxfca38", она должна работать.

...