Partager via


Sécuriser un appareil avec contraintes d’entrée à l’aide de Microsoft Entra ID et des API REST Azure Maps

Ce guide explique comment sécuriser applications ou appareils publics qui ne peuvent pas accepter une entrée de navigateur, ou stocker des secrets de manière sécurisée. Ces types d’applications relèvent de la catégorie IoT (Internet des objets). Les télévisions connectées et les applications émettrices de données de capteur en sont des exemples.

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 votre compte Azure Maps.

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

    Capture d’écran illustrant les options d’authentification d’Azure Maps dans le Portail Azure.

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 valeur Client 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 et Secondary Keysont 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

Remarque

Créez l’application basée sur l’appareil dans Microsoft Entra ID, afin d’activer la connexion Microsoft Entra dont l’accès aux API REST Azure Maps est accordé.

  1. Dans la liste des services Azure du Portail Azure sélectionnez Microsoft Entra ID>Inscriptions d’applications>Nouvelle inscription.

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

  2. Entrez un Nom et choisissez Comptes dans cet annuaire d’organisation uniquement comme Type de compte pris en charge. Dans URI de redirection, spécifiez Client public/natif (mobile bureau), puis ajoutez https://login.microsoftonline.com/common/oauth2/nativeclient à la valeur. Si vous souhaitez en savoir plus, veuillez consulter la rubrique Microsoft Entra ID Application de bureau qui appelle des API web : inscription d’application. Ensuite, inscrivez l’application.

    Capture d’écran des paramètres utilisés pour inscrire une application.

  3. Accédez à Authentification, puis activez Considérer l’application comme un client public pour activer l’authentification par code d’appareil avec Microsoft Entra ID.

    Capture d’écran des paramètres avancés utilisés pour définir l’application comme client public.

  4. Pour attribuer des autorisations d’API déléguées à Azure Maps, accédez à l’application. Sélectionnez Autorisations des API>Ajouter une autorisation. Sous API utilisées par que mon organisation, recherchez et sélectionnez Azure Maps.

    Capture d’écran montrant où vous demandez des autorisations d’API.

  5. Cochez la case en regard de Accéder à Azure Maps, puis sélectionnez Ajouter des autorisations.

    Capture d’écran montrant où vous précisez les autorisations d’application dont vous avez besoin.

  6. Configurez le contrôle d’accès en fonction du rôle Azure (Azure RBAC) pour les utilisateurs ou les groupes. Pour plus d’informations, consultez Accorder l’accès en fonction du rôle pour des utilisateurs à Azure Maps.

  7. Ajoutez du code pour l’acquisition du flux de jeton dans l’application. Pour plus d’informations sur l’implémentation, consultez Flux de code d’appareil. Lors de l’acquisition des jetons, référencez l’étendue : user_impersonation qui a été sélectionnée lors des étapes précédentes.

    Conseil

    Utilisez la bibliothèque d’authentification Microsoft (MSAL) pour acquérir des jetons d’accès. Pour plus d’informations, consultez Application de bureau qui appelle des API web : Configuration du code dans la documentation Active Directory.

  8. Composez la requête HTTP avec le jeton obtenu auprès de Microsoft Entra ID, puis envoyez la requête avec un client HTTP valide.

Exemple de requête

Voici un exemple de corps de requête pour le chargement d’une limite géographique simple représentée sous la forme d’un cercle avec un point central et un rayon.

POST /mapData?api-version=2.0&dataFormat=geojson
Host: us.atlas.microsoft.com
x-ms-client-id: 30d7cc….9f55
Authorization: Bearer eyJ0e….HNIVN

L’exemple de corps de requête suivant est au format GeoJSON :

{
    "type": "FeatureCollection",
    "features": [{
        "type": "Feature",
        "geometry": {
            "type": "Point",
            "coordinates": [-122.126986, 47.639754]
        },
        "properties": {
            "geometryId": "001",
            "radius": 500
        }
    }]
}

Exemple d’en-tête de réponse

Operation-Location: https://us.atlas.microsoft.com/mapData/operations/{udid}?api-version=2.0
Access-Control-Expose-Headers: Operation-Location

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

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