Megosztás a következőn keresztül:


Hitelesítés az Azure Maps használatával

Az Azure Maps három hitelesítési módszert támogat: Megosztott kulcs, Microsoft Entra-azonosító és SAS-jogkivonat. Ez a cikk ismerteti ezeket a hitelesítési módszereket, beleértve a fiókvezérlők részleteit, például az Azure Policy és a több forrás közötti erőforrás-megosztás (CORS) helyi hitelesítésének letiltását.

Feljegyzés

Az Azure Mapsszel való biztonságos kommunikáció javítása érdekében mostantól támogatjuk a Transport Layer Security (TLS) 1.2-es verziót, és a TLS 1.0 és az 1.1 támogatásának kivonásával. Ha jelenleg TLS 1.x-et használ, értékelje ki a TLS 1.2 felkészültségét, és dolgozzon ki egy migrálási tervet a TLS 1.0-s probléma megoldásában leírt teszteléssel.

Megosztott kulcs hitelesítése

A kulcsok Azure Portalon való megtekintéséről további információt a hitelesítési adatok megtekintése című témakörben talál.

Az elsődleges és másodlagos kulcsok automatikusan létrejönnek egy Azure Maps-fiók létrehozásakor. Javasoljuk, hogy az elsődleges kulcsot használja előfizetési kulcsként, amikor megosztott kulcsú hitelesítéssel hívja meg az Azure Mapset. A megosztott kulcsos hitelesítés átadja az Azure Maps-fiók által létrehozott kulcsot egy Azure Maps-szolgáltatásnak. Az Azure Maps-szolgáltatásoknak küldött minden kéréshez adja hozzá az előfizetési kulcsot paraméterként az URL-címhez. A másodlagos kulcs olyan helyzetekben használható, mint a gördülőkulcs-módosítások.

Példa az előfizetési kulcs paraméterként való használatára az URL-címben:

https://atlas.microsoft.com/map/tile?subscription-key={Your-Azure-Maps-Subscription-key}&api-version=2024-04-01&tilesetId=microsoft.base.road&zoom=15&x=5236&y=12665&tileSize=256

Fontos

Az elsődleges és másodlagos kulcsokat bizalmas adatokként kell kezelni. A megosztott kulcs az összes Azure Maps REST API hitelesítésére szolgál. A megosztott kulcsot használó felhasználóknak el kell absztrakciót alkalmazniuk az API-kulcsról, akár környezeti változókon keresztül, akár biztonságos titkos tárterületen keresztül, ahol központilag felügyelhetők.

Microsoft Entra hitelesítés

Az Azure-előfizetéseket egy Microsoft Entra-bérlő biztosítja a részletes hozzáférés-vezérlés engedélyezéséhez. Az Azure Maps a Microsoft Entra ID használatával nyújt hitelesítést az Azure Maps-szolgáltatásokhoz. A Microsoft Entra ID identitásalapú hitelesítést biztosít a Microsoft Entra-bérlőben regisztrált felhasználók és alkalmazások számára.

Az Azure Maps elfogadja az Azure Maps-fiókot tartalmazó Azure-előfizetéshez társított Microsoft Entra-bérlők OAuth 2.0 hozzáférési jogkivonatait. Az Azure Maps a következő jogkivonatokat is elfogadja:

  • Microsoft Entra-felhasználók
  • Felhasználók által delegált engedélyeket használó partneralkalmazások
  • Azure-erőforrások felügyelt identitásai

Az Azure Maps minden Azure Maps-fiókhoz létrehoz egy egyedi azonosítót (ügyfélazonosítót). A Microsoft Entra ID-tól jogkivonatokat kérhet, ha ezt az ügyfél-azonosítót más paraméterekkel kombinálja.

A Microsoft Entra-azonosító konfigurálásáról és az Azure Maps-jogkivonatok lekéréséről további információt az Azure Maps hitelesítésének kezelése című témakörben talál.

A Microsoft Entra-azonosítóval való hitelesítéssel kapcsolatos általános információkért lásd : Hitelesítés és engedélyezés.

Felügyelt identitások az Azure-erőforrásokhoz és az Azure Mapshez

Az Azure-erőforrások felügyelt identitásai egy automatikusan felügyelt alkalmazásalapú biztonsági tagot biztosítanak az Azure-szolgáltatások számára, amely a Microsoft Entra-azonosítóval hitelesíthető. Az Azure szerepköralapú hozzáférés-vezérlésével (Azure RBAC) a felügyelt identitásbiztonsági tag jogosult az Azure Maps-szolgáltatások elérésére. Néhány példa a felügyelt identitásokra: Azure-alkalmazás Service, Azure Functions és Azure Virtual Machines. A felügyelt identitások listájáért tekintse meg azOkat az Azure-szolgáltatásokat, amelyek felügyelt identitásokat használhatnak más szolgáltatások eléréséhez. A felügyelt identitásokkal kapcsolatos további információkért lásd: Hitelesítés kezelése az Azure Mapsben.

