在哪里可以找到 Azure 身份范围及其权限级别的列表?
Where can I find a list of azure identity scopes and their permission levels?
当...
- 使用类似
az ad sp create-for-rbac -n 'test' --sdk-auth
的方式创建新的服务主体
...然后...
- 使用
!az role assignment list --assignee 'serv_princ_obj_id'
列出新的服务主体属性
[
{
"canDelegate": null,
"id": "/subscriptions/redact/providers/Microsoft.Authorization/roleAssignments/redact",
"name": "redact",
"principalId": "redact",
"principalName": "http://test",
"principalType": "ServicePrincipal",
"roleDefinitionId": "/subscriptions/redact/providers/Microsoft.Authorization/roleDefinitions/redact",
"roleDefinitionName": "Contributor",
"scope": "/subscriptions/redact",
"type": "Microsoft.Authorization/roleAssignments"
}
]
...或分配系统分配的托管标识...
- 使用
az functionapp identity assign -g MyResourceGroup -n MyUniqueApp
)...
通常有一个--scope
选项。我无法在任何地方找到这些范围和描述的列表。
正在寻找类似 az account list-locations --query [].displayName
的东西,但用 [].scopes
代替。
有人知道在哪里可以找到这些吗?
在"az ad sp"命令中,“--scopes”参数指的是您要附加服务原则的目标资源(带有订阅、资源组详细信息)。
例如:az ad sp create-for-rbac -n "test" --role contributor
--scopes /subscriptions/{SubID}/resourceGroups/{ResourceGroupName}
因此,列出范围意味着,您需要列出您有权访问的订阅中的资源。以下命令可能有帮助:
az资源列表 --订阅 --资源组
请参考 this azure cli 页面。
谢谢@megh-6789。为了扩展您的答案,在 运行 az resource list --subscription $sub_id
之后,我可以看到资源的 id
与我正在寻找的 --scopes
语法匹配。
示例:
{
"id": "/subscriptions/redact/resourceGroups/redact/providers/Microsoft.Maps/accounts/redact",
"identity": null,
"kind": null,
"location": "global",
"managedBy": null,
"name": "redact",
"plan": null,
"properties": null,
"resourceGroup": "redact",
"sku": {
"capacity": null,
"family": null,
"model": null,
"name": "s1",
"size": null,
"tier": "Standard"
},
"tags": null,
"type": "Microsoft.Maps/accounts"
}
看起来可以将 scope
设置为订阅、资源组或资源级别。
当...
- 使用类似
az ad sp create-for-rbac -n 'test' --sdk-auth
的方式创建新的服务主体
...然后...
- 使用
!az role assignment list --assignee 'serv_princ_obj_id'
列出新的服务主体属性
[
{
"canDelegate": null,
"id": "/subscriptions/redact/providers/Microsoft.Authorization/roleAssignments/redact",
"name": "redact",
"principalId": "redact",
"principalName": "http://test",
"principalType": "ServicePrincipal",
"roleDefinitionId": "/subscriptions/redact/providers/Microsoft.Authorization/roleDefinitions/redact",
"roleDefinitionName": "Contributor",
"scope": "/subscriptions/redact",
"type": "Microsoft.Authorization/roleAssignments"
}
]
...或分配系统分配的托管标识...
- 使用
az functionapp identity assign -g MyResourceGroup -n MyUniqueApp
)...
通常有一个--scope
选项。我无法在任何地方找到这些范围和描述的列表。
正在寻找类似 az account list-locations --query [].displayName
的东西,但用 [].scopes
代替。
有人知道在哪里可以找到这些吗?
在"az ad sp"命令中,“--scopes”参数指的是您要附加服务原则的目标资源(带有订阅、资源组详细信息)。
例如:az ad sp create-for-rbac -n "test" --role contributor --scopes /subscriptions/{SubID}/resourceGroups/{ResourceGroupName}
因此,列出范围意味着,您需要列出您有权访问的订阅中的资源。以下命令可能有帮助:
az资源列表 --订阅 --资源组
请参考 this azure cli 页面。
谢谢@megh-6789。为了扩展您的答案,在 运行 az resource list --subscription $sub_id
之后,我可以看到资源的 id
与我正在寻找的 --scopes
语法匹配。
示例:
{
"id": "/subscriptions/redact/resourceGroups/redact/providers/Microsoft.Maps/accounts/redact",
"identity": null,
"kind": null,
"location": "global",
"managedBy": null,
"name": "redact",
"plan": null,
"properties": null,
"resourceGroup": "redact",
"sku": {
"capacity": null,
"family": null,
"model": null,
"name": "s1",
"size": null,
"tier": "Standard"
},
"tags": null,
"type": "Microsoft.Maps/accounts"
}
看起来可以将 scope
设置为订阅、资源组或资源级别。