Azure AD - создайте нового участника службы программно - PullRequest
2 голосов
/ 01 июня 2019

Я пишу скрипт на python для предоставления и настройки служб Azure.Я хотел бы предоставить нового участника службы как часть моего сценария, но у меня есть проблемы с разрешениями.Если я выполню эту команду в своем терминале (после azure login), она создаст принципала:

az ad sp create-for-rbac --name Testapp

Я хочу добиться того же, но в моем скрипте Python,где я использую существующий субъект службы для предоставления ресурсов.Я выполняю следующие вызовы:

call("az login --service-principal -u '%s' -p '%s' --tenant '%s'" % (args.client_id, args.client_sec, args.tenant_id), shell=True)
call("az ad sp create-for-rbac --name TestServicePrincipal", shell=True)

Аргументы - это учетные данные существующего участника службы.Этот участник службы уже является OWNER этой подписки, как вы можете видеть здесь:

enter image description here

Когда я запускаю свой скрипт на python, я просто вхожу в систему (также с этими учетными данными я могу предоставить кучу других ресурсов через скрипт), но я получу ошибки разрешения при создании учетной записи SP, как вы можете видеть здесь:

synergies git:(master) ✗ python test.py -c 'testcustomer' -l 'eastus' -sid '1234' -cs '1234' -cid '1234' -tid '1234'
[
  {
    "cloudName": "AzureCloud",
    "id": "1234",
    "isDefault": true,
    "name": "Free Trial",
    "state": "Enabled",
    "tenantId": "1234",
    "user": {
      "name": "1234",
      "type": "servicePrincipal"
    }
  }
]
Changing "TestServicePrincipal" to a valid URI of "http://TestServicePrincipal", which is the required format used for service principal names
Insufficient privileges to complete the operation.

Любой совет будет высоко оценен!

1 Ответ

2 голосов
/ 03 июня 2019

Я решил это на моей стороне.Вам необходимо назначить роль Global administrator вашему sp. Примечание. Для вступления в силу потребуется несколько минут .

enter image description here

...