Alkalmazás Microsoft Entra-hitelesítésének konfigurálása

Az alkalmazások a Microsoft Entra-bérlővel hitelesíthetők a Microsoft Entra ID által biztosított egy vagy több támogatott forgatókönyv használatával. Minden Microsoft Entra-alkalmazásforgatókönyv különböző követelményeket képvisel az üzleti igények alapján. Egyes alkalmazások felhasználói bejelentkezési élményt igényelhetnek, más alkalmazások pedig alkalmazásbejelentkozási felületet igényelhetnek. További információkért lásd: Hitelesítési folyamatok és alkalmazáshasználati forgatókönyvek.

Miután az alkalmazás megkapta a hozzáférési jogkivonatot, az SDK és/vagy az alkalmazás a többi REST API HTTP-fejléc mellett a következő HTTP-fejléckészlettel küld egy HTTPS-kérést:

Fejléc neve Érték
x-ms-client-id 30d7cc... 9f55
Engedélyezés Tulajdonos eyJ0e... HNIVN

Feljegyzés

x-ms-client-id Az Azure Maps fiókalapú GUID azonosítója, amely az Azure Maps hitelesítési oldalán jelenik meg.

Íme egy példa egy Azure Maps-útvonalkérésre, amely Egy Microsoft Entra ID OAuth Bearer-jogkivonatot használ:

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

Az ügyfél-azonosító megtekintéséről további információt a hitelesítési adatok megtekintése című témakörben talál.

Tipp.

Az ügyfélazonosító programozott lekérése

A PowerShell használatakor az ügyfélazonosító az UniqueId objektum tulajdonságaként IMapsAccount lesz tárolva. Ezt a tulajdonságot például a következővel Get-AzMapsAccountkérdezheti le:

$maps = Get-AzMapsAccount -Name {Azure-Maps_Account-Name} -ResourceGroupName {Resource-Group-Name} -SubscriptionId {SubscriptionId}
$ClientId = $maps.UniqueId

Az Azure CLI használatakor használja a az maps account show parancsot a --query paraméterrel, például:

$ClientId = az maps account show --name {Azure-Maps_Account-Name} --resource-group {Resource-Group-Name} --subscription {SubscriptionId} --query properties.uniqueId

Engedélyezés szerepköralapú hozzáférés-vezérléssel

Előfeltételek

Ha még nem ismeri az Azure RBAC-t, az Azure szerepköralapú hozzáférés-vezérlésének (Azure RBAC) áttekintése biztosítja, hogy az egyszerű típusok engedélykészletet, más néven szerepkördefiníciót kapjanak. A szerepkördefiníciók a REST API-műveletekhez biztosítanak engedélyeket. Az Azure Maps támogatja az Azure-beli szerepköralapú hozzáférés-vezérlés (Azure RBAC) összes fő típusához való hozzáférést, beleértve az egyes Microsoft Entra-felhasználókat, csoportokat, alkalmazásokat, Azure-erőforrásokat és Felügyelt Azure-identitásokat. A hozzáférés egy vagy több Azure Maps-fiókhoz való alkalmazását hatókörnek nevezzük. A rendszer szerepkör-hozzárendelést hoz létre egy egyszerű, szerepkördefiníció és hatókör alkalmazásakor.

Áttekintés

A következő szakaszok az Azure Maps Azure RBAC-vel való integrációjának alapelveit és összetevőit ismertetik. Az Azure Maps-fiók beállításának részeként egy Microsoft Entra-címtár van társítva az Azure-előfizetéshez, amely az Azure Maps-fiókban található.

Az Azure RBAC konfigurálásakor válasszon ki egy biztonsági tagot, és alkalmazza azt egy szerepkör-hozzárendelésre. Ha tudni szeretné, hogyan adhat hozzá szerepkör-hozzárendeléseket az Azure Portalon, olvassa el az Azure-szerepkörök hozzárendelése az Azure Portal használatával című témakört.

Szerepkördefiníció kiválasztása

Az alkalmazásforgatókönyvek támogatásához az alábbi szerepkördefiníció-típusok léteznek.

