Partager via


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: 8a53b025-d5be-4d98-ab20-229d1813de76

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: 8a53b025-d5be-4d98-ab20-229d1813de76
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" }
}