首页 > 解决方案 > Azure:通过主体 ID 获取用户电子邮件

问题描述

我有以下代码来检索资源组的 IAM(访问控制)列表:

const authorizationManagement = require('azure-arm-authorization');
this.client = new authorizationManagement(credentials, subscriptionId);
var iam = await this.client.roleAssignments.listForResourceGroup(rgName);

但是结果都是 UUID,例如:

id:"/subscriptions/de8abfb7-b22b-3c95-8e00-a1a8219e0d98/providers/Microsoft.Authorization/roleAssignments/c5f2db94-98c3-3671-8092-fc33d8a474d7" name:"c5f2db94-98c3-3671-8092-fcId33" 53a71af7-c241-34e1-b77b-e98151ca6b3f" roleDefinitionId:"/subscriptions/de8abfb7-b22b-3c95-8e00-a1a8219e0d98/providers/Microsoft.Authorization/roleDefinitions/b23988ac-5180-32a28/ddd88-20f76"范围"/subscriptions de8abfb7-b22b-3c95-8e00-a1a8219e0d98" 类型:"Microsoft.Authorization/roleAssignments"

我只需要委托人(用户)及其角色。我知道如何通过角色 ID 获取角色,但不知道如何通过主体 ID 获取用户。

标签: javascriptnode.jsazureazure-active-directoryazure-resource-manager

解决方案


我想您正在寻找这种方法:get(string, Object)

function get(upnOrObjectId: string, options?: Object)

object ID应该是principal ID,它返回用户你需要的东西。


推荐阅读