Я пишу сценарий 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
участника этой подписки, как вы можете видеть здесь:
При запуске моего скрипта 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.
Мы будем благодарны за любые советы!
Application.ReadWrite.All
, и было разумно добавить его, и я думал, что все будет работать, однако я все еще получаю ту же ошибку:Insufficient privileges to complete the operation.
. Я даже создал новое приложение SP и настроил его с необходимыми разрешениями, но все еще та же ошибка разрешения. Затем я попытался добавить еще несколько разрешений для Graph, но без разницы. Не уверены, что есть еще что-нибудь? - person Petr Hecko   schedule 03.06.2019