Partager via


Sécuriser une application monopage avec connexion de l’utilisateur

Le guide suivant se rapporte à une application hébergée sur un serveur de contenu ou qui a des dépendances minimales de serveur web. L’application fournit des ressources protégées sécurisées uniquement aux utilisateurs de Microsoft Entra. L’objectif du scénario est de permettre à l’application web de s’authentifier auprès de Microsoft Entra ID et d’appeler des API REST Azure Maps pour le compte de l’utilisateur.

Pour afficher les détails de l’authentification de votre compte Azure Maps dans le portail Azure :

  1. Connectez-vous au portail Azure.

  2. Accédez au menu du portail Azure. Sélectionnez Toutes les ressources, puis sélectionnez votre compte Azure Maps.

  3. Sous Paramètres dans le volet gauche, sélectionnez Authentification.

    Capture d’écran montrant vos options d’authentification Azure Maps dans le portail Azure.

Trois valeurs sont créées lorsque le compte Azure Maps est créé. Ils sont utilisés pour prendre en charge deux types d’authentification dans Azure Maps :

  • Authentification Microsoft Entra : représente Client ID le compte à utiliser pour les demandes d’API REST. La Client ID valeur doit être stockée dans la configuration de l’application, puis elle doit être récupérée avant d’effectuer des requêtes HTTP Azure Maps qui utilisent l’authentification Microsoft Entra.
  • Authentification par clé partagée : les éléments Primary Key et Secondary Key sont utilisés comme clé d’abonnement pour l’authentification par clé partagée. L’authentification par clé partagée s’appuie sur la transmission de la clé générée par le compte Azure Maps avec chaque demande à Azure Maps. Nous vous recommandons de régénérer régulièrement vos clés. Pour maintenir les connexions actuelles pendant la régénération, deux clés sont fournies. Une clé peut être utilisée, tout en régénérant l’autre. Lorsque vous régénérez vos clés, vous devez mettre à jour toutes les applications qui accèdent à ce compte pour utiliser les nouvelles clés. Pour plus d’informations, consultez Authentification avec Azure Maps

Créer une inscription d’application dans l’ID Microsoft Entra

Créez l’application web dans l’ID Microsoft Entra pour que les utilisateurs se connectent. L’application web délègue l’accès utilisateur aux API REST Azure Maps.

  1. Dans le portail Azure, dans la liste des services Azure, sélectionnez Microsoft Entra ID>Inscriptions d’application>Nouvelle inscription.

    Capture d’écran montrant l’inscription d’application dans l’ID Microsoft Entra.

  2. Entrez un Nom, choisissez un Type de compte de support, fournissez un URI de redirection qui représente l’URL à laquelle Microsoft Entra ID émet le jeton et l’URL dans laquelle le contrôle de carte est hébergé. Pour obtenir un exemple détaillé, consultez les exemples d’ID Microsoft Entra d’Azure Maps. Ensuite, sélectionnez Inscrire.

  3. Pour affecter des autorisations d’API déléguées à Azure Maps, accédez à l’application. Ensuite, sous Inscriptions d’applications, sélectionnez Autorisations d’API>Ajouter une autorisation. Sous LES API que mon organisation utilise, recherchez et sélectionnez Azure Maps.

    Capture d’écran montrant la liste des API utilisées par mon organisation.

  4. Cochez la case en regard d’Accéder à Azure Maps, puis sélectionnez Ajouter des autorisations.

    Capture d’écran montrant l’écran Demander des autorisations d’API d’application.

  5. Activez oauth2AllowImplicitFlow. Pour l'activer, dans la section Manifeste de l'inscription de votre application, définissez oauth2AllowImplicitFlow à true.

  6. Copiez l’ID d’application Microsoft Entra et l’ID de locataire Microsoft Entra à partir de l’enregistrement de l’application pour les utiliser dans le Kit de développement logiciel Web (SDK). Ajoutez les détails d’inscription d’application Microsoft Entra et le x-ms-client-id du compte Azure Maps au kit SDK web.

        <link rel="stylesheet" href="https://atlas.microsoft.com/sdk/javascript/mapcontrol/3/atlas.min.css" type="text/css" />
        <script src="https://atlas.microsoft.com/sdk/javascript/mapcontrol/3/atlas.min.js" />
        <script>
            var map = new atlas.Map("map", {
                center: [-122.33, 47.64],
                zoom: 12,
                language: "en-US",
                authOptions: {
                    authType: "aad",
                    clientId: "<insert>",  // azure map account client id
                    aadAppId: "<insert>",  // azure ad app registration id
                    aadTenant: "<insert>", // azure ad tenant id
                    aadInstance: "https://login.microsoftonline.com/"
                }
            });
        </script>   
    
  7. Configurez le contrôle d’accès en fonction du rôle Azure (Azure RBAC) pour les utilisateurs ou les groupes. Consultez les sections suivantes pour activer Azure RBAC.

Accorder l’accès en fonction du rôle pour les utilisateurs à Azure Maps

Vous pouvez accorder un contrôle d’accès en fonction du rôle Azure (Azure RBAC) en affectant un groupe Microsoft Entra ou un principal de sécurité à une ou plusieurs définitions de rôle Azure Maps.

Pour afficher les définitions de rôle Azure disponibles pour Azure Maps, consultez Afficher les définitions de rôle Azure Maps intégrées.

Pour obtenir des instructions détaillées sur l’attribution d’un rôle Azure Maps disponible à l’identité managée créée ou au principal de service, consultez Affecter des rôles Azure à l’aide du portail Azure

Pour gérer efficacement l’application Azure Maps et l’accès aux ressources d’une grande quantité d’utilisateurs, consultez les groupes Microsoft Entra.

Important

Pour que les utilisateurs soient autorisés à s’authentifier auprès d’une application, les utilisateurs doivent d’abord être créés dans l’ID Microsoft Entra. Pour plus d’informations, consultez Ajouter ou supprimer des utilisateurs à l’aide de Microsoft Entra ID.

Pour en savoir plus sur la gestion efficace d’un répertoire volumineux pour les utilisateurs, consultez l’ID Microsoft Entra.

Avertissement

Les définitions de rôles intégrés d'Azure Maps fournissent un accès d’autorisation étendu à de nombreuses API REST d'Azure Maps. Pour restreindre l’accès aux API au minimum, consultez créer une définition de rôle personnalisée et affecter l’identité affectée par le système à la définition de rôle personnalisée. Cela permet au moins le privilège nécessaire pour que l’application accède à Azure Maps.

Étapes suivantes

Compréhension approfondie du contexte d'application à page unique :

Recherchez les métriques d’utilisation de l’API pour votre compte Azure Maps :

Explorez des échantillons qui montrent comment intégrer Microsoft Entra ID à Azure Maps :