Skydda ett webbprogram med användarinloggning
Följande guide gäller ett program som finns på webbservrar, underhåller flera affärsscenarier och distribuerar till webbservrar. Programmet har krav på att endast tillhandahålla skyddade resurser som skyddas av 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:
Logga in på Azure-portalen.
Gå till Menyn i Azure-portalen. Välj Alla resurser och välj sedan ditt Azure Maps-konto.
Under Inställningar i den vänstra rutan väljer du Autentisering.
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ärdetClient 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
Du måste skapa webbprogrammet i Microsoft Entra-ID för att användarna ska kunna logga in. Det här webbprogrammet delegerar sedan användaråtkomst till Rest-API:er för Azure Maps.
I Azure-portalen går du till listan över Azure-tjänster och väljer Microsoft Entra ID>Appregistreringar>Ny registrering.
Ange ett namn, välj en typ av supportkonto, ange en omdirigerings-URI som representerar url:en som Microsoft Entra-ID utfärdar token till, vilket är url:en där kartkontrollen finns. Mer information finns i Microsoft Entra ID Scenario: Webbapp som loggar in användare. Slutför de angivna stegen från Microsoft Entra-scenariot.
När programregistreringen är klar bekräftar du att programinloggningen fungerar för användarna. När inloggningen fungerar kan programmet beviljas delegerad åtkomst till Azure Maps REST-API:er.
Om du vill tilldela delegerade API-behörigheter till Azure Maps går du till programmet och väljer API-behörigheter>Lägg till en behörighet. välj Azure Maps i listan ÖVER API:er som min organisation använder .
Markera kryssrutan bredvid Åtkomst till Azure Maps och välj sedan Lägg till behörigheter.
Aktivera webbappen för att anropa Rest-API:er för Azure Maps genom att konfigurera appregistreringen med en programhemlighet. Mer information finns i En webbapp som anropar webb-API:er: Appregistrering. En hemlighet krävs för att autentisera till Microsoft Entra å användarens vägnar. Appregistreringscertifikatet eller hemligheten ska lagras i ett säkert arkiv där webbprogrammet kan hämtas för att autentisera till Microsoft Entra-ID.
- Det här steget kan hoppas över om programmet redan har en Microsoft Entra-appregistrering och en hemlighet konfigurerad.
Dricks
Om programmet finns i en Azure-miljö rekommenderar vi att du använder hanterade identiteter för Azure-resurser och en Azure Key Vault-instans för att få åtkomst till hemligheter genom att hämta en åtkomsttoken för åtkomst till Azure Key Vault-hemligheter eller -certifikat. Information om hur du ansluter till Azure Key Vault för att hämta hemligheter finns i självstudien om hur du ansluter via hanterad identitet.
Implementera en slutpunkt för säker token för Azure Maps Web SDK för att få åtkomst till en token.
- En exempeltokenkontrollant finns i Exempel på Microsoft Entra-ID för Azure Maps.
- En icke-AspNetCore-implementering eller något annat finns i Hämta token för appen från Microsoft Entra-dokumentationen.
- Den skyddade tokenslutpunkten ansvarar för att returnera en åtkomsttoken för den autentiserade och auktoriserade användaren att anropa Azure Maps REST-API:er.
Information om hur du konfigurerar rollbaserad åtkomstkontroll i Azure (Azure RBAC) för användare eller grupper finns i bevilja rollbaserad åtkomst för användare.
Konfigurera webbappsidan med Azure Maps Web SDK för åtkomst till slutpunkten för säker token.
var map = new atlas.Map("map", {
center: [-122.33, 47.64],
zoom: 12,
language: "en-US",
authOptions: {
authType: "anonymous",
clientId: "<insert>", // azure map account client id
getToken: function (resolve, reject, map) {
var xhttp = new XMLHttpRequest();
xhttp.open("GET", "/api/token", true); // the url path maps to the token endpoint.
xhttp.onreadystatechange = function () {
if (this.readyState === 4 && this.status === 200) {
resolve(this.responseText);
} else if (this.status !== 200) {
reject(this.responseText);
}
};
xhttp.send();
}
}
});
map.events.add("tokenacquired", function () {
console.log("token acquired");
});
map.events.add("error", function (err) {
console.log(JSON.stringify(err.error));
});
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
Ytterligare förståelse för webbprogramscenario:
Hitta API-användningsstatistiken för ditt Azure Maps-konto:
Utforska exempel som visar hur du integrerar Microsoft Entra-ID med Azure Maps: