Personnaliser les jetons
Cet article vous aide à intégrer la sécurité dans des applications avec des jetons d’ID, des jetons d’accès et des jetons de sécurité à partir de la plateforme d’identités Microsoft. Il décrit les informations que vous pouvez recevoir dans les jetons Microsoft Entra, et comment vous pouvez les personnaliser. Il s’agit du cinquième d’une série d’articles expliquant comment les développeurs de logiciels indépendants (ISV) peuvent créer et optimiser leurs applications pour Microsoft Entra ID. Dans cette série, vous pouvez en apprendre davantage sur ces sujets :
- Microsoft Entra ID pour les développeurs de logiciels indépendants décrit comment utiliser ce service de gestion des identités et des accès basé sur le cloud pour permettre aux employés d’accéder aux ressources avec votre application.
- Établir des applications dans l’écosystème Microsoft Entra ID décrit comment utiliser le centre d’administration Microsoft Entra ou l’API (Application Programming Interface) Microsoft Graph pour inscrire des applications dans un locataire Microsoft Entra ID.
- Authentifier les applications et les utilisateurs décrit comment les applications utilisent Microsoft Entra ID pour authentifier les utilisateurs et les applications.
- Autoriser les applications, les ressources et les charges de travail traite de l’autorisation lorsque des individus interagissent avec et dirigent une application. Dans ce scénario, des API agissent pour le compte d’un utilisateur, et les applications ou les services fonctionnent de manière indépendante.
Les opérations principales pour les applications qui se connectent à Microsoft Entra ID sont la demande et le traitement de jetons. En tant que développeur, vous pouvez personnaliser le jeton envoyé par Microsoft Entra ID à votre API ou votre application d’autorisation déléguée. Vous ne pouvez pas personnaliser les jetons de charge de travail.
Si votre application implémente OpenID Connect (OIDC) et demande des jetons d’ID, vous pouvez personnaliser le jeton d’ID pour votre application. Si vous implémentez une API, vous pouvez personnaliser les jetons d’accès que les applications appelant votre API reçoivent. Il n’est pas possible pour une application de personnaliser les jetons d’accès qu’elle reçoit et qui autorisent une application à accéder à une API.
La principale méthode de personnalisation de jeton pour les éditeurs de logiciels indépendants consiste à ajouter des revendications facultatives aux jetons dans l’inscription de l’application. Les informations de référence sur les revendications facultatives répertorient les revendications facultatives disponibles.
Pour les applications multilocataires, les revendications facultatives sont accessibles à chaque locataire. Vous pouvez configurer vos jetons d’accès d’API de façon à inclure la revendication facultative onprem_sid
, afin d’inclure la revendication d’identité de sécurité locale de l’utilisateur. Bien que vous puissiez configurer une revendication facultative, votre application doit toujours gérer les situations dans lesquelles le jeton n’inclut pas la revendication facultative que vous avez configurée. Par exemple, l’utilisateur peut être un utilisateur « Microsoft Entra ID uniquement » qui n’a pas d’identificateur de sécurité local. Dans ce cas, Microsoft Entra ID n’inclut pas la revendication facultative dans le jeton. Microsoft Entra ID ne retourne pas de revendication avec une valeur vide ("").
La revendication de groupes est une revendication facultative qui nécessite une gestion spéciale. Une application ou une API peut inclure les groupes de sécurité des utilisateurs et les groupes imbriqués dans le jeton, ou inclure les groupes de sécurité et les groupes imbriqués avec des listes de distribution avec la revendication de groupes. Les applications peuvent inclure les rôles d’annuaire d’un utilisateur dans le jeton avec la revendication wids
(rôles à l’échelle du locataire). L’inclusion de tous les groupes et/ou listes de distribution des utilisateurs ne peut entraîner l’absence de tout groupe ou liste de distribution dans le jeton.
Les limites de taille des jetons limitent le nombre total d’entrées dans les groupes à 200 pour les applications OAuth 2.0, 150 pour les applications SAML, et six pour les applications qui utilisent l’octroi implicite dans le cadre d’un flux hybride. Lorsqu’il y a trop de groupes, le jeton a une revendication de dépassement de groupe. Si votre jeton contient une revendication de dépassement de groupe, appelez Microsoft Graph pour obtenir les groupes de l’utilisateur. Étant donné que vous n’avez aucun moyen de savoir quand l’utilisateur est membre d’un trop grand nombre de groupes, veillez à toujours inclure la capacité à appeler Microsoft Graph pour les appartenances aux groupes de l’utilisateur dans votre application. Nous vous recommandons d’utiliser Microsoft Graph plutôt que d’utiliser la revendication de groupes, en raison des exigences de code Microsoft Graph.
Pour éviter le dépassement de groupe, configurez la revendication de groupes de façon à inclure uniquement les groupes auxquels une application a une affectation. Avec cette approche, la revendication de groupes inclut uniquement les groupes affectés à une application ou une API lorsque l’utilisateur est membre du groupe (sans prise en charge des groupes imbriqués). L’utilisateur doit être un membre direct du groupe auquel une application a une affectation.
Une autre manière d’éviter le dépassement de groupe consiste à utiliser des rôles plutôt que des groupes. Vous pouvez configurer des rôles pour votre application ou votre API que vous recevez dans votre jeton. Les administrateurs informatiques peuvent affecter des groupes aux rôles que vous définissez dans un locataire Microsoft Entra ID avec licence P1 ou plus élevée. Après l’affectation, votre jeton inclut une revendication de rôles avec l’application des rôles attribués à l’utilisateur, ou des rôles basés sur l’appartenance aux groupes de l’utilisateur.
Évaluez les compromis pour l’utilisation de groupes ou de rôles. Nous recommandons aux éditeurs de logiciels indépendants d’utiliser des rôles plutôt que des groupes.
Étapes suivantes
- Microsoft Entra ID pour les développeurs de logiciels indépendants décrit comment utiliser ce service de gestion des identités et des accès basé sur le cloud pour permettre aux employés d’accéder aux ressources avec votre application.
- Établir des applications dans l’écosystème Microsoft Entra ID décrit comment utiliser le Centre d’administration Microsoft Entra ou l’API Microsoft Graph pour inscrire des applications dans un locataire Microsoft Entra ID.
- Authentifier les applications et les utilisateurs décrit la façon dont les applications utilisent Microsoft Entra ID pour authentifier les utilisateurs et les applications.
- Autoriser les applications, les ressources et les charges de travail traite de l’autorisation lorsqu’un individu interagit avec et dirige une application, lorsque les API agissent au nom d’un utilisateur et lorsque des applications ou des services fonctionnent de manière indépendante.