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"
    }
}