Gestion des utilisateurs dans Microsoft Graph

Vous pouvez utiliser Microsoft Graph pour créer des expériences d’application attrayantes basées sur les utilisateurs et leurs relations avec d’autres objets. Par exemple, leurs relations avec d’autres utilisateurs et groupes, les appartenances aux groupes et les ressources auxquelles ils accèdent, telles que leurs courriers, calendriers, fichiers et rôles d’administration.

Vous pouvez accéder aux utilisateurs via Microsoft Graph de deux façons :

  • Par leur ID ou userPrincipalName, /users/{id} ou /users/{userPrincipalName}
  • à l’aide de l’alias /me pour l’utilisateur connecté, qui est le même que /users/{signed-in user's id} ;

Opérations d’API courantes

Path Description
/me Obtenez les détails de l’utilisateur connecté.
/users Répertorie les utilisateurs de l’organisation.
/users/{id} Obtient un utilisateur spécifique par ID.
/users/{id}/photo/$value Obtient la photo de profil de l’utilisateur.
/users/{id}/manager Obtient le responsable de l’utilisateur.
/users/{id}/messages Répertorie les messages de courrier électronique de l’utilisateur dans sa boîte de réception principale.
/users/{id}/events Répertorie les événements à venir de l’utilisateur dans son calendrier.
/users/{id}/drive Obtient un stockage de fichiers OneDrive de l’utilisateur.
/users/{id}/memberOf Répertorie la liste des groupes dont l’utilisateur est membre.
/users/{id}/joinedTeams Répertorie la liste de Microsoft Teams dont l’utilisateur est un membre direct.

Autorisation et privilèges

Microsoft Graph prend en charge l’utilisation des autorisations déléguées et des autorisations d’application pour gérer les opérations utilisateur. Pour plus d’informations, consultez Autorisations déléguées et d’application et la documentation de référence d’API correspondante pour connaître les autorisations requises pour chaque opération.

Certaines opérations utilisateur peuvent être effectuées par l’utilisateur connecté par rapport à ses propres détails. Pour ces opérations, l’utilisateur peut accorder à l’application les autorisations Microsoft Graph pour accéder à ses propres détails. Les autorisations User.ReadBasic.All, User.Read et User.ReadWrite sont de telles autorisations.

D’autres opérations, notamment la gestion des détails pour d’autres utilisateurs, nécessitent des privilèges d’administration accordés via d’autres autorisations Microsoft Graph et des rôles Microsoft Entra. En outre, certaines opérations sont considérées comme sensibles et seuls des administrateurs limités peuvent les effectuer. Pour plus d’informations, consultez les sections Qui peut réinitialiser les mots de passe et Qui peut mettre à jour les attributs sensibles .

Autorisations utilisateur par défaut dans Microsoft Entra ID

Il existe deux types d’utilisateurs dans Microsoft Entra ID : les membres et les invités. Initialement, les utilisateurs membres sont créés en mode natif dans le locataire. Les utilisateurs invités rejoignent le locataire en échangeant leur invitation et en accédant au locataire en tant qu’invités B2B collaboration.

Le jeu d’autorisations par défaut varie selon que l’utilisateur est membre ou invité. Pour plus d’informations sur ce que les utilisateurs membres et les utilisateurs invités peuvent faire, consultez Quelles sont les autorisations utilisateur par défaut dans Microsoft Entra ID ?.

Autorisations utilisateur par défaut dans les locataires clients

Il existe également des autorisations par défaut pour les clients dans Microsoft Entra ID pour les clients. Le tableau suivant indique les opérations d’API qui permettent aux clients de gérer leur propre profil.

L’ID utilisateur ou userPrincipalName est toujours celui de l’utilisateur connecté.

Opération utilisateur Opération d’API Autorisations requises
Lire le profil GET /me ou GET /users/{id or userPrincipalName} User.Read
Mettre à jour le profil PATCH /me ou PATCH /users/{id or userPrincipalName}

Les propriétés suivantes peuvent être mises à jour : city, country, displayName, givenName, jobTitle, postalCode, state, streetAddress, surname et preferredLanguage
User.ReadWrite
Modifier le mot de passe POST /me/changePassword Directory.AccessAsUser.All

Qui peut réinitialiser les mots de passe

Dans le tableau suivant, les colonnes répertorient les rôles qui peuvent réinitialiser les mots de passe et invalider les jetons d’actualisation. Les lignes répertorient les rôles pour lesquels leur mot de passe peut être réinitialisé. Par exemple, un administrateur de mots de passe peut réinitialiser le mot de passe pour les lecteurs d’annuaire, l’inviteur d’invités, l’administrateur de mot de passe et les utilisateurs sans rôle d’administrateur. Si un utilisateur se voit attribuer un autre rôle, l’administrateur de mot de passe ne peut pas réinitialiser son mot de passe.

Le tableau suivant concerne les rôles attribués à l’étendue d’un locataire. Pour les rôles attribués dans l’étendue d’une unité administrative, d’autres restrictions s’appliquent.

Rôle auquel le mot de passe peut être réinitialisé Administration de mot de passe Administration du support technique Authentification Administration Administration de l’utilisateur Privileged Auth Administration Administrateur global
Authentification Administration      
Lecteurs d’annuaire
Administrateur global         ✅*
Groupes Administration      
Inviteur d’invités
Administration du support technique    
Lecteur du Centre de messages  
Administration de mot de passe
Privileged Auth Administration        
Administration de rôle privilégié        
Lecteur de rapports  
Utilisateur
(aucun rôle d’administrateur)
Utilisateur
(aucun rôle d’administrateur, mais membre ou propriétaire d’un groupe assignable à un rôle
       
Utilisateur avec un rôle limité à une unité administrative de gestion restreinte        
Administration de l’utilisateur      
Lecteur Rapports de synthèse de l’utilisation  
Tous les rôles personnalisés

La possibilité de réinitialiser un mot de passe inclut la possibilité de mettre à jour les propriétés sensibles suivantes requises pour la réinitialisation de mot de passe en libre-service :

  • businessPhones
  • mobilePhone
  • otherMails

Qui peut effectuer des actions sensibles

Certains administrateurs peuvent effectuer les actions sensibles suivantes pour certains utilisateurs. Tous les utilisateurs peuvent lire les propriétés sensibles.

Action sensible Nom de la propriété sensible
Désactiver ou activer des utilisateurs accountEnabled
Mettre à jour le téléphone professionnel businessPhones
Mettre à jour le téléphone mobile mobilePhone
Mettre à jour l’ID immuable local onPremisesImmutableId
Mettre à jour d’autres e-mails otherMails
Mettre à jour le profil de mot de passe passwordProfile
Mettre à jour le nom d’utilisateur principal userPrincipalName
Supprimer ou restaurer des utilisateurs Non applicable

Dans le tableau suivant, les colonnes répertorient les rôles qui peuvent effectuer des actions sensibles. Les lignes répertorient les rôles pour lesquels l’action sensible peut être effectuée.

Le tableau suivant concerne les rôles attribués à l’étendue d’un locataire. Pour les rôles attribués dans l’étendue d’une unité administrative, d’autres restrictions s’appliquent.

Rôle sur lequel une action sensible peut être effectuée Authentification Administration Administration de l’utilisateur Privileged Auth Administration Administrateur global
Authentification Administration  
Lecteurs d’annuaire
Administrateur global    
Groupes Administration  
Inviteur d’invités
Administration du support technique  
Lecteur du Centre de messages
Administration de mot de passe
Privileged Auth Administration    
Administration de rôle privilégié    
Lecteur de rapports
Utilisateur
(aucun rôle d’administrateur)
Utilisateur
(aucun rôle d’administrateur, mais membre ou propriétaire d’un groupe assignable à un rôle)
   
Utilisateur avec un rôle limité à une unité administrative de gestion restreinte    
Administration de l’utilisateur  
Lecteur Rapports de synthèse de l’utilisation
Tous les rôles personnalisés

Propriétés courantes

Les éléments suivants représentent l’ensemble par défaut des propriétés qui sont renvoyées lorsque vous obtenez un utilisateur ou répertoriez des utilisateurs. Il s’agit d’un sous-ensemble de toutes les propriétés disponibles. Pour obtenir davantage de propriétés utilisateur, utilisez le paramètre de requête $select. Découvrez comment utiliser le paramètre $requête Sélection et consulter les propriétés qui prennent en charge le paramètre $requête Sélection.

Propriété Description
id Identificateur unique de l’utilisateur.
businessPhones Numéros de téléphone de l’utilisateur.
displayName Nom affiché dans le carnet d’adresses de l’utilisateur.
givenName Prénom de l’utilisateur.
jobTitle Fonction de l’utilisateur.
mail Adresse de messagerie de l’utilisateur.
mobilePhone Numéro de téléphone portable de l’utilisateur.
officeLocation Emplacement physique du bureau de l’utilisateur.
preferredLanguage Langue préférée de l’utilisateur.
surname Nom de l’utilisateur.
userPrincipalName Nom principal de l’utilisateur.

Pour plus d’informations et pour obtenir une liste de toutes les propriétés, consultez l’objet user.

Limites de recherche de groupes et d’utilisateurs pour les utilisateurs invités dans les organisations

Les fonctions de recherche de groupes et d’utilisateurs permettent à l’application de rechercher un utilisateur ou un groupe dans le répertoire d’une organisation en lançant des requêtes dans les ressources /users ou /groups (par exemple, https://graph.microsoft.com/v1.0/users). Les administrateurs et les utilisateurs qui sont membres disposent de cette fonctionnalité ; Toutefois, ce n’est pas le cas des utilisateurs invités.

Si l’utilisateur connecté est un utilisateur invité, selon les autorisations dont une application bénéficie, il peut lire le profil d’un utilisateur ou d’un groupe spécifique (par exemple, https://graph.microsoft.com/v1.0/users/241f22af-f634-44c0-9a15-c8cd2cea5531). Toutefois, il ne peut pas exécuter des requêtes dans les ressources /users ou /groups qui renvoient potentiellement plusieurs ressources.

Avec les autorisations appropriées, l’application peut lire les profils des utilisateurs ou des groupes qu’elle obtient en suivant les liens dans les propriétés de navigation. Par exemple, /users/{id}/directReports ou /groups/{id}/members.

Propriétés non retournées par défaut

Certaines propriétés de l’objet utilisateur ne sont pas retournées par défaut et doivent être spécifiées dans un $select paramètre de requête. Par exemple, anniversaire et compétences. Reportez-vous à la table des propriétés de l’entité utilisateur pour identifier les propriétés qui sont retournées uniquement lorsque vous $select.

Propriétés stockées en dehors du magasin de données main

Bien que les données des ressources utilisateur soient principalement stockées dans Microsoft Entra ID, certaines de ses propriétés, telles que les compétences, sont stockées dans SharePoint Online. Dans la plupart des cas, vous ne pouvez pas spécifier ces propriétés dans le même corps de demande De création ou de mise à jour que les autres propriétés utilisateur.

Les propriétés stockées en dehors du magasin de données main ne sont pas non plus prises en charge dans le cadre du suivi des modifications. Par conséquent, une modification de l’une de ces propriétés n’entraîne pas l’affichage d’un objet dans la réponse à la requête delta.