Autentisering med Azure Maps
Azure Kartor två sätt att autentisera begäranden: autentisering med delad nyckel och Azure Active Directory (Azure AD)-autentisering. I den här artikeln beskrivs båda autentiseringsmetoderna som hjälp vid implementeringen av Azure Kartor tjänster.
Anteckning
För att förbättra säker kommunikation med Azure Kartor stöder vi nu Transport Layer Security (TLS) 1.2 och vi drar tillbaka stödet för TLS 1.0 och 1.1. Om du för närvarande använder TLS 1.x utvärderar du TLS 1.2-beredskapen och utvecklar en migreringsplan med de tester som beskrivs i Lösa TLS 1.0-problemet.
Autentisering med delad nyckel
Primära och sekundära nycklar genereras när Azure Kartor-kontot har skapats. Vi uppmanar dig att använda den primära nyckeln som prenumerationsnyckel när du anropar Azure Kartor med autentisering med delad nyckel. Autentisering med delad nyckel skickar en nyckel som genereras av ett Azure Kartor-konto till en Azure Kartor-tjänst. För varje begäran till Azure Kartor-tjänster lägger du till prenumerationsnyckeln som en parameter i URL:en. Den sekundära nyckeln kan användas i scenarier som ändringar av rullande nycklar.
Exempel på hur du använder prenumerationsnyckeln som en parameter i url:en:
https://atlas.microsoft.com/mapData/upload?api-version=1.0&dataFormat=zip&subscription-key={Azure-Maps-Primary-Subscription-key}
Information om hur du visar dina nycklar i Azure Portal finns i Hantera autentisering.
Anteckning
Primära och sekundära nycklar ska behandlas som känsliga data. Den delade nyckeln används för att autentisera alla Azure-Kartor REST-API:er. Användare som använder en delad nyckel bör abstrahera BORT API-nyckeln, antingen via miljövariabler eller säker hemlig lagring, där den kan hanteras centralt.
Azure AD-autentisering
Azure-prenumerationer tillhandahålls med en Azure AD-klientorganisation för att möjliggöra mer information om åtkomstkontroll. Azure Kartor erbjuder autentisering för Azure Kartor-tjänster med Hjälp av Azure AD. Azure AD tillhandahåller identitetsbaserad autentisering för användare och program som är registrerade i Azure AD-klientorganisationen.
Azure Kartor accepterar OAuth 2.0-åtkomsttoken för Azure AD-klienter som är associerade med en Azure-prenumeration som innehåller ett Azure Kartor konto. Azure Kartor accepterar även token för:
- Azure AD-användare
- Partnerprogram som använder behörigheter som delegerats av användare
- Hanterade identiteter för Azure-resurser
Azure Kartor genererar en unik identifierare (klient-ID) för varje Azure Kartor konto. Du kan begära token från Azure AD när du kombinerar det här klient-ID:t med ytterligare parametrar.
Mer information om hur du konfigurerar Azure AD och begär token för Azure Kartor finns i Hantera autentisering i Azure Kartor.
Allmän information om autentisering med Azure AD finns i Vad är autentisering?.
Hanterade identiteter för Azure-resurser och Azure Kartor
Hanterade identiteter för Azure-resurser ger Azure-tjänster ett automatiskt hanterat programbaserat säkerhetsobjekt som kan autentisera med Azure AD. Med rollbaserad åtkomstkontroll i Azure (Azure RBAC) kan säkerhetsobjekt för hanterad identitet ges behörighet att komma åt Azure Kartor tjänster. Några exempel på hanterade identiteter är: Azure App Service, Azure Functions och Azure Virtual Machines. En lista över hanterade identiteter finns i Hanterade identiteter för Azure-resurser.
Konfigurera Azure AD-autentisering för program
Program autentiseras med Azure AD-klientorganisationen med hjälp av ett eller flera scenarier som stöds av Azure AD. Varje Azure AD-programscenario representerar olika krav baserat på affärsbehov. Vissa program kan kräva användarupplevelser för inloggning och andra program kan kräva en inloggningsupplevelse för programmet. Mer information finns i Autentiseringsflöden och programscenarier.
När programmet tar emot en åtkomsttoken skickar SDK:n och/eller programmet en HTTPS-begäran med följande uppsättning nödvändiga HTTP-huvuden utöver andra REST API HTTP-huvuden:
| Rubriknamn | Värde |
|---|---|
| x-ms-client-id | 30d7cc….9f55 |
| Auktorisering | Bearer eyJ0e….HNIVN |
Anteckning
x-ms-client-idär azure-Kartor-baserat GUID som visas på sidan för Kartor Azure-autentisering.
Här är ett exempel på en Azure Kartor-vägbegäran som använder en Azure AD OAuth-token:
GET /route/directions/json?api-version=1.0&query=52.50931,13.42936:52.50274,13.43872
Host: atlas.microsoft.com
x-ms-client-id: 30d7cc….9f55
Authorization: Bearer eyJ0e….HNIVN
Information om hur du visar ditt klient-ID finns i Visa autentiseringsinformation.
Auktorisering med rollbaserad åtkomstkontroll
Azure Kartor har stöd för åtkomst till alla huvudnamnstyper för rollbaserad åtkomstkontroll i Azure (Azure RBAC), inklusive: enskilda Azure AD-användare, grupper, program, Azure-resurser och Hanterade Azure-identiteter. Huvudnamnstyper beviljas en uppsättning behörigheter, även kallade rolldefinitioner. En rolldefinition ger behörighet att REST API åtgärder. Att tillämpa åtkomst till ett eller flera Azure Kartor-konton kallas för ett omfång. När du tillämpar ett huvudnamn, en rolldefinition och ett omfång skapas en rolltilldelning.
I nästa avsnitt beskrivs begrepp och komponenter i Azure Kartor integrering med Azure RBAC. Som en del av processen för att konfigurera ditt Azure Kartor-konto associeras en Azure AD-katalog med Azure-prenumerationen, som Azure Kartor-kontot finns.
När du konfigurerar Azure RBAC väljer du ett säkerhetsobjekt och tillämpar det på en rolltilldelning. Information om hur du lägger till rolltilldelningar på Azure Portal finns i Tilldela Azure-roller.
Välja en rolldefinition
Följande typer av rolldefinitioner finns som stöd för programscenarier.
| Azure-rolldefinition | Beskrivning |
|---|---|
| Azure Kartor Data Reader | Ger åtkomst till oföränderliga Azure Kartor REST-API:er. |
| Azure Kartor Data Contributor | Ger åtkomst till föränderliga Azure Kartor REST-API:er. Föränderlighet definieras av åtgärderna: skriva och ta bort. |
| Definition av anpassad roll | Skapa en utformad roll för att möjliggöra flexibel begränsad åtkomst till Azure Kartor REST-API:er. |
Vissa Azure Kartor-tjänster kan kräva utökade privilegier för att utföra skriv- eller borttagningsåtgärder på Azure Kartor REST-API:er. Azure Kartor rollen Datadeltagare krävs för tjänster som tillhandahåller skriv- eller borttagningsåtgärder. I följande tabell beskrivs vilka tjänster Azure Kartor datadeltagare kan använda när du använder skriv- eller borttagningsåtgärder. När endast läsåtgärder krävs kan Azure Kartor-rollen Dataläsare användas i stället för rollen Azure Kartor-datadeltagare.
| Azure Kartor Service | Rolldefinition Kartor Azure Kartor |
|---|---|
| Data | Azure Kartor Data Contributor |
| Creator | Azure Kartor Data Contributor |
| Spatial | Azure Kartor Data Contributor |
Information om hur du visar dina Azure RBAC-inställningar finns i Så här konfigurerar du Azure RBAC för Azure Kartor.
Anpassade rolldefinitioner
En aspekt av programsäkerheten är principen om minsta behörighet, att begränsa åtkomstbehörigheten till endast de som behövs för att göra jobbet. Du kan åstadkomma detta genom att skapa anpassade rolldefinitioner som stöder användningsfall som kräver ytterligare kornighet för åtkomstkontroll. Om du vill skapa en anpassad rolldefinition väljer du specifika dataåtgärder som ska inkluderas eller undantas för definitionen.
Den anpassade rolldefinitionen kan sedan användas i en rolltilldelning för alla säkerhetsobjekt. Mer information om anpassade rolldefinitioner i Azure finns i Anpassade Roller i Azure.
Här är några exempelscenarier där anpassade roller kan förbättra programsäkerheten.
| Scenario | Dataåtgärder för anpassade roller |
|---|---|
| En offentlig eller interaktiv inloggningswebbsida med grundläggande kartpaneler och inga andra REST API:er. | Microsoft.Maps/accounts/services/render/read |
| Ett program som endast kräver omvänd geokodning och inga andra REST API:er. | Microsoft.Maps/accounts/services/search/read |
| En roll för ett säkerhetsobjekt som begär läsning av Azure Kartor Creator-baserade kartdata och REST API:er för baskartpaneler. | Microsoft.Maps/accounts/services/data/read, Microsoft.Maps/accounts/services/render/read |
| En roll för ett säkerhetsobjekt som kräver läsning, skrivning och borttagning av Creator-baserade kartdata. Detta kan definieras som en roll för kartdataredigeraren, men tillåter inte åtkomst till andra REST API:er som basmappningspaneler. | Microsoft.Maps/accounts/services/data/read, Microsoft.Maps/accounts/services/data/write, Microsoft.Maps/accounts/services/data/delete |
Förstå omfång
När du skapar en rolltilldelning definieras den i Azure-resurshierarkin. Överst i hierarkin finns en hanteringsgrupp och den lägsta är en Azure-resurs, till exempel ett Azure Kartor konto. Genom att tilldela en rolltilldelning till en resursgrupp kan du ge åtkomst till flera Azure Kartor-konton eller resurser i gruppen.
Tips
Microsofts allmänna rekommendation är att tilldela åtkomst till Azure Kartor-kontoomfånget eftersom det förhindrar oavsiktlig åtkomst till andra Azure Kartor-konton som finns i samma Azure-prenumeration.
Nästa steg
Mer information om Azure RBAC finns i
Mer information om hur du autentiserar ett program med Azure AD och Azure Kartor finns i
Mer information om hur du autentiserar Azure Kartor Kartkontroll med Azure AD finns i