您将需要使用Node.js 的 Azure 授权模块
这是基于 Microsoft Docs 的示例代码
安装Azure授权模块
npm install azure-arm-authorization
列出特定资源组的所有角色分配
const msRestAzure = require('ms-rest-azure');
const authorizationManagement = require('azure-arm-authorization');
const resourceGroup = 'resource-group-name';
const subscriptionId = 'your-subscription-id';
msRestAzure.interactiveLogin().then(credentials => {
const client = new authorizationManagement(credentials, subscriptionId);
client.roleAssignments.listForResourceGroup(resourceGroupName).then(result => {
console.log(result);
});
});
另外,请注意,用于这些操作的实际 REST API 是:
角色分配 - 资源组列表
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/roleAssignments?api-version=2015-07-01
类似的 API,接受通用范围(不仅可以使用资源组,还可以使用其他资源)
角色分配 - 范围列表
GET https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleAssignments?api-version=2015-07-01
UPDATE(尝试回答评论中的疑问)
使用上面的代码列出特定资源组的所有角色分配(或角色分配 - 资源组 REST API 列表)。您将返回角色分配的集合,如您的评论所反映的那样。
根据您的问题的屏幕截图,我想这就是您所需要的,因为您选择了“角色分配”选项卡,并且列表显示在 Azure 门户中。
现在,角色分配本身由以下组成:
安全主体 ID(您尝试通过角色授予权限的用户、组、服务主体等)
角色定义 ID(您分配的角色的标识符,例如贡献者、所有者或与此相关的自定义 RBAC 角色)
范围(分配此角色的范围,例如在订阅级别或在特定资源组或资源级别)
这个概念在这里有详细且很好的解释微软文档
为了理解响应 UUID,您将能够找到所有角色定义的列表(以了解其 ID、名称描述等),使用通过节点SDK的角色定义列表或使用角色定义 - 列出 REST API
主体 ID 是用户、组或应用服务主体的 ID。
您的案例中的范围是您尝试查询角色分配的资源组。