Azure-szerepkördefiníció Leírás
Az Azure Maps keresési és renderelési adatolvasója Hozzáférést biztosít az Azure Maps REST API-k kereséséhez és rendereléséhez az alapszintű webböngészőhasználati esetek korlátozásához.
Azure Maps-adatolvasó Hozzáférést biztosít a nem módosítható Azure Maps REST API-khoz.
Azure Maps-adatszolgáltató Hozzáférést biztosít a mutable Azure Maps REST API-khoz. A műveletek által definiált módosíthatóság: írás és törlés.
Az Azure Maps adatolvasási és batch-szerepköre Ezzel a szerepkörsel olvasási és kötegelési műveleteket rendelhet az Azure Mapshez.
Egyéni szerepkördefiníció Hozzon létre egy létrehozott szerepkört az Azure Maps REST API-k rugalmas korlátozott hozzáférésének engedélyezéséhez.

Egyes Azure Maps-szolgáltatások emelt szintű jogosultságokat igényelnek az írási vagy törlési műveletek végrehajtásához az Azure Maps REST API-kban. Az írási vagy törlési műveleteket biztosító szolgáltatásokhoz Azure Maps-adatszolgáltatói szerepkör szükséges. Az alábbi táblázat azt ismerteti, hogy az Azure Maps Adatszolgáltató milyen szolgáltatásokra alkalmazható írási vagy törlési műveletek használatakor. Ha csak olvasási műveletekre van szükség, az Azure Maps Adatolvasó szerepkör az Azure Maps adatszolgáltatói szerepkör helyett használható.

Azure Maps szolgáltatás Azure Maps szerepkördefiníció
Létrehozó (elavult1) Azure Maps-adatszolgáltató
Térbeli (elavult1) Azure Maps-adatszolgáltató
Batch-keresés és útvonal Azure Maps-adatszolgáltató

1 Az Azure Maps Creator, valamint az adatregisztrációs adatbázis és a térbeli szolgáltatások elavultak, és 9/30/25-én megszűnnek.

Az Azure RBAC-beállítások megtekintéséről további információt az Azure RBAC Azure Mapshez való konfigurálásával kapcsolatban talál.

Egyéni szerepkör-definíciók

Az alkalmazásbiztonság egyik aspektusa a minimális jogosultság elve, az a gyakorlat, amely korlátozza a hozzáférési jogosultságokat az aktuális feladathoz szükséges jogosultságokra. A hozzáférési jogosultságok korlátozásához egyéni szerepkör-definíciókat kell létrehozni, amelyek támogatják a hozzáférés-vezérléshez további részletességet igénylő használati eseteket. Egyéni szerepkördefiníció létrehozásához válassza ki a definícióhoz hozzáadni vagy kizárni kívánt adatműveleteket.

Az egyéni szerepkördefiníció ezután bármely biztonsági tag szerepkör-hozzárendelésében használható. Az Egyéni Azure-szerepkör-definíciókkal kapcsolatos további információkért tekintse meg az Azure-ra vonatkozó egyéni szerepköröket.

Íme néhány példaforgatókönyv, ahol az egyéni szerepkörök javíthatják az alkalmazások biztonságát.

Eset Egyéni szerepkör-adatműveletek
Nyilvános vagy interaktív bejelentkezési weblap alaptérkép-csempékkel és más REST API-k nélkül. Microsoft.Maps/accounts/services/render/read
Olyan alkalmazás, amely csak fordított geokódolást igényel, más REST API-kat nem. Microsoft.Maps/accounts/services/search/read
Egy biztonsági tag szerepköre, amely az Azure Maps Creator-alapú térképadatok és az alaptérkép-csempe REST API-jainak olvasását kéri. Microsoft.Maps/accounts/services/data/read, Microsoft.Maps/accounts/services/render/read
Egy biztonsági tag szerepköre, amelyhez a létrehozóalapú térképadatok olvasása, írása és törlése szükséges. Olyan térképadat-szerkesztői szerepkörként definiálva, amely nem teszi lehetővé a hozzáférést más REST API-hoz, például az alaptérkép-csempékhez. Microsoft.Maps/accounts/services/data/read, , Microsoft.Maps/accounts/services/data/writeMicrosoft.Maps/accounts/services/data/delete

A hatókör bemutatása

A szerepkör-hozzárendelések az Azure-erőforráshierarchiában vannak definiálva, a legfelső szintű felügyeleti csoporttól a legalacsonyabb szintig, például egy Azure Maps-fiókig.

Ha szerepkör-hozzárendelést rendel egy erőforráscsoporthoz, több Azure Maps-fiókhoz vagy -erőforráshoz is hozzáférhet a csoportban.

Tipp.

