您需要使用Azure Authorization Modules for Node.js
这是基于 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 是:
Role Assignments - List For Resource Group
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/roleAssignments?api-version=2015-07-01
类似的 API,它接受一个通用范围(不仅适用于资源组,还适用于其他资源)
Role Assignments - List For Scope
GET https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleAssignments?api-version=2015-07-01
UPDATE(试图回答来自 cmets 的查询)
使用上面的代码列出特定资源组的所有角色分配(或角色分配 - 资源组 REST API 的列表)。您将收到一组角色分配,就像您的 cmets 反映的那样。
根据您问题的屏幕截图,我想这就是您所需要的,因为您选择了“角色分配”选项卡,并且该列表显示在下面的 Azure 门户中。
现在角色分配本身是由以下组成的:
您尝试通过角色授予权限的安全主体 ID(用户、组、服务主体等)
角色定义 ID(您分配的角色的标识符,例如贡献者、所有者或自定义 RBAC 角色)
范围(分配此角色的范围,例如订阅级别或特定资源组或资源级别)
这个概念在Microsoft Docs上得到了详细的解释和很好的解释
为了理解响应 UUID,您将能够使用 Role Definitions List through node SDK 或使用 Role Definitions - List REST API 找到所有角色定义的列表(了解其 ID、名称描述等)
Principal ID 是用户、组或应用服务主体的 ID。
在您的情况下,范围是您尝试为其查询角色分配的资源组。