Dela via


Skydda en indatabegränsad enhet med hjälp av Microsoft Entra-ID och Rest-API:er för Azure Maps

Den här guiden beskriver hur du skyddar offentliga program eller enheter som inte kan lagra hemligheter på ett säkert sätt eller acceptera webbläsarindata. Dessa typer av program omfattas av IoT-kategorin (Internet of things). Exempel är smarta TV-apparater och sensordata som genererar program.

Så här visar du autentiseringsinformation för ditt Azure Maps-konto i Azure-portalen:

  1. Logga in på Azure-portalen.

  2. Gå till Menyn i Azure-portalen. Välj Alla resurser och välj sedan ditt Azure Maps-konto.

  3. Under Inställningar i den vänstra rutan väljer du Autentisering.

    Skärmbild som visar dina autentiseringsalternativ för Azure Maps i Azure-portalen.

Tre värden skapas när Azure Maps-kontot skapas. De används för att stödja två typer av autentisering i Azure Maps:

  • Microsoft Entra-autentisering: Client ID Representerar det konto som ska användas för REST API-begäranden. Värdet Client ID ska lagras i programkonfigurationen och sedan ska det hämtas innan du gör AZURE Maps HTTP-begäranden som använder Microsoft Entra-autentisering.
  • Autentisering med delad nyckel: Och Secondary Key Primary Key används som prenumerationsnyckel för autentisering med delad nyckel. Autentisering med delad nyckel förlitar sig på att skicka nyckeln som genereras av Azure Maps-kontot med varje begäran till Azure Maps. Vi rekommenderar att du regelbundet återskapar dina nycklar. För att underhålla aktuella anslutningar under regenereringen tillhandahålls två nycklar. En nyckel kan användas samtidigt som den andra återskapas. När du återskapar nycklarna måste du uppdatera alla program som använder det här kontot till att använda de nya nycklarna. Mer information finns i Autentisering med Azure Maps

Skapa en programregistrering i Microsoft Entra-ID

Kommentar

Skapa det enhetsbaserade programmet i Microsoft Entra-ID för att aktivera Microsoft Entra-inloggning, som beviljas åtkomst till Azure Maps REST-API:er.

  1. I Azure-portalen går du till listan över Azure-tjänster och väljer Microsoft Entra ID>Appregistreringar>Ny registrering.

    En skärmbild som visar programregistrering i Microsoft Entra-ID.

  2. Ange ett Namn, välj Endast Konton i den här organisationskatalogen som kontotyp som stöds. I Omdirigerings-URI:er anger du Offentlig klient/intern (mobil och skrivbord) och lägger sedan till https://login.microsoftonline.com/common/oauth2/nativeclient värdet. Mer information finns i Microsoft Entra ID Desktop-appen som anropar webb-API:er: Appregistrering. Registrera sedan programmet.

    En skärmbild som visar de inställningar som används för att registrera ett program.

  3. Navigera till Autentisering och aktivera Behandla program som en offentlig klient för att aktivera enhetskodautentisering med Microsoft Entra-ID.

    En skärmbild som visar de avancerade inställningar som används för att ange att programmet ska behandlas som en offentlig klient.

  4. Om du vill tilldela delegerade API-behörigheter till Azure Maps går du till programmet. Välj sedan API-behörigheter>Lägg till en behörighet. Under API:er som min organisation använder söker du efter och väljer Azure Maps.

    En skärmbild som visar var du begär API-behörigheter.

  5. Markera kryssrutan bredvid Åtkomst till Azure Maps och välj sedan Lägg till behörigheter.

    En skärmbild som visar var du anger de appbehörigheter som du behöver.

  6. Konfigurera rollbaserad åtkomstkontroll i Azure (Azure RBAC) för användare eller grupper. Mer information finns i Bevilja rollbaserad åtkomst för användare till Azure Maps.

  7. Lägg till kod för att hämta tokenflöde i programmet för implementeringsinformation i Enhetskodflöde. När du hämtar token refererar du till omfånget: user_impersonation som valdes i tidigare steg.

    Dricks

    Använd Microsoft Authentication Library (MSAL) för att hämta åtkomsttoken. Mer information finns i Skrivbordsapp som anropar webb-API:er: Kodkonfiguration i Active Directory-dokumentationen.

  8. Skriv HTTP-begäran med den förvärvade token från Microsoft Entra-ID:t och skicka begäran med en giltig HTTP-klient.

Exempelbegäran

Här är ett exempel på begärandetext för att ladda upp en enkel geofence som representeras som en cirkelgeometri med hjälp av en mittpunkt och en radie.

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

Följande exempelförfrågningstext finns i GeoJSON:

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

Exempel på svarsrubrik

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

Bevilja rollbaserad åtkomst för användare till Azure Maps

Du kan bevilja rollbaserad åtkomstkontroll i Azure (Azure RBAC) genom att tilldela en Microsoft Entra-grupp eller säkerhetsobjekt till en eller flera Rolldefinitioner för Azure Maps.

Information om hur du visar tillgängliga Azure-rolldefinitioner för Azure Maps finns i Visa inbyggda rolldefinitioner för Azure Maps.

Detaljerade steg om hur du tilldelar en tillgänglig Azure Maps-roll till den skapade hanterade identiteten eller tjänstens huvudnamn finns i Tilldela Azure-roller med hjälp av Azure-portalen

Information om hur du effektivt hanterar Azure Maps-appen och resursåtkomsten för en stor mängd användare finns i Microsoft Entra-grupper.

Viktigt!

För att användare ska kunna autentisera till ett program måste användarna först skapas i Microsoft Entra-ID. Mer information finns i Lägga till eller ta bort användare med hjälp av Microsoft Entra ID.

Mer information om hur du effektivt hanterar en stor katalog för användare finns i Microsoft Entra-ID.

Varning

Inbyggda rolldefinitioner i Azure Maps ger en mycket stor auktoriseringsåtkomst till många REST-API:er för Azure Maps. Information om hur du begränsar API:ernas åtkomst till ett minimum finns i Skapa en anpassad rolldefinition och tilldela den systemtilldelade identiteten till definitionen för anpassad roll. Detta ger den minsta behörighet som krävs för att programmet ska få åtkomst till Azure Maps.

Nästa steg

Hitta API-användningsstatistiken för ditt Azure Maps-konto: