Настройка ролей пользователя для клиента
В учетной записи клиента есть набор ролей каталога. Учетные записи пользователей можно назначить этим ролям.
Предварительные условия
Учетные данные, описанные в статье о проверке подлинности в Центре партнеров. Этот сценарий поддерживает только проверку подлинности с использованием учетных данных приложений и пользователей.
Идентификатор клиента (
customer-tenant-id
). Если вы не знаете идентификатор клиента, его можно найти в Центре партнеров, выбрав рабочую область "Клиенты" , затем клиент из списка клиентов, а затем учетная запись. На странице "Учетная запись клиента" найдите идентификатор Майкрософт в разделе "Сведения о учетной записи клиента". Идентификатор Майкрософт совпадает с идентификатором клиента (customer-tenant-id
).
Роли GDAP
Вам понадобится следующая роль GDAP:
- Администратор привилегированных ролей
C#
Чтобы назначить роль каталога пользователю клиента, создайте новый UserMember с соответствующими сведениями о пользователе. Затем вызовите метод IAggregatePartner.Customers.ById с указанным идентификатором клиента, чтобы определить клиента. Затем используйте метод DirectoryRoles.ById с идентификатором роли каталога, чтобы указать роль. Затем перейдите к коллекции 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 для определения нужного клиента и роли. Чтобы определить пользователя, которому нужно назначить роль, укажите сведения об идентификации в тексте запроса.
Имя | Тип | Обязательное поле | Description |
---|---|---|---|
customer-tenant-id | guid | Y | Это значение — идентификатор GUID, отформатированный клиентом клиента , который позволяет торговому посреднику фильтровать результаты для данного клиента, который принадлежит торговому посреднику. |
role-id | guid | Y | Это значение представляет собой идентификатор идентификатора роли в формате GUID, который определяет роль, которую нужно назначить пользователю. |
Заголовки запросов
Дополнительные сведения см. в статье о заголовках REST Центра партнеров.
Текст запроса
В этой таблице описываются необходимые свойства в тексте запроса.
Имя | Тип | Обязательное поле | Описание |
---|---|---|---|
Id | string | Y | Идентификатор пользователя, добавляемого в роль. |
DisplayName | string | Y | Понятное отображаемое имя пользователя. |
UserPrincipalName | string | Y | Имя субъекта-пользователя. |
Атрибуты | object | 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
Этот метод возвращает учетную запись пользователя с идентификатором роли, присоединенным при успешном назначении роли.
Коды успешного выполнения и ошибок в ответе
Каждый ответ сопровождается кодом состояния 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 Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по