设置客户的用户角色
在客户帐户中,有一组目录角色。 可以将用户帐户分配给这些角色。
先决条件
合作伙伴中心身份验证中所述的凭据。 此方案只支持使用应用凭据和用户凭据进行身份验证。
客户 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"
}
}
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