Gestion des utilisateurs dans Microsoft Graph
Importante
Les API sous la version /beta
dans Microsoft Graph sont susceptibles d’être modifiées. L’utilisation de ces API dans des applications de production n’est pas prise en charge. Pour déterminer si une API est disponible dans v1.0, utilisez le sélecteur Version .
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 externes
Il existe également des autorisations par défaut pour les clients dans Microsoft Entra ID dans les locataires externes. 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 |
Profil de base des utilisateurs
L’autorisation User.ReadBasic.All limite l’accès de l’application à la lecture d’un ensemble limité de propriétés pour les comptes professionnels ou scolaires d’autres utilisateurs. Ce profil de base inclut uniquement les propriétés suivantes :
- displayName
- givenName
- id
- Photo
- securityIdentifier
- surname
- userPrincipalName
En outre, les autorisations spécifiques au scénario suivantes permettent également aux applications de lire le profil utilisateur de base qui contient principalement des propriétés liées à l’identificateur : User-Mail.ReadWrite.All, User-PasswordProfile.ReadWrite.All, User-Phone.ReadWrite.All, User-LifeCycleInfo.Read.All, User-LifeCycleInfo.ReadWrite.All.
Actions sensibles
Les actions suivantes sur l’objet utilisateur sont considérées comme sensibles et peuvent être verrouillées uniquement pour des administrateurs spécifiques. 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 |
Qui peut effectuer des actions sensibles
Certains administrateurs peuvent effectuer les actions sensibles précédentes pour certains utilisateurs.
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 | ✅ | ✅ |
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
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.
Les propriétés suivantes sur l’objet utilisateur sont stockées en dehors du magasin de données main : signInActivity, cloudLicensing, mailboxSettings, deviceEnrollmentLimit, print, aboutMe, birthday, hireDate, interests, mySite, pastProjects, preferredName, responsibilities, schools, skills.