A Microsoft általános ajánlása, hogy rendeljen hozzáférést az Azure Maps-fiók hatóköréhez, mert megakadályozza az ugyanazon Azure-előfizetésben meglévő többi Azure Maps-fiókhoz való nem szándékos hozzáférést.

Helyi hitelesítés letiltása

Az Azure Maps-fiókok támogatják a felügyeleti API standard Azure-tulajdonságát a meghíváshozdisableLocalAuthMicrosoft.Maps/accounts. Ha igaz, az Azure Maps adatsík REST API-jának összes hitelesítése le van tiltva, kivéve a Microsoft Entra-hitelesítést. Ez az Azure Policy használatával van konfigurálva a megosztott kulcsok és SAS-jogkivonatok terjesztésének és felügyeletének szabályozására. További információ: Mi az az Azure Policy?

A helyi hitelesítés letiltása nem lép érvénybe azonnal. Hagyjon néhány percet, amíg a szolgáltatás letiltja a jövőbeli hitelesítési kéréseket. A helyi hitelesítés újbóli engedélyezéséhez állítsa a tulajdonságot hamis értékre, és néhány perc elteltével a helyi hitelesítés folytatódik.

{
  // omitted other properties for brevity.
  "properties": {
    "disableLocalAuth": true
  }
}

Közös hozzáférésű jogosultságkód jogkivonatának hitelesítése

A közös hozzáférésű jogosultságkódok (SAS)-jogkivonatok JSON Web Token (JWT) formátumban létrehozott hitelesítési jogkivonatok. Ezek a jogkivonatok kriptográfiai aláírással vannak aláírva egy alkalmazás Azure Maps REST API-val való hitelesítéséhez. Ezek az SAS-jogkivonatok úgy jönnek létre, hogy egy felhasználó által hozzárendelt felügyelt identitást integrálnak egy Azure Maps-fiókkal az Azure-előfizetésben. A felhasználó által hozzárendelt felügyelt identitás az Azure Maps-fiók számára az Azure RBAC-en keresztül kap engedélyt beépített vagy egyéni szerepkör-definíciók használatával.

Az SAS-jogkivonat funkcionális fő eltérései a Microsoft Entra hozzáférési jogkivonataitól:

  • Egy jogkivonat élettartama egy nap (24 óra) maximális lejáratáig.
  • Az Azure hely- és földrajzi hozzáférés-vezérlése jogkivonatonként.
  • Jogkivonatonkénti sebességkorlátok másodpercenként körülbelül 1–500 kéréshez.
  • A jogkivonat titkos kulcsai az Azure Maps-fiókerőforrás elsődleges és másodlagos kulcsai.
  • Az engedélyezéshez a Szolgáltatásnév objektumot egy felhasználó által hozzárendelt felügyelt identitás adja meg.

Az SAS-jogkivonatok nem módosíthatók. A létrehozásuk után érvényesek maradnak, amíg el nem járnak, és nem módosíthatók a beállításaik, például az engedélyezett régiók, a díjkorlátok és a felhasználó által hozzárendelt felügyelt identitások. Az SAS-jogkivonatok visszavonásáról és a hozzáférés-vezérlés módosításáról további információt a hozzáférés-vezérlés ismertetése tartalmaz.

Az SAS-jogkivonatok sebességkorlátainak ismertetése

Az SAS-jogkivonat maximális sebességkorlátja szabályozhatja az Azure Maps-erőforrások számlázását

A jogkivonat maximális díjkorlátjának beállításakor (maxRatePerSecond) a korlátot meghaladó díjakat a rendszer nem számlázja ki a fióknak, így a számlázható tranzakciókra vonatkozó korlátot állapíthat meg. Az alkalmazás azonban a korlát elérése után az összes tranzakcióval 429 (TooManyRequests) kapcsolatos ügyfélhiba-válaszokat kapja. Az alkalmazás feladata az újrapróbálkozások kezelése és az SAS-jogkivonatok terjesztése. A fiókhoz létrehozható SAS-jogkivonatok száma nincs korlátozva. Meglévő jogkivonat korlátjának módosításához létre kell hozni egy új SAS-jogkivonatot. A régi SAS-jogkivonat érvényes marad, amíg lejár.

Becsült példa:

Hozzávetőleges maximális sebesség másodpercenként Tényleges sebesség másodpercenként A tartós ráta időtartama másodpercben Számlázható tranzakciók teljes száma
10 20 600 6000

A tényleges sebességkorlátok attól függően változnak, hogy az Azure Maps képes-e a konzisztenciát hosszabb időn belül kikényszeríteni. Ez azonban lehetővé teszi a számlázási költségek megelőző ellenőrzését.

A sebességkorlátok az Azure-beli helyeken vannak kikényszerítve, nem globálisan vagy földrajzilag

