设置客户的用户角色

在客户帐户中,有一组目录角色。 可以将用户帐户分配给这些角色。

先决条件

  • 合作伙伴中心身份验证中所述的凭据。 此方案只支持使用应用凭据和用户凭据进行身份验证。

  • 客户 ID (customer-tenant-id)。 如果不知道客户的 ID,可以通过选择“客户”工作区,然后从客户列表中选择客户,然后选择“帐户”,在合作伙伴中心查找该 ID。 在客户的“帐户”页上,在“客户帐户信息”部分查找 Microsoft ID Microsoft ID 与客户 ID (customer-tenant-id) 相同。

GDAP 角色

需要具有以下 GDAP 角色:

  • 特权角色管理员

C#

若要向客户用户分配目录角色,请使用相关用户详细信息创建新的 UserMember 。 然后,使用指定的客户 ID 调用 IAggregatePartner.Customers.ById 方法以标识客户。 在此处,将 DirectoryRoles.ById 方法与目录角色 ID 一起使用来指定角色。 然后,访问 UserMembers 集合,并使用 Create 方法将新用户成员添加到分配给该角色的用户成员集合。

// UserMember createdUser;
// IAggregatePartner partnerOperations;
// Customer selectedCustomer;
// IDirectoryRole selectedRole;

// Create the new user member.
UserMember userMemberToAdd = new UserMember()
{
    UserPrincipalName = createdUser.UserPrincipalName,
    DisplayName = createdUser.DisplayName,
    Id = createdUser.Id
};

// Add the new user member to the role.
var userMemberAdded = partnerOperations.Customers.ById(selectedCustomer.Id).DirectoryRoles.ById(selectedRole.Id).UserMembers.Create(userMemberToAdd);

示例控制台测试应用项目:合作伙伴中心 SDK 示例 :AddUserMemberToDirectoryRole.cs

REST 请求

请求语法

方法 请求 URI
POST {baseURL}/v1/customers/{customer-tenant-id}/directoryroles/{role-ID}/usermembers HTTP/1.1

URI 参数

使用以下 URI 参数标识正确的客户和角色。 若要标识要向其分配角色的用户,请在请求正文中提供标识信息。

名称 类型 必需 说明
customer-tenant-id guid Y 该值是 GUID 格式 的客户租户 ID ,允许经销商筛选属于经销商的给定客户的结果。
role-id guid Y 该值是一个 GUID 格式 的角色 ID ,用于标识要分配给用户的角色。

请求标头

有关详细信息,请参阅合作伙伴中心 REST 标头

请求正文

下表描述了请求正文中的必需属性。

名称 类型 必需 说明
Id 字符串 Y 要添加到角色的用户的 ID。
DisplayName 字符串 Y 用户的友好显示名称。
UserPrincipalName 字符串 Y 用户主体的名称。
特性 对象 Y 包含“ObjectType”:“UserMember”

请求示例

POST https://api.partnercenter.microsoft.com/v1/customers/4d3cf487-70f4-4e1e-9ff1-b2bfce8d9f04/directoryroles/f023fd81-a637-4b56-95fd-791ac0226033/usermembers HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: a56cb2e5-a156-4f68-9155-57ffe2b93d18
MS-CorrelationId: 90bda268-7929-4ad6-be01-89c5af5fc504
X-Locale: en-US
Content-Type: application/json
Host: api.partnercenter.microsoft.com
Content-Length: 180
Expect: 100-continue

{
    "Id": "a9ef48bb-8758-4590-a312-d4a47bfaded4",
    "DisplayName": "Daniel Tsai",
    "UserPrincipalName": "Daniel@dtdemocspcustomer005.onmicrosoft.com",
    "Attributes": {
        "ObjectType": "UserMember"
    }
}

REST 响应

此方法返回在用户成功分配角色时附加的角色 ID 的用户帐户。

响应的成功和错误代码

每个响应都带有一个 HTTP 状态代码,用于指示成功或失败以及其他调试信息。 请使用网络跟踪工具来读取此代码、错误类型和其他参数。 如需完整列表,请参阅合作伙伴中心 REST 错误代码

响应示例

HTTP/1.1 201 Created
Content-Length: 231
Content-Type: application/json; charset=utf-8
MS-CorrelationId: 90bda268-7929-4ad6-be01-89c5af5fc504
MS-RequestId: a56cb2e5-a156-4f68-9155-57ffe2b93d18
MS-CV: aia94+gnrEeQqkGr.0
MS-ServerId: 101112202
Date: Tue, 20 Dec 2016 23:36:55 GMT

{
    "displayName": "Daniel Tsai",
    "userPrincipalName": "Daniel@dtdemocspcustomer005.onmicrosoft.com",
    "roleId": "f023fd81-a637-4b56-95fd-791ac0226033",
    "id": "a9ef48bb-8758-4590-a312-d4a47bfaded4",
    "attributes": {
        "objectType": "UserMember"
    }
}