Obtenir les rôles d’utilisateur d’un client
Obtenez la liste de tous les rôles/autorisations attachés à un compte d’utilisateur. Les variantes incluent l’obtention d’une liste de toutes les autorisations sur tous les comptes d’utilisateur d’un client et l’obtention d’une liste d’utilisateurs disposant d’un rôle donné.
Prerequisites
Informations d’identification, comme décrit dans Authentification auprès de l’Espace partenaires. Ce scénario prend en charge l’authentification avec les informations d’identification de l’application et de l’utilisateur uniquement.
ID du client (
customer-tenant-id
). Si vous ne connaissez pas l’ID du client, vous pouvez le rechercher dans l’Espace de partenaires en sélectionnant l’espace de travail Clients, puis le client dans la liste des clients, puis compte. Dans la page Compte du client, recherchez l’ID Microsoft dans la section Informations sur le compte client. L’ID Microsoft est le même que l’ID de client (customer-tenant-id
).
Rôles GDAP
Vous aurez besoin d’au moins l’un des rôles GDAP suivants :
- Lecteur de répertoire
- Lecteur général
- Administrateur d'utilisateurs
- Administrateur de rôle privilégié
- Enregistreurs de répertoire
C#
Pour récupérer tous les rôles d’annuaire d’un client spécifié, commencez par récupérer l’ID client spécifié. Utilisez ensuite votre collection IAggregatePartner.Customers et appelez la méthode ById(). Appelez ensuite la propriété DirectoryRoles, suivie de la méthode Get() ou GetAsync().
// string selectedCustomerId;
// IAggregatePartner partnerOperations;
var directoryRoles = partnerOperations.Customers.ById(selectedCustomerId).DirectoryRoles.Get();
Exemple : Application de test de console. Projet : Classe d’exemples sdk de l’Espace partenaires : GetCustomerDirectoryRoles.cs
Pour récupérer la liste des utilisateurs clients qui ont un rôle donné, récupérez d’abord l’ID client spécifié et l’ID de rôle d’annuaire spécifiés. Utilisez ensuite votre collection IAggregatePartner.Customers et appelez la méthode ById(). Appelez ensuite la propriété DirectoryRoles, puis byId(), puis la propriété UserMembers, suivie de la méthode Get() ou GetAsync().
// string selectedCustomerId;
// IAggregatePartner partnerOperations;
// string selectedDirectoryRoleId;
var userMembers = partnerOperations.Customers.ById(selectedCustomerId).DirectoryRoles.ById(selectedDirectoryRoleId).UserMembers.Get();
Exemple : Application de test de console. Projet : PartnerSDK.FeatureSamples , classe : GetCustomerDirectoryRoleUserMembers.cs
Demande REST
Syntaxe de la requête
Method | URI de demande |
---|---|
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 |
Paramètre d’URI
Utilisez le paramètre de requête suivant pour identifier le client approprié.
Nom | Type | Obligatoire | Description |
---|---|---|---|
id-locataire-client | guid | O | La valeur est un ID client au format GUID qui permet au revendeur de filtrer les résultats d’un client donné qui appartient au revendeur. |
user-id | guid | N | La valeur est un ID d’utilisateur au format GUID qui appartient à un seul compte d’utilisateur. |
role-id | guid | N | La valeur est un ID de rôle au format GUID qui appartient à un type de rôle. Vous pouvez obtenir ces ID en interrogeant tous les rôles d’annuaire pour un client, sur tous les comptes d’utilisateur. (Le deuxième scénario, ci-dessus). |
En-têtes de demande
Pour plus d’informations, consultez En-têtes REST de l’Espace Partenaires.
Corps de la demande
Exemple de requête
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
Réponse REST
Si elle réussit, cette méthode retourne une liste des rôles associés au compte d’utilisateur donné.
Codes d’erreur et de réussite de la réponse
Chaque réponse est accompagnée d’un code d’état HTTP qui indique la réussite ou l’échec ainsi que des informations de débogage supplémentaires. Utilisez un outil de trace réseau pour lire ce code, le type d’erreur et des paramètres supplémentaires. Pour obtenir la liste complète, consultez Codes d’erreur.
Exemple de réponse
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" }
}