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

2024-05-15 00:57:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用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-XXXX-xxxxxx”无权执行操作'Microsoft.Authorization/roleAssignments/阅读'超出范围'/订阅/XXXX-XXXX-xxxxxx',)

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

有谁能帮忙找到这个吗。在


Tags: fromimportclientidsecretapplicationazurerole
1条回答
网友
1楼 · 发布于 2024-05-15 00:57:36

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

查看Azure中的内置角色: https://docs.microsoft.com/en-us/azure/role-based-access-control/built-in-roles

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

然后,可以使用门户向SP添加角色: https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-create-service-principal-portal#assign-application-to-role

或CLI

https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli?view=azure-cli-latest#manage-service-principal-roles

相关问题 更多 >

    热门问题