gpt4 book ai didi

azure - 如何查找有权访问给定 SPN 的各个资源的列表?

转载 作者:行者123 更新时间:2023-12-03 02:19:14 24 4
gpt4 key购买 nike

当我使用服务主体使用 az 登录时

例如az login --service-principal -u“12121”-p“1212”--tenant“12121”

它将显示它有权访问的所有订阅列表

[
{
"cloudName": "AzureCloud",
"homeTenantId": "123",
"id": "215645",
"isDefault": true,
"managedByTenants": [],
"name": "Sub1",
"state": "Enabled",
"tenantId": "123",
"user": {
"name": "123456",
"type": "servicePrincipal"
}
},
{
"cloudName": "AzureCloud",
"homeTenantId": "123",
"id": "rr",
"isDefault": false,
"managedByTenants": [
{
"tenantId": "123"
}
],
"name": "Sub2",
"state": "Enabled",
"tenantId": "123",
"user": {
"name": "123456",
"type": "servicePrincipal"
}
},
...
...
]

在某些子列表中,SPN 具有对订阅的直接读者访问权限 (RBAC)。但对于其他子(例如 sub2),访问权限不会直接授予订阅级别,而是授予资源级别。

问题:如何获取 sub2 中有权向服务主体提供访问权限的所有资源列表?换句话说,我必须找到(列出)什么访问分配给 sub2 中任何/所有资源的服务主体。

我知道azure cli在后台执行此操作来检索此信息。这就是为什么它可以在成功登录后显示所有订阅列表。但我不知道那是什么

是否有任何 cli 命令或图形 API 可以检索该信息?

P.S:我也不知道分配 SPN 的范围或资源

最佳答案

如果您想列出特定用户的角色分配,可以使用 az role assignment list命令。

az role assignment list --assignee {assignee}

注意:要查看当前订阅及以下订阅的角色分配,请添加 --all 参数:

az role assignment list --assignee {assignee} --all

如果您已经使用服务主体登录,则可以省略 --assignee 参数

关于azure - 如何查找有权访问给定 SPN 的各个资源的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69660862/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com