如何找到有权访问给定 SPN 的单个资源的列表?
How to find the list of individual resources that have access to a given SPN?
当我使用服务主体使用 az login 时
例如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 具有对订阅的直接 reader 访问权限 (RBAC)。但是对于另一个子(可以说 sub2
),访问权限没有直接授予订阅级别,而是授予了资源级别。
问题:如何获取 sub2
中已向服务主体提供访问权限的所有资源列表?换句话说,我必须找到(列表) 服务主体分配给 any/all sub2
.
内的资源的访问类型
我知道 azure cli 在后台做这个来检索这个 information.That 为什么它可以在成功登录后显示所有订阅列表。但是我不知道那是什么
是否有任何 cli 命令或图表 API 可以检索该信息?
P.S:我也不知道分配SPN的范围或资源
如果要列出特定用户的角色分配,可以使用 az role assignment list 命令。
az role assignment list --assignee {assignee}
注意:要查看当前订阅及以下订阅的角色分配,请添加 --all
参数:
az role assignment list --assignee {assignee} --all
如果您已经使用服务主体登录,则可以省略--assignee
参数
当我使用服务主体使用 az login 时
例如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 具有对订阅的直接 reader 访问权限 (RBAC)。但是对于另一个子(可以说 sub2
),访问权限没有直接授予订阅级别,而是授予了资源级别。
问题:如何获取 sub2
中已向服务主体提供访问权限的所有资源列表?换句话说,我必须找到(列表) 服务主体分配给 any/all sub2
.
我知道 azure cli 在后台做这个来检索这个 information.That 为什么它可以在成功登录后显示所有订阅列表。但是我不知道那是什么
是否有任何 cli 命令或图表 API 可以检索该信息?
P.S:我也不知道分配SPN的范围或资源
如果要列出特定用户的角色分配,可以使用 az role assignment list 命令。
az role assignment list --assignee {assignee}
注意:要查看当前订阅及以下订阅的角色分配,请添加 --all
参数:
az role assignment list --assignee {assignee} --all
如果您已经使用服务主体登录,则可以省略--assignee
参数