Я пишу скрипт на 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](https://i.stack.imgur.com/xJABc.png)
Когда я запускаю свой скрипт на 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.
Любой совет будет высоко оценен!