获取Node.js中资源组的访问控制列表(IAM)

时间:2019-01-01 10:15:23

标签: javascript node.js azure azure-active-directory azure-resource-manager

我正在使用Node.js与Azure进行交互,例如,创建资源组:

const { ResourceManagementClient } = require('azure-arm-resource');

createResourceGroup(location, groupName) {
        const groupParameters = {
            location: location,
        };
        return this.resourceClient.resourceGroups.createOrUpdate(groupName, groupParameters);
    }

如何使用这些天蓝色的臂模块检索资源组的访问控制(IAM)列表?

我的意思是这个清单: enter image description here

1 个答案:

答案 0 :(得分:2)

您将需要使用Azure Authorization Modules for Node.js

这是基于Microsoft文档的示例代码

安装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

更新(尝试回答评论中的查询)

使用上面的代码列出特定资源组的所有角色分配(或角色分配-资源组REST API的列表)..您将返回角色分配的集合,就像您的评论所反映的那样。

我想这是根据您的问题屏幕快照所需要的,因为您已选择“角色分配”选项卡,并且该列表显示在下面的Azure Portal中。

现在,角色分配本身是由以下人员组成的:

  1. 安全主体ID(您要通过角色向其授予权限的用户,组,服务主体等)

  2. 角色定义ID(您分配的角色的标识符,例如该角色的贡献者,所有者或自定义RBAC角色)

  3. 范围(分配此角色的范围,例如在订阅级别或在特定资源组或资源级别)

Microsoft Docs

上对此概念进行了详细的解释。

为了便于理解响应UUID,您可以使用Role Definitions List through node SDK或使用Role Definitions - List REST API查找所有角色定义的列表(以了解其ID,名称描述等< / p>

主体ID是用户,组或应用程序服务主体的ID。

在您的情况下,范围是您要查询其角色分配的资源组。

enter image description here