Egy 10-es sas-jogkivonat maxRatePerSecond például a hely átviteli sebességének East US korlátozására használható. Ha ugyanazt a jogkivonatot használja West US 2, a rendszer létrehoz egy új számlálót, amely a helyétől függetlenül 10-re korlátozza az átviteli sebességet az East US adott helyen. Javaslatok a költségek szabályozására és a kiszámíthatóság javítására:

  1. SAS-jogkivonatok létrehozása a kijelölt engedélyezett Azure-helyekkel a célzott földrajzi helyhez.
  2. Földrajzi adatsíkú REST API-végpontok https://us.atlas.microsoft.com vagy https://eu.atlas.microsoft.com.

Fontolja meg az alkalmazástopológiát, ahol a végpont az Azure Maps-szolgáltatások által üzemeltetett egyesült államokbeli helyekre irányítja a végpontot https://us.atlas.microsoft.com , például East US: , West Central USvagy West US 2. Ugyanez az elképzelés vonatkozik más földrajzi végpontokra is, például https://eu.atlas.microsoft.com a között West Europe és North Europea között. A váratlan engedélyezési elutasítások elkerülése érdekében használjon SAS-jogkivonatot, amely ugyanazokat az Azure-helyeket használja, amelyeket az alkalmazás használ. A végpont helye az Azure Maps Management REST API használatával van definiálva.

Az alapértelmezett sebességkorlátok elsőbbséget élveznek az SAS-jogkivonatok sebességkorlátjaival szemben

Az Azure Maps díjkorlátjaiban leírtak szerint az egyes szolgáltatásajánlatok díjkorlátjai együttesen, a fiók szintjén lesznek érvényesítve.

Vegyük figyelembe a Search szolgáltatás – Nem kötegelt visszafejtés esetét, amelynek korlátja másodpercenként 250 lekérdezés (QPS) az alábbi táblákhoz. Minden tábla a példahasználatból származó becsült összes sikeres tranzakciót jelöli.

Az első táblázatban egy jogkivonat látható, amely másodpercenként legfeljebb 500 kéréssel rendelkezik, és az alkalmazás tényleges kihasználtsága másodpercenként 500 kérés 60 másodpercen át. Search szolgáltatás – A nem kötegalapú fordított árfolyamkorlát 250, ami a 60 másodperc alatt küldött 30 000 kérést jelenti; ezek közül 15 000 számlázható tranzakció. A fennmaradó kérések állapotkódot 429 (TooManyRequests)eredményeznek.

Név Hozzávetőleges maximális sebesség másodpercenként Tényleges sebesség másodpercenként A tartós ráta időtartama másodpercben A sikeres tranzakciók hozzávetőleges száma
jogkivonat 500 500 60 ~15 000

Ha például két SAS-jogkivonat jön létre, és ugyanazt a helyet használja, mint egy Azure Maps-fiók, mindegyik jogkivonat az alapértelmezett 250 QPS-sebességkorláttal rendelkezik. Ha mindkét jogkivonatot ugyanazzal az átviteli sebességgel egyidejűleg használják, minden jogkivonat 7500 sikeres tranzakciót biztosít.

Név Hozzávetőleges maximális sebesség másodpercenként Tényleges sebesség másodpercenként A tartós ráta időtartama másodpercben A sikeres tranzakciók hozzávetőleges száma
token 1 250 250 60 ~7500
token 2 250 250 60 ~7500

AZ SAS-jogkivonat hozzáférés-vezérlésének ismertetése

Az SAS-jogkivonatok RBAC használatával szabályozzák a REST API-hoz való hozzáférést. SAS-jogkivonat létrehozásakor a térképfiók előfeltételként felügyelt identitásához egy Azure RBAC-szerepkör lesz hozzárendelve, amely hozzáférést biztosít adott REST API-műveletekhez. Lásd: Szerepkördefiníció kiválasztása annak meghatározásához, hogy az alkalmazás mely API-kat engedélyezi.

Az ideiglenes hozzáférés hozzárendeléséhez és eltávolításához, mielőtt az SAS-jogkivonat lejár, vonja vissza a jogkivonatot. A hozzáférés visszavonásának egy másik oka, ha a jogkivonatot véletlenül az Azure Maps adatszolgáltatói szerepkörrel osztották el, ami lehetővé teszi a jogosulatlan adatok olvasását/írását az Azure Maps REST API-kban, ami bizalmas adatexpozícióhoz vagy váratlan költségekhez vezethet.

