Compartilhar via


Obter as funções de usuário para um cliente

Obtenha uma lista de todas as funções/permissões anexadas a uma conta de usuário. As variações incluem obter uma lista de todas as permissões em todas as contas de usuário de um cliente e obter uma lista de usuários que têm uma determinada função.

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á de pelo menos uma das seguintes funções GDAP:

  • Leitor de Diretório
  • Leitor global
  • Administrador de usuários
  • Administrador de função com privilégios
  • Gravadores de diretório

C#

Para recuperar todas as funções de diretório de um cliente especificado, primeiro recupere a ID do cliente especificada. Em seguida, use sua coleção IAggregatePartner.Customers e chame o método ById(). Em seguida, chame a propriedade DirectoryRoles, seguida pelo método Get() ou GetAsync().

// string selectedCustomerId;
// IAggregatePartner partnerOperations;

var directoryRoles = partnerOperations.Customers.ById(selectedCustomerId).DirectoryRoles.Get();

Exemplo: Aplicativo de teste de console. Projeto: Exemplos de SDK do Partner Center Classe: GetCustomerDirectoryRoles.cs

Para recuperar uma lista de usuários do cliente que têm uma determinada função, primeiro recupere a ID do cliente especificada e a ID da função de diretório. Em seguida, use sua coleção IAggregatePartner.Customers e chame o método ById(). Em seguida, chame a propriedade DirectoryRoles, o método ById() e, em seguida, a propriedade UserMembers, seguida pelo método Get() ou GetAsync().

// string selectedCustomerId;
// IAggregatePartner partnerOperations;
// string selectedDirectoryRoleId;

var userMembers = partnerOperations.Customers.ById(selectedCustomerId).DirectoryRoles.ById(selectedDirectoryRoleId).UserMembers.Get();

Exemplo: Aplicativo de teste de console. Projeto: PartnerSDK.FeatureSamples Classe: GetCustomerDirectoryRoleUserMembers.cs

Solicitação REST

Sintaxe da solicitação

Método URI da solicitação
GET {baseURL}/v1/customers/{customer-tenant-id}/users/{user-id}/directoryroles HTTP/1.1
GET {baseURL}/v1/customers/{customer-tenant-id}/directoryroles HTTP/1.1
GET {baseURL}/v1/customers/{customer-tenant-id}/directoryroles/{role-ID}/usermembers

Parâmetro do URI

Use o parâmetro de consulta a seguir para identificar o cliente correto.

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 usuário guid N O valor é um ID de usuário formatado em GUID que pertence a uma única conta de usuário.
ID de função guid N O valor é um ID de função formatado por GUID que pertence a um tipo de função. Você pode obter esses IDs consultando todas as funções de diretório de um cliente, em todas as contas de usuário. (O segundo cenário, acima).

Cabeçalhos de solicitação

Para obter mais informações, confira Cabeçalhos REST do Partner Center.

Corpo da solicitação

Exemplo de solicitação

GET https://api.partnercenter.microsoft.com/v1/customers/<customer-tenant-id>/users/<user-id>/directoryroles HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: b1317092-f087-471e-a637-f66523b2b94c
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd

Resposta REST

Se bem-sucedido, esse método retorna uma lista das funções associadas à conta de usuário especificada.

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.

Exemplo de resposta

HTTP/1.1 200 OK
Content-Length: 31942
Content-Type: application/json
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: b1317092-f087-471e-a637-f66523b2b94c
Date: June 24 2016 22:00:25 PST

{
      "totalCount": 2,
      "items": [
        {
          "name": "Helpdesk Administrator",
          "id": "729827e3-9c14-49f7-bb1b-9608f156bbb8",
          "attributes": { "objectType": "DirectoryRole" }
        },
        {
          "name": "User Account Administrator",
          "id": "fe930be7-5e62-47db-91af-98c3a49a38b1",
          "attributes": { "objectType": "DirectoryRole" }
        }
      ],
      "attributes": { "objectType": "Collection" }
}