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