Az SAS-jogkivonatok hozzáférésének visszavonására két lehetőség van:

  1. Hozza létre újra a térképfiók SAS-jogkivonata vagy másodlagoskulcsa által használt kulcsot.
  2. Távolítsa el a felügyelt identitás szerepkör-hozzárendelését a társított térképfiókon.

Figyelmeztetés

Az SAS-jogkivonat által használt felügyelt identitás törlése vagy a felügyelt identitás hozzáférés-vezérlésének visszavonása azt eredményezheti, hogy az alkalmazás az SAS-jogkivonatot és a felügyelt identitást használja a visszatéréshez 401 Unauthorized vagy 403 Forbidden az Azure Maps REST API-kból, ami az alkalmazások esetleges megszakadásához vezethet.

A megszakítás elkerülése érdekében:

  1. Adjon hozzá egy második felügyelt identitást a leképezési fiókhoz, és adja meg az új felügyelt identitásnak a megfelelő szerepkör-hozzárendelést.
  2. Hozzon létre egy SAS-jogkivonatot az előzőnél eltérő felügyelt identitással secondaryKey, és signingKey ossza el az új SAS-jogkivonatot az alkalmazással.
  3. Hozza létre újra az elsődleges kulcsot, távolítsa el a felügyelt identitást a fiókból, és távolítsa el a felügyelt identitás szerepkör-hozzárendelését.

SAS-jogkivonatok létrehozása

SAS-jogkivonatok létrehozásához szerepkör-hozzáféréssel kell rendelkeznie Contributor az Azure Maps-fiókok és a felhasználó által hozzárendelt identitások kezeléséhez az Azure-előfizetésben.

Fontos

Az Azure-ban global létrehozott meglévő Azure Maps-fiókok nem támogatják a felügyelt identitásokat.

Először létre kell hoznia egy felhasználó által hozzárendelt felügyelt identitást az Azure Maps-fiókkal azonos helyen.

Tipp.

Ugyanazt a helyet kell használnia a felügyelt identitáshoz és az Azure Maps-fiókhoz is.

A felügyelt identitás létrehozása után létrehozhatja vagy frissítheti az Azure Maps-fiókot, és csatolhatja azt. További információ: Az Azure Maps-fiók kezelése.

Miután a fiók sikeresen létrejött vagy frissítve van a felügyelt identitással; szerepköralapú hozzáférés-vezérlés hozzárendelése a felügyelt identitáshoz egy Azure Maps-adatszerepkörhöz a fiók hatókörében. Ez lehetővé teszi, hogy a felügyelt identitás hozzáférést kapjon a térképfiókhoz tartozó Azure Maps REST API-hoz.

Ezután hozzon létre egy SAS-jogkivonatot az Azure Management SDK eszközkészlet, a Fiókkezelési API SAS-műveletének listázása vagy az Azure Portal megosztott hozzáférésű jogosultságkód lapjának használatával.

SAS-jogkivonat paraméterei:

Paraméter neve Példaérték Leírás
aláírókulcs primaryKey Kötelező megadni az aláírókulcs primaryKeysztring-enumerálási értékét, secondaryKey vagy a felügyelt identitást az SAS aláírásának létrehozásához.
principalId <GUID> Kötelező, a principalId a térképfiókhoz csatolt, felhasználó által hozzárendelt felügyelt identitás objektum-(egyszerű) azonosítója.
régió [ "eastus", "westus2", "westcentralus" ] Nem kötelező, az alapértelmezett érték a következő null. A régiók szabályozzák, hogy az SAS-jogkivonat mely régiók használhatók az Azure Maps REST adatsík API-ban. A régiók kihagyása paraméter lehetővé teszi az SAS-jogkivonat korlátozás nélküli használatát. Ha az Azure Maps adatsík földrajzi végpontjával együtt használják, és us.atlas.microsoft.comeu.atlas.microsoft.com lehetővé teszi az alkalmazás számára a megadott földrajzi területen belüli használat szabályozását. Ez lehetővé teszi a használat megelőzését más földrajzi helyeken.
maxRatePerSecond 500 Kötelező, a megadott hozzávetőleges maximális kérelem másodpercenként, amelyet az SAS-jogkivonat ad meg. A korlát elérése után a http-állapotkóddal 429 (TooManyRequests)korlátozva lesz a nagyobb átviteli sebesség.
start 2021-05-24T10:42:03.1567373Z Kötelező, egy UTC-dátum, amely megadja a jogkivonat aktívvá válásának dátumát és időpontját.
expiry 2021-05-24T11:42:03.1567373Z Kötelező, egy UTC-dátum, amely megadja a jogkivonat lejáratának dátumát és időpontját. A kezdés és a lejárat közötti időtartam nem lehet hosszabb 24 óránál.

