在Azure中使用python获取角色分配列表

在Azure中使用python获取角色分配列表,python,azure,Python,Azure,我正在尝试使用python在订阅中获得azure角色分配。通过以下代码 from azure.common.credentials import ServicePrincipalCredentials from azure.mgmt.authorization import AuthorizationManagementClient tenant_id = 'tenant_guid' application_id = 'application_guid' application_secret =

我正在尝试使用python在订阅中获得azure角色分配。通过以下代码

from azure.common.credentials import ServicePrincipalCredentials
from azure.mgmt.authorization import AuthorizationManagementClient
tenant_id = 'tenant_guid'
application_id = 'application_guid'
application_secret = 'application_secret'
cred = ServicePrincipalCredentials(client_id=application_id, secret=application_secret, tenant=tenant_id)
client = AuthorizationManagementClient(cred, 'subscription_guid')
roles = client.role_assignments.list()
for role in roles:
print(role)
例外:CloudError(“对象id为“XXXX-XXXX-xxxxxx”的客户端“XXXX-XXXXX-xxxxxx”无权执行操作“Microsoft.authorization/roleAssignments/read'over scope'/subscriptions/XXXX-XXXXX-xxxxxx”。”

但是,尽管我是该服务主体的管理员,但我在运行python代码段时遇到了身份验证异常


谁能帮我找到这个

服务主体的Admin并不意味着您的服务主体是Admin:)。消息很清楚,您的服务主体没有执行此操作的权限

查看Azure中的内置角色:

要在“Microsoft.Authorization/roleAssignments/read”上执行操作,SP(不是您)需要是“所有者”或“阅读器”或“API管理服务参与者” ,等等。(查看列表中的模式,了解哪些角色授权此操作)

然后,您可以使用门户向SP添加角色:

或CLI


有人能帮我吗?