ajouter des rôles d’application dans votre application et les recevoir dans le jeton

Le contrôle d’accès en fonction du rôle (RBAC) est un mécanisme populaire pour appliquer l’autorisation dans des applications. RBAC permet aux administrateurs d’accorder des autorisations aux rôles plutôt qu’à des utilisateurs ou groupes spécifiques. L’administrateur peut alors attribuer des rôles aux différents utilisateurs et groupes pour contrôler l’accès au contenu et aux fonctionnalités.

En utilisant le RBAC avec des rôles d’application et des revendications de rôle, les développeurs peuvent mettre en place des autorisations en toute sécurité dans leurs applications sans beaucoup d’efforts.

Une autre approche consiste à utiliser des groupes Microsoft Entra et des revendications de groupe, comme indiqué dans l’exemple de code active-directory-aspnetcore-webapp-openidconnect-v2 sur GitHub. Les groupes Microsoft Entra et les rôles d’application ne sont pas mutuellement exclusifs et peuvent être utilisés ensemble pour offrir un contrôle d’accès encore plus précis.

Déclarer des rôles pour une application

Vous définissez les rôles d'application à l'aide du centre d'administration Microsoft Entra pendant le processus d'inscription de l'application. Les rôles d’application sont définis sur une inscription d’application qui représente un service, une application ou une API. Quand un utilisateur se connecte à l’application, Microsoft Entra ID émet une revendication roles pour chaque rôle qui a été octroyé à l’utilisateur ou au principal de service. Cela peut être utilisé pour implémenter l’autorisation basée sur la revendication. Les rôles d’application peuvent être affectés à un utilisateur ou à un groupe d’utilisateurs. Les rôles d’application peuvent également être affectés au principal du service pour une autre application, ou au principal du service pour une identité managée.

Actuellement, si vous ajoutez un principal de service à un groupe, puis affectez un rôle d’application à ce groupe, Microsoft Entra ID n’ajoute pas la revendication roles aux jetons qu’il émet.

Les rôles d’application sont déclarés à l’aide de l’interface utilisateur des rôles d’application dans le centre d’administration Microsoft Entra :

Le nombre de rôles que vous ajoutez est compté pour les limites définies pour un manifeste d’application par Microsoft Entra ID. Pour plus d’informations sur ces limites, consultez la section Limites du manifeste de Référence du manifeste d’application Microsoft Entra.

Interface utilisateur des rôles d'application

Conseil

Les étapes décrites dans cet article peuvent varier légèrement en fonction du portail de départ.

Pour créer un rôle d'application à l'aide de l'interface utilisateur du centre d'administration Microsoft Entra :

  1. Connectez-vous au Centre d’administration de Microsoft Entra au minimum en tant qu’Administrateur d’application cloud.

  2. Si vous avez accès à plusieurs locataires, utilisez l'icône Paramètres dans le menu supérieur pour basculer vers le locataire contenant l'enregistrement de l'application à partir du menu Annuaires + souscriptions.

  3. Accédez à Inscriptions>d’applications d’>applications d’identité, puis sélectionnez l’application dans laquelle vous souhaitez définir des rôles d’application.

  4. Sous gérer, sélectionnez Rôles d'application, puis sélectionnez Créer un rôle d'application.

    An app registration's app roles pane in the Azure portal

  5. Dans le volet Créer un rôle d’application , entrez les paramètres du rôle. Le tableau qui suit l’image décrit chaque réglage et leurs paramètres.

    An app registration's app roles create context pane in the Azure portal

    Champ Description Exemple
    Nom complet Nom d'affichage du rôle d’application qui apparaît lors du consentement de l'administrateur et de l'affectation de l'application. Cette valeur peut contenir des espaces. Survey Writer
    Types de membres autorisés Spécifie si ce rôle d’application peut être attribué aux utilisateurs, aux applications ou aux deux.

    Lorsqu’ils sont disponibles pour applications, les rôles d’application s’affichent en tant que permissions d’application sous la section Gérer> Autorisations d’API > Ajouter une autorisation > Mes API > Choisir une API > Permissions d’application lors de l’inscription d’une application.
    Users/Groups
    Valeur Spécifie la valeur de la revendication des rôles que l'application doit attendre dans le jeton. La valeur doit correspondre exactement à la chaîne référencée dans le code de l’application. La valeur ne peut pas contenir d’espaces. Survey.Create
    Description Description plus détaillée du rôle d’application affiché pendant les expériences d’affectation et de consentement des applications d’administration. Writers can create surveys.
    Voulez-vous activer ce rôle d'application ? Spécifie si le rôle d’application est activé. Pour supprimer un rôle d’application, décochez cette case et appliquez la modification avant de tenter l’opération de suppression. Ce paramètre contrôle l’utilisation et la disponibilité du rôle d’application tout en étant en mesure de le désactiver temporairement ou définitivement sans le supprimer entièrement. Activée
  6. Sélectionnez Appliquer pour enregistrer vos modifications.

