Azure Python SDK
Если вы хотите использовать Azure Python SDK, вам следует использовать AuthorizationManagementClient класс
Вы можете попытаться получить RoleAssignments для своей подпискив рамках самой подписки.
Я тесно сотрудничаю с C #, поэтому не имею под рукой кода Python, но постараюсь обновить его с помощью кода Python чуть позже.
ОБНОВЛЕНИЕ
Вот пример кода.Я надеюсь, что этого достаточно для продолжения.
from azure.mgmt.authorization import AuthorizationManagementClient
authorizationClient = AuthorizationManagementClient(credentials, '<your subscription guid>')
roles = authorizationClient.role_assignments.list()
for role in roles:
print(role)
REST API
Если вы хотите напрямую вызывать REST API из кода, используйте REST API Microsoft.Authorization / roleAssignments.
GET https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleAssignments?api-version=2018-01-01-preview
{scope} будет subscriptions/<your subscriptionId>
для выборки roleAssignments на уровне подписки.
Вот пример запроса к этому API и ответ.
Чтобы найти всепользователи, которым была явно назначена роль «Владелец» на уровне подписки
Запрос:
GET https://management.azure.com/subscriptions/{my subscription GUID}/providers/Microsoft.Authorization/roleAssignments?api-version=2018-01-01-preview
Ответ:
Обратите внимание, что идентификатор определения роли в ответе равен "8e3af657-a8ff-443c-a75c-2fe8c4bcb635" .Это соответствует встроенной роли владельца.
{"value":[{"properties":{"roleDefinitionId":"/subscriptions/{my Subscription GUID}/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"{some user GUID}","principalType":"User","scope":"/subscriptions/{my Subscription GUID}","createdOn":"2018-10-03T05:12:52.7213301Z","updatedOn":"2018-10-03T05:12:52.7213301Z","createdBy":"GUID","updatedBy":"GUID"},"id":"/subscriptions/{my Subscription GUID}/providers/Microsoft.Authorization/roleAssignments/83eee76b-4a0d-4f61-8c62-409501e95457","type":"Microsoft.Authorization/roleAssignments","name":"83eee76b-4a0d-4f61-8c62-409501e95457"}]}
Как только вы получите ответ, он будет содержать идентификаторы определений ролей вместо точных имен.Для всех встроенных ролей вы можете узнать, какая это роль заранее, посетив эту документацию Microsoft .Например, идентификатор владельца для роли «8e3af657-a8ff-443c-a75c-2fe8c4bcb635»