【问题标题】:In Azure to get getting list of role Assignments using python在 Azure 中使用 python 获取角色分配列表
【发布时间】:2018-06-05 15:26:18
【问题描述】:

我正在尝试使用 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' 没有权限在范围 '/subscriptions/XXXX' 上执行操作 'Microsoft.Authorization/roleAssignments/read' -XXXX-xxxxxx'.",)

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

谁能帮忙找到这个。

【问题讨论】:

  • 谁能帮我解决这个问题?

标签: python azure


【解决方案1】:

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

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

为了对“Microsoft.Authorization/roleAssignments/read”进行操作,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

【讨论】:

    猜你喜欢
    • 2018-11-18
    • 2020-01-26
    • 2020-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-21
    相关资源
    最近更新 更多