Definir as funções de usuário para um cliente
Em uma conta de cliente, há um conjunto de funções de diretório. Você pode atribuir contas de usuário a essas funções.
Pré-requisitos
Credenciais, conforme descrito em Autenticação do Partner Center. Este cenário dá suporte somente à autenticação com credenciais de aplicativo + de usuário.
Uma ID do cliente (
customer-tenant-id
). Se você não souber a ID do cliente, poderá procurá-la no Partner Center selecionando o espaço de trabalho Clientes, o cliente na lista de clientes e, em seguida, Conta. Na página Conta do cliente, procure a ID da Microsoft na seção Informações da Conta do Cliente. A ID da Microsoft é igual à ID do cliente (customer-tenant-id
).
Funções GDAP
Você precisará da seguinte função GDAP:
- Administrador de Função Privilegiada
C#
Para atribuir uma função de diretório a um usuário do cliente, crie um novo UserMember com os detalhes relevantes do usuário. Em seguida, chame o método IAggregatePartner.Customers.ById com a ID do cliente especificada para identificar o cliente. A partir daí, use o método DirectoryRoles.ById com a ID da função de diretório para especificar a função. Em seguida, acesse a coleção UserMembers e use o método Create para adicionar o novo membro do usuário à coleção de membros do usuário atribuídos a essa função.
// 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);
Exemplo: Aplicativo de teste de console. Projeto: Exemplos de SDK do Partner Center Classe: AddUserMemberToDirectoryRole.cs
Solicitação REST
Sintaxe da solicitação
Método | URI da solicitação |
---|---|
POST | {baseURL}/v1/customers/{customer-tenant-id}/directoryroles/{role-ID}/usermembers HTTP/1.1 |
Parâmetro do URI
Use os seguintes parâmetros de URI para identificar o cliente e a função corretos. Para identificar o usuário a quem atribuir a função, forneça as informações de identificação no corpo da solicitação.
Nome | Type | Obrigatório | Descrição |
---|---|---|---|
id de locatário do cliente | guid | S | O valor é um ID de cliente-locatário formatado por GUID que permite ao revendedor filtrar os resultados de um determinado cliente que pertence ao revendedor. |
ID de função | guid | S | O valor é um ID de função formatado por GUID que identifica a função a ser atribuída ao usuário. |
Cabeçalhos de solicitação
Para obter mais informações, confira Cabeçalhos REST do Partner Center.
Corpo da solicitação
Esta tabela descreve as propriedades necessárias no corpo da solicitação.
Nome | Type | Obrigatório | Descrição |
---|---|---|---|
Id | cadeia de caracteres | S | A ID do usuário a ser adicionado à função. |
DisplayName | cadeia de caracteres | S | O nome de exibição amigável do usuário. |
UserPrincipalName | cadeia de caracteres | S | O nome do principal do usuário. |
Atributos | object | S | Contém "ObjectType":"UserMember" |
Exemplo de solicitação
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"
}
}
Resposta REST
Esse método retorna a conta de usuário com a ID de função anexada quando o usuário é atribuído com êxito a função.
Códigos de êxito e de erro de resposta
Cada resposta vem com um código de status HTTP que indica êxito ou falha e informações de depuração adicionais. Use uma ferramenta de rastreamento de rede para ler esse código, o tipo de erro e os parâmetros adicionais. Para obter a lista completa, confira Códigos de erro REST do Partner Center.
Exemplo de resposta
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"
}
}
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de