Alkalmazás konfigurálása SAS-jogkivonattal

Miután az alkalmazás megkapta az SAS-jogkivonatot, az Azure Maps SDK és/vagy az alkalmazások a többi REST API HTTP-fejléc mellett a következő HTTP-fejléccel küldenek HTTPS-kérést:

Fejléc neve Érték
Engedélyezés jwt-sas eyJ0e....HNIVN

Feljegyzés

jwt-sas AZ SAS-jogkivonattal jelölendő hitelesítési séma. Ne tartalmazzon x-ms-client-id más engedélyezési fejléceket vagy subscription-key lekérdezési sztringparamétert.

Forrásközi erőforrásmegosztás (CORS)

A CORS egy HTTP-protokoll, amely lehetővé teszi, hogy az egyik tartományban futó webalkalmazás hozzáférjen egy másik tartomány erőforrásaihoz. A webböngészők olyan, azonos eredetű szabályzatként ismert biztonsági korlátozást implementálnak, amely megakadályozza, hogy egy weblap más tartományban hívja meg az API-kat; A CORS biztonságos módot biztosít arra, hogy az egyik tartomány (a forrástartomány) meghívhassa az API-kat egy másik tartományban. Az Azure Maps-fiók erőforrásával konfigurálhatja, hogy mely források férhetnek hozzá az Azure Maps REST API-hoz az alkalmazásokból.

Fontos

A CORS nem engedélyezési mechanizmus. A REST API-val végzett leképezési fiókra irányuló kérelmekhez, ha a CORS engedélyezve van, érvényes térképfiók-hitelesítési sémára is szükség van, például megosztott kulcsra, Microsoft Entra-azonosítóra vagy SAS-jogkivonatra.

A CORS minden térképfiók tarifacsomagja, adatsík-végpontja és helye esetében támogatott.

Előfeltételek

Annak érdekében, hogy megakadályozza a rosszindulatú kódfuttatást az ügyfélen, a modern böngészők letiltják a webalkalmazások kéréseit egy külön tartományban futó erőforrásokra.

  • Ha nem ismeri a CORS-t, tekintse meg a forrásközi erőforrás-megosztást (CORS), amely lehetővé teszi, hogy a Access-Control-Allow-Origin fejléc meghatározza, hogy mely források hívhatják meg az Azure Maps-fiók végpontjait. A CORS protokoll nem az Azure Mapsre vonatkozik.

CORS-kérések

A forrástartományból érkező CORS-kérések két különálló kérelemből állhatnak:

  • Egy előzetes kérés, amely lekérdezi a szolgáltatás által előírt CORS-korlátozásokat. Az elővizsgálati kérésre csak akkor van szükség, ha a kérés a GET, a HEAD, a POST vagy a kérésfejlécet tartalmazó Authorization kérések standard metódusa.

  • A kívánt erőforrásra vonatkozó tényleges kérés.

Előzetes kérés

Az előzetes kérés biztonsági intézkedés, de biztosítja, hogy a kiszolgáló megértse a tényleges kérelemben küldött metódust és fejléceket, ellenőrizze a kérés forrását, és lekérdezi a térképfiókra vonatkozó CORS-korlátozásokat. A webböngésző (vagy más felhasználói ügynök) egy OPTIONS kérést küld, amely tartalmazza a kérés fejléceit, metódusát és forrástartományát. A térképfiók-szolgáltatás megpróbálja lekérni a CORS-szabályokat, ha a fiókhitelesítés a CORS elővizsgálati protokollon keresztül lehetséges.

Ha a hitelesítés nem lehetséges, a térképek szolgáltatás egy előre konfigurált CORS-szabálykészletet értékel ki, amely meghatározza, hogy mely forrástartományok, kérelemmetódusok és kérésfejlécek adhatók meg a térképszolgáltatással szembeni tényleges kérelemben. Alapértelmezés szerint a térképfiók úgy van konfigurálva, hogy minden forrás lehetővé tegye a webböngészőkbe való zökkenőmentes integrációt.

A szolgáltatás a szükséges hozzáférés-vezérlési fejlécekkel válaszol az elővizsgálati kérésre, ha az alábbi feltételek teljesülnek:

  1. A BEÁLLÍTÁSOK kérelem tartalmazza a szükséges CORS-fejléceket (az Origin és a Access-Control-Request-Method fejléceket)
  2. A hitelesítés sikeres volt, és a CORS-szabály engedélyezve van az elővizsgálati kérésnek megfelelő fiókhoz.
  3. A hitelesítés kihagyva a szükséges Authorization kérelemfejlécek miatt, amelyek nem adhatók meg az elővizsgálati kérelemben.

