Mettre à jour les autorisations demandées d’une application dans Microsoft Entra ID
Lors de la configuration d’une application avec Microsoft Entra ID, les développeurs peuvent demander l’accès aux données d’autres applications et services à l’aide d’autorisations. Les développeurs peuvent demander des autorisations en ajoutant des autorisations statiques au manifeste de leur application ou en demandant dynamiquement des autorisations au moment de l’exécution. Les utilisateurs ou les administrateurs peuvent ensuite choisir d’accorder les autorisations pendant le consentement, ce qui permet à l’application d’accéder aux données dont elle a besoin.
À mesure que les fonctionnalités d’une application évoluent, les ressources auxquelles elle nécessite l’accès également changent également. Ces modifications peuvent impliquer l’activation de nouvelles fonctionnalités, l’élimination d’accès inutiles ou le remplacement d’autorisations hautement privilégiées par des autorisations moins privilégiées. Cet article explique comment mettre à jour les autorisations demandées par votre application à l’aide du Centre d’administration Microsoft Entra et des appels d’API Microsoft Graph.
La mise à jour des autorisations pour votre application n’est pas seulement une meilleure pratique de sécurité, mais également un moyen d’améliorer l’expérience utilisateur et l’adoption de votre application. La section suivante présente certains des avantages de la mise à jour des autorisations pour votre application :
- Si votre application dispose d’une nouvelle fonctionnalité, vous pouvez demander plus d’autorisations qui permettent à l’application d’accéder aux ressources supplémentaires dont elle a besoin.
- Les clients sont plus susceptibles d’adopter votre application si elle demande uniquement les autorisations les moins privilégiées nécessaires pour fonctionner. Cela montre que votre application respecte la confidentialité et la protection des données du client et n’accède pas à plus de ressources que nécessaire.
- En outre, si votre application est compromise, le rayon impacté sera plus petit si elle dispose d'autorisations moins nombreuses ou moins privilégiées. Cela signifie que l’attaquant a moins d’accès aux données et aux ressources du client, et donc que les dommages potentiels sont réduits.
- En mettant à jour les autorisations pour votre application, vous pouvez améliorer la sécurité, l’ergonomie et la conformité de votre application et créer une confiance avec vos clients.
Prérequis
Pour mettre à jour les autorisations demandées d’une application, vous avez besoin des éléments suivants :
- Un compte utilisateur Microsoft Entra. Si vous n’en avez pas déjà un, créez un compte gratuitement.
- Un des rôles suivants : Administrateur d’application, Administrateur d’application cloud. Un propriétaire d’application qui n’est pas administrateur peut mettre à jour les autorisations demandées d’une application.
Scénarios de mise à jour des autorisations
La section suivante répertorie les trois principaux scénarios dans lesquels vous devez mettre à jour les autorisations que votre application demande :
- Ajouter des autorisations à une application
- Supprimer les autorisations inutilisées d’une application
- Remplacer une autorisation
Remarque
La mise à jour des autorisations demandées pour votre application n’accorde ou ne révoque pas automatiquement à votre application l’autorisation d’accès aux ressources protégées. Vos clients, ou les administrateurs de votre organisation, doivent accorder leur consentement aux nouvelles autorisations ajoutées ou révoquer manuellement les autorisations.
Ajouter des autorisations à une application
Vous pouvez ajouter une autorisation si votre application dispose d’une nouvelle fonctionnalité nécessitant une autorisation dont elle n’avait pas besoin avant.
Une meilleure pratique consiste à demander uniquement l’accès aux autorisations minimales nécessaires à votre application pour fonctionner. Si vous devez ajouter une nouvelle autorisation pour prendre en charge de nouvelles fonctionnalités dans votre application, demandez uniquement les autorisations les moins privilégiées.
Par exemple, pour ajouter une fonctionnalité de notification par e-mail à votre application, elle doit avoir accès aux e-mails de votre utilisateur. Pour ce faire, vous devez demander l’accès pour l’autorisation Mail.ReadWrite
.
Ajouter des autorisations dans le consentement statique
Le consentement statique est un moyen de demander des autorisations à des utilisateurs ou des administrateurs au moment de l’inscription à une application, plutôt qu’au moment de l’exécution. Le consentement statique nécessite que l’application déclare toutes les autorisations dont elle a besoin dans le volet Inscriptions d’applications dans le Centre d’administration Microsoft Entra. Utiliser le Centre d’administration Microsoft Entra vous permet de mettre à jour les autorisations uniquement pour le consentement statique. Pour en savoir plus sur les différents types de consentement, consultez Types de consentement. Pour découvrir comment mettre à jour les autorisations pour le consentement dynamique, reportez-vous à l’onglet Microsoft Graph de cet article.
Dans cette section, vous allez apprendre à ajouter des autorisations dans le consentement statique.
Vous pouvez ajouter des autorisations au consentement statique de deux façons différentes dans le Centre d’administration Microsoft Entra :
Option 1 : ajouter des autorisations dans le volet Autorisations de l’API
- Connectez-vous au Centre d’administration Microsoft Entra au minimum en tant qu’administrateur d’application cloud ou en tant que propriétaire d’application.
- Accédez à Identité>Applications>Inscriptions d’applications>Toutes les applications.
- Recherchez l’inscription d’application à laquelle vous souhaitez ajouter des autorisations et sélectionnez-la. Vous pouvez ajouter des autorisations de deux façons différentes :
- Ajoutez des autorisations dans le volet Autorisations de l’API.
Option 2 : ajouter des autorisations au manifeste de l’application
- Dans le volet de navigation gauche, sous le groupe de menus Gérer, sélectionnez Manifeste. La sélection ouvre un éditeur pour vous permettre de modifier directement les attributs de l’objet de l’inscription d’application.
- Modifiez soigneusement la propriété
requiredResourceAccess
dans le fichier manifeste de l’application. - Ajoutez la propriété
resourceAppId
et la propriétéresourceAccess
, puis attribuez les autorisations nécessaires. - Enregistrez les modifications.
Pour effectuer les étapes suivantes permettant d’ajouter des autorisations, vous avez besoin des ressources et des privilèges suivants :
- Exécutez les requêtes HTTP dans un outil de votre choix, par exemple, dans votre application ou via l’Explorateur graphique.
- Exécutez les API en tant qu’utilisateur avec au minimum le rôle d’administrateur d’application cloud ou en tant que propriétaire de l’inscription d’application cible.
- L’application utilisée pour apporter ces modifications doit recevoir l’autorisation
Application.ReadWrite.All
.
Identifiez les autorisations dont votre application a besoin, leurs ID d’autorisation et si elles sont des rôles d’application (autorisations d’application) ou des permissions déléguées. Par exemple, si vous souhaitez demander des autorisations Microsoft Graph, consultez les autorisations Microsoft Graph pour obtenir la liste des autorisations et leurs ID.
Ajoutez les autorisations Microsoft Graph nécessaires à votre application. L’exemple suivant appelle l’API de Mise à jour de l’application afin d’ajouter les autorisations Microsoft Graph nécessaires à une inscription d’application identifiée par l’ID d’objet
aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
. Cet exemple utilise la permission déléguée et l’autorisation d’applicationAnalytics.Read
etApplication.Read.All
. Microsoft Graph est identifié comme un objet ServicePrincipal avec00000003-0000-0000-c000-000000000000
comme son uniqueAppId
global.PATCH https://graph.microsoft.com/v1.0/applications/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb Content-Type: application/json { "requiredResourceAccess": [ { "resourceAppId": "00000003-0000-0000-c000-000000000000", "resourceAccess": [ { "id": "e03cf23f-8056-446a-8994-7d93dfc8b50e", "type": "Scope" }, { "id": "9a5d68dd-52b0-4cc2-bd40-abcf44ac3a30", "type": "Role" } ] } ] }
Ajouter des autorisations dans le consentement dynamique
Le consentement dynamique est un moyen de demander des autorisations à des utilisateurs ou des administrateurs au moment de l’exécution, plutôt que de les déclarer statiquement dans le volet Inscriptions d’applications. Le consentement dynamique permet à l’application de demander uniquement les autorisations dont elle a besoin pour une fonctionnalité spécifique et d’obtenir le consentement de l’utilisateur ou le consentement administrateur lorsque cela est nécessaire. Le consentement dynamique peut être utilisé avec des permissions déléguées et peut être combiné avec l’étendue /.default
afin de demander le consentement administrateur pour toutes les autorisations.
Pour ajouter des autorisations dans le consentement dynamique :
Utilisez Microsoft Graph : ajoutez les autorisations Microsoft Graph nécessaires à une inscription d’application. Cet exemple utilise la permission déléguée et l’autorisation d’application
Analytics.Read
etApplication.Read.All
. Remplacez les valeurs dans « scopes » par les valeurs des permissions déléguées Microsoft Graph que vous souhaitez configurer pour l’application.La requête doit être similaire à l’exemple suivant :
https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=00001111-aaaa-2222-bbbb-3333cccc4444&response_type=code&scope=Analytics.Read+Application.Read
Utilisez MSAL.js : remplacez les valeurs dans « scopes » par les valeurs des permissions déléguées Microsoft Graph que vous souhaitez configurer pour l’application.
const Request = { scopes: ["openid", "profile"], loginHint: "example@domain.net" }; myMSALObj.ssoSilent(Request) .then((response) => { // your logic }).catch(error => { console.error("Silent Error: " + error); if (error instanceof msal.InteractionRequiredAuthError) { myMSALObj.loginRedirect(loginRequest); } });
Accorder le consentement pour les autorisations ajoutées destinées à l’application d’entreprise
Une fois les autorisations ajoutées à votre application, les utilisateurs ou les administrateurs doivent accorder le consentement aux nouvelles autorisations. Une invite de consentement s’affiche lorsque des utilisateurs non administrateurs se connectent à votre application. D’autre part, les utilisateurs administrateurs peuvent accorder le consentement aux nouvelles autorisations pour le compte de tous les utilisateurs de leur organisation lorsqu’ils se connectent pour la première fois à votre application ou dans le Centre d’administration Microsoft Entra.
Lorsque les autorisations ajoutées nécessitent un consentement administrateur, les actions nécessaires varient en fonction du type d’application :
- Application à client unique et application multi-locataire dans le client d’origine : l’utilisateur doit se connecter au minimum avec un rôle Administrateur de rôle privilégié et accorder un consentement à l’échelle du client.
- Applications multi-locataire dans les locataires du client : de nouvelles invites de consentement s’affichent sur la prochaine tentative de connexion de l’utilisateur. Si les autorisations nécessitent uniquement le consentement de l’utilisateur, l’utilisateur peut accorder son consentement. Si les autorisations nécessitent le consentement administrateur, l’utilisateur doit contacter son administrateur pour accorder son consentement.
Arrêter les demandes d’autorisations inutilisées
La suppression d’autorisations peut réduire le risque d’exposer des données sensibles ou de compromettre la sécurité et permet de simplifier le processus de consentement pour vos utilisateurs ou vos administrateurs. Si votre application n’a plus besoin d’une autorisation, il est préférable d’empêcher votre application de la demander en supprimant l’autorisation de l’accès aux ressources et au code demandés de votre inscription d’application. Par exemple, une application qui n’envoie plus de notifications par e-mail peut supprimer l’autorisation Mail.ReadWrite
.
Important
La suppression d’une autorisation de votre inscription d’application ne révoque pas automatiquement les autorisations déjà accordées à l’application. Vous devez révoquer les autorisations manuellement. Pour plus d’informations, consultez la section Révoquer le consentement pour les autorisations supprimées pour l’application d’entreprise de cet article.
Arrêter les demandes d’autorisations pour le consentement statique
Pour arrêter les demandes d’autorisations nécessitant un consentement statique, vous devez supprimer l’autorisation dans le volet Inscriptions d’applications. Un administrateur du client doit également révoquer l’autorisation dans le volet Applications d’entreprise. Pour plus d’informations sur la révocation des autorisations accordées à une application d’entreprise, consultez Révoquer des autorisations pour une application d’entreprise.
Dans cette section, vous allez apprendre à arrêter les demandes d’autorisations pour le consentement statique.
Vous pouvez supprimer les autorisations du consentement statique de deux façons différentes dans le Centre d’administration Microsoft Entra :
Option 1 : à partir du volet Autorisations de l’API
- Connectez-vous au Centre d’administration Microsoft Entra au minimum en tant qu’administrateur d’application cloud ou en tant que propriétaire d’application.
- Accédez à Identité>Applications>Inscriptions d’applications>Toutes les applications.
- Recherchez l’inscription d’application dont vous souhaitez supprimer les autorisations et sélectionnez-la.
- Supprimez les autorisations depuis le volet Autorisations de l’API :
Recherchez le volet Autorisations de l’API et recherchez les autorisations à supprimer.
Sélectionnez l’API que vous souhaitez supprimer et sélectionnez d’abord Révoquer le consentement administrateur, puis Supprimer l’autorisation. Cela garantit que l’autorisation accordée est supprimée de votre client.
Option 2 : à partir du manifeste de l’application
- Dans le volet de navigation gauche, sous le groupe de menus Gérer, sélectionnez Manifeste. Un éditeur s’ouvre pour vous permettre de modifier directement les attributs de l’objet de l’inscription d’application.
- Modifiez soigneusement la propriété
requiredResourceAccess
dans le fichier manifeste de l’application. - Supprimez les autorisations inutiles de la propriété
resourceAppId
et de la propriétéresourceAccess
. - Enregistrez les modifications.
Pour effectuer les étapes suivantes permettant de supprimer des autorisations, vous avez besoin des ressources et des privilèges suivants :
- Exécutez les requêtes HTTP dans un outil de votre choix, par exemple, dans votre application ou via l’Explorateur graphique.
- Appelez les API au minimum en tant qu’administrateur d’application cloud ou en tant que propriétaire de l’inscription d’application cible.
- L’application utilisée pour apporter ces modifications doit recevoir l’autorisation
Application.ReadWrite.All
.
Identifiez les autorisations pour votre application.
Par exemple, pour empêcher votre application de demander des autorisations Microsoft Graph, identifiez les autorisations Microsoft Graph pour votre application, leurs ID d’autorisation et si elles sont des rôles d’application (autorisations d’application) ou des permissions déléguées.
Supprimez les autorisations Microsoft Graph indésirables de votre application. L’exemple suivant appelle l’API de Mise à jour de l’application afin de supprimer les autorisations Microsoft Graph indésirables d’une inscription d’application identifiée par un exemple d’ID client
00001111-aaaa-2222-bbbb-3333cccc4444
. Dans cet exemple, l’application possèdeAnalytics.Read
,User.Read
etApplication.Read.All
. Nous devons supprimer la permission déléguée et l’autorisation d’applicationAnalytics.Read
etApplication.Read.All
. Microsoft Graph est identifié comme un objet ServicePrincipal avec00000003-0000-0000-c000-000000000000
comme son uniqueAppId
global et Microsoft Graph commeDisplayName
etAppDisplayName
.PATCH https://graph.microsoft.com/v1.0/applications/00001111-aaaa-2222-bbbb-3333cccc4444 Content-Type: application/json { "requiredResourceAccess": [ { "resourceAppId": "00000003-0000-0000-c000-000000000000", "resourceAccess": [ { "id": "311a71cc-e848-46a1-bdf8-97ff7156d8e6 ", "type": "Scope" } ] } ] }
Arrêter les demandes d’autorisations avec le consentement dynamique
Lorsque vous devez supprimer les permissions déléguées de la demande de consentement dynamique, spécifiez le paramètre d’étendue tout en laissant les autorisations que vous souhaitez supprimer. La suppression des autorisations garantit que l’application n’appelle pas l’API correspondante.
Cette méthode fonctionne uniquement pour les autorisations déléguées. Les autorisations d’application sont demandées et accordées par un administrateur par le biais d’un consentement statique et ne sont pas incluses dans le paramètre d’étendue pendant la demande d’autorisation OAuth 2.0.
Pour arrêter les demandes d’autorisations avec le consentement dynamique :
- À l’aide de Microsoft Graph : supprimez les permissions déléguées Microsoft Graph indésirables du paramètre « scopes ». Dans cet exemple, votre application demande trois autorisations déléguées :
Analytics.Read
,User.Read
etApplication.Read
. Les permissions déléguéesAnalytics.Read
etApplication.Read
ne sont plus nécessaires pour cette application. L’application ne nécessite queUser.Read
.
La requête doit être similaire à celle de l’exemple suivant :
https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=00001111-aaaa-2222-bbbb-3333cccc4444&response_type=code&scope=User.Read
À l’aide de MSAL.js : supprimez les permissions déléguées Microsoft Graph indésirables dans « scopes ».
const Request = { scopes: ["openid", "profile"], loginHint: "example@domain.net" }; myMSALObj.ssoSilent(Request) .then((response) => { // your logic }).catch(error => { console.error("Silent Error: " + error); if (error instanceof msal.InteractionRequiredAuthError) { myMSALObj.loginRedirect(loginRequest); } });
Révoquer le consentement pour les autorisations supprimées destinées à l’application d’entreprise
Une fois les autorisations supprimées de l’inscription d’application, un administrateur du client doit également révoquer le consentement pour protéger les données de votre organisation. Lorsque l’autorisation supprimée nécessite le consentement administrateur, les actions nécessaires varient en fonction du type d’application :
- Application à client unique et application multi-locataire dans le client d’origine : pour une application à client unique, contactez l’administrateur du client afin révoquer les autorisations déjà accordées à l’application. Pour une application multi-locataire, contactez les administrateurs de tous les clients où résident les instances de votre application afin de révoquer les autorisations accordées à l’application d’entreprise. La révocation du consentement aux autorisations supprimées garantit que l’application ne conserve pas l’accès via l’autorisation supprimée.
- Applications multi-locataire dans les clients : assurez-vous de communiquez avec vos clients pour révoquer des autorisations via des annonces, des blogs et d’autres canaux de communication.
Pour les applications à client unique et multi-locataire, les utilisateurs non administrateurs dans les locataires où le consentement de l’utilisateur est activé peuvent utiliser le portail MyApps pour révoquer le consentement aux autorisations précédemment accordées. Pour plus d’informations sur la façon dont les utilisateurs finaux peuvent révoquer des autorisations dans le portail MyApps, consultez Révoquer le consentement de l’utilisateur final.
Remplacer une autorisation
Il est conseillé de remplacer une autorisation hautement privilégiée lorsqu’une autorisation moins privilégiée peut être suffisante.
Le remplacement des autorisations peut également réduire le risque d’exposer des données sensibles ou de compromettre la sécurité et permet ainsi d’améliorer l’expérience et la confiance de l’utilisateur. Si votre application utilise une autorisation hautement privilégiée, telle que Directory.ReadWrite.All
, envisagez une autorisation moins privilégiée, telle que User.ReadWrite.All
, qui peut être suffisante pour les fonctionnalités de votre application.
Remarque
Lorsque vous modifiez les autorisations demandées d’une application pour le consentement statique, le client doit à nouveau donner son consentement. Le fait de redonner son consentement révoque toutes les autorisations précédemment accordées et accorde le consentement aux nouvelles. Lorsque vous modifiez les autorisations demandées d’une application pour le consentement dynamique, les autorisations précédemment accordées ne sont pas révoquées. Le client doit révoquer les autorisations manuellement.
Pour remplacer une autorisation, vous devez supprimer l’autorisation inutile et en ajouter une autre. Les étapes sont similaires à celles décrites dans les sections Arrêter les demandes d’autorisations inutilisées et Ajouter des autorisations de cet article.