Partager via


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.

Il est recommandé de 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.

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

  1. 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.
  2. Accédez à Identité>Applications>Inscriptions d’applications>Toutes les applications.
  3. 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 :
  4. Ajoutez des autorisations dans le volet Autorisations de l’API.
    1. Recherchez le volet Autorisations de l’API et sélectionnez Ajouter une autorisation.

    2. Sélectionnez l’API à accéder et l’autorisation que vous souhaitez demander dans la liste des options disponibles, puis sélectionnez Ajouter des autorisations.

      Capture d’écran du volet Autorisations de l’API.

Option 2 : ajouter des autorisations au manifeste de l’application

  1. 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.
  2. Modifiez soigneusement la propriété requiredResourceAccess dans le fichier manifeste de l’application.
  3. Ajoutez la propriété resourceAppId et la propriété resourceAccess, puis attribuez les autorisations nécessaires.
  4. Enregistrez vos 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 Graph.
  • 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.
  1. 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.

  2. 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’application Analytics.Read et Application.Read.All. Microsoft Graph est identifié comme un objet ServicePrincipal avec 00000003-0000-0000-c000-000000000000 comme son unique AppId 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"
                     }
                 ]
             }
         ]
     }
    

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 de l’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 et Application.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);
              }
      });
    

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 à locataire unique et application multi-locataire dans le locataire d’origine : l’utilisateur doit se connecter au moins avec un rôle Administrateur de rôle privilégié et accorder un consentement à l’échelle du locataire.
  • Applications multi-tenants dans les tenants 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.

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 tenant 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

  1. 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.
  2. Accédez à Identité>Applications>Inscriptions d’applications>Toutes les applications.
  3. Recherchez l’inscription d’application dont vous souhaitez supprimer les autorisations et sélectionnez-la.
  4. Supprimez les autorisations depuis le volet Autorisations de l’API :
    1. Recherchez le volet Autorisations de l’API et recherchez les autorisations à supprimer.

    2. 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 tenant.

      Capture d’écran montrant comment supprimer des autorisations via le volet Autorisations de l’API.

Option 2 : à partir du manifeste de l’application

  1. 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.
  2. Modifiez soigneusement la propriété requiredResourceAccess dans le fichier manifeste de l’application.
  3. Supprimez les autorisations inutiles de la propriété resourceAppId et de la propriété resourceAccess.
  4. Enregistrez vos 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 Graph.
  • 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.
  1. Identifiez les autorisations pour votre application.

  2. 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.

  3. 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ède Analytics.Read, User.Read et Application.Read.All. Nous devons supprimer la permission déléguée et l’autorisation d’application Analytics.Read et Application.Read.All. Microsoft Graph est identifié comme un objet ServicePrincipal avec 00000003-0000-0000-c000-000000000000 comme son unique AppId global et Microsoft Graph comme DisplayName et AppDisplayName.

    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"
                    }
                ]
            }
        ]
    }
    

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 et Application.Read. Les permissions déléguées Analytics.Read et Application.Read ne sont plus nécessaires pour cette application. L’application ne nécessite que User.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);
                }
        });
    

Une fois les autorisations supprimées de l’inscription d’application, un administrateur du tenant 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 à tenant unique et application multi-tenants dans le tenant d’origine : pour une application à tenant unique, contactez l’administrateur du tenant afin révoquer les autorisations déjà accordées à l’application. Pour une application multi-tenants, contactez les administrateurs de tous les tenants 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-tenants dans les tenants des 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 à tenant uniques et multi-tenants, les utilisateurs non administrateurs dans les tenants 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.