Ha az előzetes kérés sikeres, a szolgáltatás állapotkóddal 200 (OK)válaszol, és tartalmazza a szükséges hozzáférés-vezérlési fejléceket a válaszban.

A szolgáltatás elutasítja az elővizsgálati kéréseket, ha a következő feltételek teljesülnek:

  1. Ha a BEÁLLÍTÁSOK kérés nem tartalmazza a szükséges CORS-fejléceket (az Origin és az Access-Control-Request-Method fejléceket), a szolgáltatás állapotkóddal 400 (Bad request)válaszol.
  2. Ha a hitelesítés sikeres volt az elővizsgálati kérelemben, és egyetlen CORS-szabály sem felel meg az elővizsgálati kérésnek, a szolgáltatás állapotkóddal 403 (Forbidden)válaszol. Ez akkor fordulhat elő, ha a CORS-szabály úgy van konfigurálva, hogy olyan forrást fogadjon el, amely nem felel meg az aktuális böngésző ügyfél-forráskérés fejlécének.

Feljegyzés

Az előzetes kérések kiértékelése a szolgáltatáson, és nem a kért erőforráson történik. A fióktulajdonosnak engedélyeznie kell a CORS-t a megfelelő fióktulajdonságok beállításával ahhoz, hogy a kérés sikeres legyen.

Tényleges kérés

Az előzetes kérés elfogadása és a válasz visszaadása után a böngésző elküldi a tényleges kérést a térképszolgáltatásnak. A böngésző azonnal megtagadja a tényleges kérést, ha az előzetes kérést elutasítják.

A tényleges kérést a térképszolgáltatás normál kérésként kezeli. A fejléc jelenléte Origin azt jelzi, hogy a kérés CORS-kérés, és a szolgáltatás ezután érvényesíti a CORS-szabályokat. Ha talál egyezést, a rendszer hozzáadja az Access-Control fejléceket a válaszhoz, és visszaküldi az ügyfélnek. Ha nem található egyezés, a válasz 403 (Forbidden) egy CORS-forráshibát jelez.

CORS-szabályzat engedélyezése

Térképfiók létrehozásakor vagy frissítésekor a tulajdonságok határozzák meg az engedélyezett forrásokat. A CORS-szabály az Azure Maps-fiók tulajdonságaira az Azure Maps Management SDK-n, az Azure Maps Management REST API-n és a portálon keresztül állítható be. A szolgáltatás CORS-szabályának beállítása után a rendszer kiértékeli a különböző tartományokból érkező engedélyezett kérelmeket, hogy biztosítsa a megadott szabálynak való megfelelést. Példa:

{
  "location": "eastus",
  "sku": {
    "name": "G2"
  },
  "kind": "Gen2",
  "properties": {
    "cors": {
      "corsRules": [
        {
          "allowedOrigins": [
            "https://www.azure.com",
            "https://www.microsoft.com"
          ]
        }
      ]
    }
  }
}

Csak egy CORS-szabály adható meg az engedélyezett forráslistával. Minden forrás lehetővé teszi, hogy a HTTP-kérés az Azure Maps REST API-ra hajtható végre a megadott forrás webböngészőjében.

CORS-szabályzat eltávolítása

Eltávolíthatja a CORS-t:

  • Manuálisan az Azure Portalon
  • Programozott használat:
    • Az Azure Maps SDK
    • Azure Maps management REST API
    • ARM-sablon

Tipp.

Ha az Azure Maps felügyeleti REST API-t használja, használja PUT vagy PATCH egy üres corsRule listát a kérelem törzsében.

{
  "location": "eastus",
  "sku": {
    "name": "G2"
  },
  "kind": "Gen2",
  "properties": {
        "cors": {
          "corsRules": []
        }
    }
  }
}

A számlázási tranzakciók ismertetése

Az Azure Maps nem számolja a következő számlázási tranzakciókat:

  • 5xx HTTP-állapotkódok
  • 401 (jogosulatlan)
  • 403 (Tiltott)
  • 408 (időtúllépés)
  • 429 (TooManyRequests)
  • CORS előzetes kérések

A számlázási tranzakciókról és az Azure Maps egyéb díjszabási információiról további információt az Azure Maps díjszabásában talál.

Következő lépések

A biztonsági ajánlott eljárásokkal kapcsolatos további információkért lásd:

Ha többet szeretne megtudni egy alkalmazás Microsoft Entra-azonosítóval és Azure Maps-sel való hitelesítéséről, tekintse meg a következőt:

Az Azure Maps Control és a Microsoft Entra ID hitelesítésével kapcsolatos további információkért lásd: