Condividi tramite


Ottenere i ruoli utente per un cliente

Ottenere un elenco di tutti i ruoli/autorizzazioni associati a un account utente. Le varianti includono l'acquisizione di un elenco di tutte le autorizzazioni per tutti gli account utente per un cliente e il recupero di un elenco di utenti con un ruolo specifico.

Prerequisiti

  • Credenziali descritte in Autenticazione del Centro per i partner. Questo scenario supporta l'autenticazione solo con le credenziali app + utente.

  • ID cliente (customer-tenant-id). Se non si conosce l'ID del cliente, è possibile cercarlo nel Centro per i partner selezionando l'area di lavoro Clienti , quindi il cliente dall'elenco dei clienti, quindi Account. Nella pagina Account del cliente cercare l'ID Microsoft nella sezione Informazioni sull'account del cliente. L'ID Microsoft corrisponde all'ID del cliente (customer-tenant-id).

Ruoli GDAP

Sono necessari almeno uno dei ruoli GDAP seguenti:

  • Ruolo con autorizzazioni di lettura della directory
  • Ruolo con autorizzazioni di lettura globali
  • Amministratore utenti
  • Amministratore ruolo con privilegi
  • Ruolo con autorizzazioni di scrittura nella directory

C#

Per recuperare tutti i ruoli della directory per un cliente specificato, recuperare prima di tutto l'ID cliente specificato. Usare quindi la raccolta IAggregatePartner.Customers e chiamare il metodo ById(). Chiamare quindi la proprietà DirectoryRoles, seguita dal metodo Get() o GetAsync().

// string selectedCustomerId;
// IAggregatePartner partnerOperations;

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

Esempio: App di test della console. Project: Partner Center SDK Samples Class: GetCustomerDirectoryRoles.cs

Per recuperare un elenco di utenti dei clienti con un determinato ruolo, recuperare prima di tutto l'ID cliente specificato e l'ID del ruolo della directory. Usare quindi la raccolta IAggregatePartner.Customers e chiamare il metodo ById(). Chiamare quindi la proprietà DirectoryRoles, quindi il metodo ById(), quindi la proprietà UserMembers, seguita dal metodo Get() o GetAsync().

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

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

Esempio: App di test della console. Project: PartnerSDK.FeatureSamples Class: GetCustomerDirectoryRoleUserMembers.cs

Richiesta REST

Sintassi della richiesta

Metodo URI della richiesta
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

Parametro URI

Usare il parametro di query seguente per identificare il cliente corretto.

Nome Digita Obbligatorio Descrizione
customer-tenant-id guid Y Il valore è un GUID formattato customer-tenant-id che consente al rivenditore di filtrare i risultati per un determinato cliente appartenente al rivenditore.
user-id guid N Il valore è un ID utente formattato con GUID che appartiene a un singolo account utente.
role-id guid N Il valore è un ID ruolo formattato con GUID che appartiene a un tipo di ruolo. È possibile ottenere questi ID eseguendo una query di tutti i ruoli della directory per un cliente, in tutti gli account utente. (Il secondo scenario, sopra).

Intestazioni della richiesta

Per altre informazioni, vedi Intestazioni REST del Centro per i partner.

Corpo della richiesta

Esempio di richiesta

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

Risposta REST

In caso di esito positivo, questo metodo restituisce un elenco dei ruoli associati all'account utente specificato.

Codici di errore e di esito della risposta

Ogni risposta viene fornita con un codice di stato HTTP che ne indica l'esito e con informazioni di debug aggiuntive. Usa uno strumento di traccia di rete per leggere il codice, il tipo di errore e parametri aggiuntivi. Per l'elenco completo, vedi Codici di errore.

Risposta di esempio

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