Lorsque le rôle d’application est défini sur activé, tous les utilisateurs, applications ou groupes qui sont affectés l’ont inclus dans leurs jetons. Il peut s’agir de jetons d’accès lorsque votre application est l’API appelé par une application or des jetons d’identifications lorsque votre application identifie un utilisateur. Si la valeur est désactivée, elle devient inactive et n’est plus assignable. Les ayants droit précédents auront toujours le rôle d’application inclus dans leurs jetons, mais cela n’a aucun effet, car il n’est plus activement assignable.

Attribuer le propriétaire de l’application

Si ce n'est pas encore fait, vous devez vous attribuer le titre de propriétaire de l'application.

  1. Dans l’inscription de votre application, sous Gérer, sélectionnez Propriétaires, puis Ajouter des propriétaires.
  2. Dans la nouvelle fenêtre, recherchez et sélectionnez le ou les propriétaires que vous souhaitez affecter à l’application. Les propriétaires sélectionnés s’affichent dans le panneau droit. Une fois que vous avez terminé, confirmez avec Sélectionner. Le ou les propriétaires de l’application apparaissent désormais dans la liste du propriétaire.

Remarque

Assurez-vous que l’application API et l’application à laquelle vous souhaitez ajouter des autorisations ont un propriétaire. Sinon, l’API ne sera pas répertoriée lors de la demande d’autorisations d’API.

Attribuer des rôles d’application aux applications

Une fois que vous avez ajouté des rôles d'application dans votre application, vous pouvez attribuer un rôle d'application à une application cliente à l'aide du centre d'administration Microsoft Entra ou par programme à l'aide de Microsoft Graph. À ne pas confondre avec l’attribution de rôles aux utilisateurs.

Lorsque vous attribuez des rôles d’application à une application, vous créez des autorisations d’application. Les autorisations d’application sont généralement utilisées par les applications démon ou les services back-end qui doivent s’authentifier et effectuer des appels d’API autorisés de façon autonome, sans interaction d’un utilisateur.

Pour attribuer des rôles d'application à une application à l'aide du centre d'administration Microsoft Entra :

  1. Connectez-vous au Centre d’administration de Microsoft Entra au minimum en tant qu’Administrateur d’application cloud.
  2. Accédez à Enregistrements>d'applications>d'applications d'identité, puis sélectionnez Toutes les applications.
  3. Sélectionnez Toutes les applications pour afficher la liste complète de vos applications. Si votre application n’apparaît pas dans la liste, utilisez les filtres présents en haut de la liste Toutes les applications pour restreindre la liste ou bien faites-la défiler vers le bas pour localiser votre application.
  4. Sélectionnez l’application à laquelle vous souhaitez attribuer un rôle d’application.
  5. Sélectionnez Autorisations de l’API>Ajouter une autorisation.
  6. Sélectionnez l’onglet Mes API, puis l’application pour laquelle vous avez défini des rôles d’application.
  7. Sous Autorisation, sélectionnez le ou les rôles que vous souhaitez attribuer.
  8. Sélectionnez le bouton Ajouter des autorisations pour terminer l’ajout du ou des rôles.

Les nouveaux rôles ajoutés doivent apparaître dans le volet Autorisations des API lors de l’inscription de votre application.

Étant donné qu’il s’agit d’autorisations d’application, et non d’autorisations déléguées, un administrateur doit accorder l’autorisation d’utiliser les rôles d’application attribués à l’application.

  1. Dans le volet Autorisations de l’API lors de l’inscription de l’application, sélectionnez Accorder un consentement d’administrateur pour <nom_locataire>.
  2. Sélectionnez Oui quand vous êtes invité à accorder un consentement pour les autorisations demandées.

La colonne État doit indiquer Accordé pour <nom_locataire>.

Scénario d’usage des rôles d’application

Si vous implémentez une logique métier de rôle d’application qui se connecte aux utilisateurs dans votre scénario d’application, commencez par définir les rôles d’application dans Inscriptions d’applications. Ensuite, un administrateur les attribue aux utilisateurs et aux groupes dans le volet Applications d’entreprise. Ces rôles d’application attribués sont inclus avec tout jeton émis pour votre application.

