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