Sécuriser une application monopage avec connexion de l’utilisateur
Le guide suivant concerne une application hébergée sur un serveur de contenu ou ayant des dépendances minimales de serveur Web. L’application fournit des ressources protégées et sécurisées uniquement aux utilisateurs 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 les 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 :
Connectez-vous au portail Azure.
Accédez au menu du portail Azure. Sélectionnez Toutes les ressources, puis votre compte Azure Maps.
Sous Paramètres dans le volet gauche, sélectionnez Authentification.
Trois valeurs sont créées lors de la création du compte Azure Maps. Elles sont utilisées pour prendre en charge deux types d’authentification dans Azure Maps :
- Authentification Microsoft Entra :
Client ID
représente le compte devant être utilisé pour les requêtes API REST. La valeurClient ID
doit être stockée dans la configuration de l’application, puis être récupérée avant la création de requêtes HTTP Azure Maps qui utilisent l’authentification Microsoft Entra. - Authentification par clé partagée : Le
Primary Key
etSecondary Key
sont utilisés en tant que clé d’abonnement pour l’authentification par Clé partagée. L’authentification par Clé partagée s’appuie sur la transmission des clés générées par les comptes Azure Maps lors de chaque requête envoyée à Azure Maps. Nous vous recommandons de régénérer régulièrement vos clés. Pour maintenir les connexions en cours lors de 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 regénérez vos clés, vous devez mettre à jour toutes les applications qui accèdent à ce compte pour qu’elles utilisent les nouvelles clés. Pour plus d’informations, voir Authentification avec Azure Maps
Créer une inscription d’application dans Microsoft Entra ID
Créez l’application web dans Microsoft Entra ID pour que les utilisateurs s’y connectent. L’application web délègue l’accès des utilisateurs aux API REST Azure Maps.
Dans la liste des services Azure du Portail Azure sélectionnez Microsoft Entra ID>Inscriptions d’applications>Nouvelle inscription.
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 Exemples Microsoft Entra ID d’Azure Maps. Sélectionnez ensuite Inscription.
Pour attribuer 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 API utilisées par que mon organisation, recherchez et sélectionnez Azure Maps.
Cochez la case en regard de Accéder à Azure Maps, puis sélectionnez Ajouter des autorisations.
Activez
oauth2AllowImplicitFlow
. Pour l’activer, dans la section Manifeste de l’inscription de votre application, affectez la valeurtrue
àoauth2AllowImplicitFlow
.Copiez l’ID d’application Microsoft Entra et l’ID de locataire Microsoft Entra à partir de l’inscription de l’application afin de les utiliser dans le kit de développement logiciel (SDK) web. 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>
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 des utilisateurs à Azure Maps
Vous pouvez octroyer le contrôle d’accès en fonction du rôle Azure (Azure RBAC), en attribuant soit un groupe Microsoft Entra, soit 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ôles intégrés Azure Maps.
Pour obtenir des instructions détaillées sur l’affectation d’un rôle Azure Maps disponible à l’identité géré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’un grand nombre d’utilisateurs, consultez Groupes Microsoft Entra.
Important
Pour que les utilisateurs soient autorisés à s’authentifier sur une application, vous devez d’abord créer les utilisateurs dans Microsoft Entra ID. 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 Microsoft Entra ID.
Avertissement
Les définitions de rôles intégrées Azure Maps fournissent un accès d’autorisation très large à de nombreuses API REST Azure Maps. Pour limiter l’accès aux API à un minimum, consultez cet article expliquant comment 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 d’activer les privilèges minimums nécessaires à l’application pour accéder à Azure Maps.
Étapes suivantes
Apprenez-en davantage sur le scénario d’application monopage :
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 :