通过Microsoft图SDK \ API将用户添加到Azure活动目录中的目录角色

时间:2019-02-13 12:36:31

标签: azure-active-directory microsoft-graph

我已经在dotNet中创建了一个API项目,以便使用SDK从microsoft.graph中获取一些数据。
我设法获取了所有用户和所有组,并看到了每个用户的角色(例如,计费管理员/应用程序管理员等),但是我找不到通过SDK向用户或组更新或更改角色的方法/ API。 我想现在API / SDK不支持此选项。我说的对吗?

2 个答案:

答案 0 :(得分:2)

使用以下方式将成员添加到目录角色is support by Microsoft Graph

POST /directoryRoles/{id}/members/$ref

请注意,此调用需要应用程序范围。

答案 1 :(得分:0)

您可以使用 role-id 或 role-templateid 向目录角色发出 HTTP 请求以添加用户:

POST /directoryRoles/{role-id}/members/$ref 
POST /directoryRoles/roleTemplateId={roleTemplateId}/members/$ref

示例:

POST https://graph.microsoft.com/v1.0/directoryRoles/fe8f10bf-c9c2-47eb-95cb-c26cc85f1830/members/$ref
or 
POST https://graph.microsoft.com/v1.0/directoryRoles/roleTemplateId=88d8e3e3-8f55-4a1e-953a-9b9898b8876b/members/$ref 
Content-type: application/json

{
  "@odata.id": "https://graph.microsoft.com/v1.0/directoryObjects/UserObjectID"
}

您可以使用 C# 将用户添加到目录角色:

GraphServiceClient graphClient = new GraphServiceClient( authProvider );

var directoryObject = new DirectoryObject
{
    Id = "bb165b45-151c-4cf6-9911-cd7188912848"
};

await graphClient.DirectoryRoles["{directoryRole-id}"].Members.References
    .Request()
    .AddAsync(directoryObject);

参考:

Add user to directory role

Directory Role Id's