Si vous implémentez une logique métier de rôle d’application dans un scénario d’API d’appel d’application, vous disposez de deux inscriptions d’application. Une inscription d’application est destinée à l’application, et une seconde inscription d’application est pour l’API. Dans ce cas, définissez les rôles d’application et attribuez-les à l’utilisateur ou au groupe dans l’inscription d’application de l’API. Lorsque l’utilisateur s’authentifie auprès de l’application et demande un jeton d’accès pour appeler l’API, une revendication de rôle est incluse dans le jeton. L’étape suivante consiste à ajouter du code à votre API web pour vérifier ces rôles quand l’API est appelée.

Pour savoir comment ajouter une autorisation à votre API web, consultez API web protégée : Vérifier les étendues et les rôles d’application.

Rôles d’application et groupes d’application

Même si vous pouvez utiliser des rôles ou des groupes d’application pour l’autorisation, les principales différences entre ces deux options peuvent influencer votre choix pour votre scénario.

Rôles d'application Groupes
Les groupes sont spécifiques à une application et définis dans l’inscription de l’application. Ils suivent l’application. Ils ne sont pas spécifiques à une application, mais à un locataire de client Microsoft Entra.
Les rôles d’application sont supprimés lorsque leur inscription d’application est supprimée. Les groupes restent intacts même si l’application est supprimée.
Fournis dans la revendication roles. Fournis dans la revendication groups.

Les développeurs peuvent utiliser des rôles d’application pour contrôler si un utilisateur peut se connecter à une application ou si une application peut obtenir un jeton d’accès pour une API web. Pour étendre ce contrôle de sécurité aux groupes, les développeurs et les administrateurs peuvent également attribuer des groupes de sécurité à des rôles d’application.

Les rôles d’application sont préférés par les développeurs lorsqu’ils souhaitent décrire et contrôler eux-mêmes les paramètres d’autorisation dans leur application. Par exemple, une application qui utilise des groupes pour l’autorisation s’arrêtera au locataire suivant, car l’ID de groupe et le nom peuvent être différents. Une application utilisant des rôles d’application reste sûre. En fait, l’affectation de groupes à des rôles d’application est populaire avec les applications SaaS pour les mêmes raisons, car elle permet l’approvisionnement de l’application SaaS dans plusieurs locataires.

Affecter des utilisateurs et des groupes à des rôles Microsoft Entra

Une fois que vous avez ajouté des rôles d’application à votre application, vous pouvez affecter des utilisateurs et des groupes aux rôles Microsoft Entra. L’attribution des utilisateurs et des groupes aux rôles peut être effectuée via l’interface utilisateur du portail ou par programmation à l’aide de Microsoft Graph. Lorsque les utilisateurs affectés aux différents rôles d’application se connectent à l’application, leurs jetons portent les rôles qui leur ont été attribués dans la revendication roles.

Pour attribuer des utilisateurs et des groupes à des rôles à l'aide du centre d'administration Microsoft Entra :

  1. Connectez-vous au Centre d’administration de Microsoft Entra au minimum en tant qu’Administrateur d’application cloud.
  2. Si vous avez accès à plusieurs locataires, utilisez l'icône Paramètres dans le menu supérieur pour basculer vers le locataire contenant l'enregistrement de l'application à partir du menu Annuaires + souscriptions.
  3. Accédez à Identité>Applications>Applications d’entreprise.
  4. Sélectionnez Toutes les applications pour afficher la liste complète de vos applications. Si votre application n’apparaît pas dans la liste, utilisez les filtres présents en haut de la liste Toutes les applications pour restreindre la liste ou bien faites-la défiler vers le bas pour localiser votre application.
  5. Sélectionnez l’application dans laquelle vous souhaitez assigner des utilisateurs ou un groupe de sécurité aux rôles.
  6. Sous Gérer, sélectionnez Utilisateurs et groupes.
  7. Sélectionnez Ajouter un membre pour ouvrir le volet Ajouter une attribution.
  8. Sélectionnez le sélecteur Utilisateurs et groupes à partir du volet Ajouter une attribution. Une liste d’utilisateurs et de groupes de sécurité s’affiche. Vous pouvez rechercher un utilisateur ou un groupe et sélectionner plusieurs utilisateurs et groupes qui s’affichent dans la liste.
  9. Une fois que vous avez sélectionné des utilisateurs et des groupes, sélectionnez le bouton Sélectionner pour continuer.
  10. Sélectionnez Sélectionner un rôle dans le volet Ajouter une attribution. Tous les rôles que vous avez définis pour l’application s’affichent.
  11. Choisissez un rôle et sélectionnez Sélectionner.
  12. Appuyez sur le bouton Attribuer pour terminer l’attribution des utilisateurs et des groupes à l’application.

Vérifiez que les utilisateurs et les groupes ajoutés figurent dans la liste Utilisateurs et groupes.

Étapes suivantes

Pour en savoir plus sur les rôles des applications, consultez les ressources suivantes.