Dela via


Skydda ett ensidesprogram med användarinloggning

Följande guide gäller för ett program som finns på en innehållsserver eller har minimala webbserverberoenden. Programmet erbjuder skyddade resurser som endast är tillgängliga för Microsoft Entra-användare. Målet med scenariot är att göra det möjligt för webbprogrammet att autentisera till Microsoft Entra-ID och anropa Azure Maps REST-API:er för användarens räkning.

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 Primary KeySecondary 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 dina nycklar måste du uppdatera alla program som har åtkomst till det här kontot för att använda de nya nycklarna. Mer information finns i Autentisering med Azure Maps

Skapa en programregistrering i Microsoft Entra-ID

Skapa webbprogrammet i Microsoft Entra-ID så att användarna kan logga in. Webbprogrammet delegerar användaråtkomst till Rest-API:er för Azure Maps.

  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 en typ av supportkonto, ange en omdirigerings-URI som representerar url:en som Microsoft Entra-ID utfärdar token och är url:en där kartkontrollen finns. Ett detaljerat exempel finns i Azure Maps Microsoft Entra ID-exempel. Välj Registrera.

  3. Om du vill tilldela delegerade API-behörigheter till Azure Maps går du till programmet. Under Appregistreringar väljer du 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.

    Skärmbild som visar en lista över API:er som min organisation använder.

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

    Skärmbild som visar skärmen för api-behörigheter för begärandeappen.

  5. Aktivera oauth2AllowImplicitFlow. Om du vill aktivera det går du till avsnittet Manifest i din appregistrering och anger oauth2AllowImplicitFlow till true.

  6. Kopiera Microsoft Entra-app-ID:t och Microsoft Entra-klient-ID:t från appregistreringen som ska användas i Web SDK. Lägg till registreringsinformationen för Microsoft Entra-appen och x-ms-client-id från Azure Map-kontot i Web SDK.

        <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. Konfigurera rollbaserad åtkomstkontroll i Azure (Azure RBAC) för användare eller grupper. Se följande avsnitt för att aktivera Azure RBAC.

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

Du kan bevilja rollbaserad åtkomstkontroll i Azure (Azure RBAC) genom att associera en Microsoft Entra-grupp eller säkerhetsprincip med 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

Ytterligare förståelse för scenariot med ensidesprogram:

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

Utforska exempel som visar hur du integrerar Microsoft Entra-ID med Azure Maps: