Hitelesítés az Azure Maps használatával
Azure Maps a kérések hitelesítésének három módját támogatja: a megosztott kulcsú hitelesítést, az Azure Active Directory-hitelesítést (Azure AD) és a közös hozzáférésű jogosultságkód (SAS) jogkivonat-hitelesítést. Ez a cikk a Azure Maps szolgáltatások megvalósítását segítő hitelesítési módszereket ismerteti. A cikk egyéb fiókvezérlőket is ismertet, például letiltja a helyi hitelesítést a Azure Policy és a forrásközi erőforrás-megosztáshoz (CORS).
Megjegyzés
A Azure Maps 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 1.1 támogatása megszűnik. Ha jelenleg a TLS 1.x-et használja, é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ása című témakörben ismertetett teszteléssel.
Megosztott kulcs hitelesítése
A kulcsok Azure Portal való megtekintésével kapcsolatos információkért lásd: Hitelesítés kezelése.
Az elsődleges és másodlagos kulcsok a Azure Maps fiók létrehozása után jönnek létre. Javasoljuk, hogy az elsődleges kulcsot használja előfizetési kulcsként, amikor megosztott kulcsú hitelesítéssel hívja meg Azure Maps. A megosztott kulcsú hitelesítés átad egy Azure Maps-fiók által létrehozott kulcsot egy Azure Maps szolgáltatásnak. A szolgáltatások Azure Maps kérésekhez 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/mapData/upload?api-version=1.0&dataFormat=zip&subscription-key={Your-Azure-Maps-Subscription-key}
Fontos
Az elsődleges és a 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 vennie az API-kulcsot, akár környezeti változókon keresztül, akár biztonságos titkos tárterületen keresztül, ahol központilag kezelhető.
Azure AD-hitelesítés
Az Azure-előfizetések egy Azure AD-bérlővel vannak ellátva, amely lehetővé teszi a részletes hozzáférés-vezérlést. Azure Maps Azure AD használatával biztosít hitelesítést Azure Maps szolgáltatásokhoz. Azure AD identitásalapú hitelesítést biztosít a Azure AD bérlőben regisztrált felhasználók és alkalmazások számára.
Azure Maps elfogadja az OAuth 2.0 hozzáférési jogkivonatokat Azure AD olyan Azure-előfizetéshez társított bérlőkhöz, amelyek Azure Maps fiókot tartalmaznak. Azure Maps a következőhöz is elfogad tokeneket:
- Azure AD felhasználók
- Felhasználók által delegált engedélyeket használó partneralkalmazások
- Azure-erőforrások felügyelt identitásai
Azure Maps minden Azure Maps fiókhoz létrehoz egy egyedi azonosítót (ügyfélazonosítót). Ha ezt az ügyfélazonosítót további paraméterekkel kombinálja, jogkivonatokat kérhet Azure AD.
További információ a Azure AD konfigurálásáról és a jogkivonatok Azure Maps való lekéréséről: Hitelesítés kezelése Azure Maps.
A Azure AD hitelesítésével kapcsolatos általános információkért lásd: Hitelesítés és engedélyezés.
Felügyelt identitások azure-erőforrásokhoz és Azure Maps
Az Azure-erőforrások felügyelt identitásai automatikusan felügyelt alkalmazásalapú biztonsági rendszerbiztonsági tagot biztosítanak az Azure-szolgáltatásoknak, amelyek Azure AD hitelesíthetők. Az Azure szerepköralapú hozzáférés-vezérlésével (Azure RBAC) a felügyelt identitásbiztonsági tag jogosult Azure Maps szolgáltatások elérésére. Néhány példa a felügyelt identitásokra: Azure App Service, Azure Functions és Azure Virtual Machines. A felügyelt identitások listájáért lásd: Olyan Azure-szolgáltatások, 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 Azure Maps.
Alkalmazás-Azure AD hitelesítés konfigurálása
Az alkalmazások a Azure AD bérlővel fognak hitelesíteni az Azure AD által biztosított egy vagy több támogatott forgatókönyv használatával. Minden Azure AD 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ás-bejelentkezési élményt 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ő kötelező HTTP-fejlécekkel rendelkező HTTPS-kérést küld:
Fejléc neve | Érték |
---|---|
x-ms-client-id | 30d7cc....9f55 |
Engedélyezés | Tulajdonos eyJ0e....HNIVN |
Megjegyzés
x-ms-client-id
a Azure Maps hitelesítési oldalon megjelenő Azure Maps fiókalapú GUID.
Íme egy példa egy Azure Maps útvonalkérésre, amely egy Azure AD 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ével kapcsolatos információkért lásd: Hitelesítési adatok megtekintése.
Tipp
Az ügyfélazonosító programozott lekérése
A PowerShell használatakor a rendszer az ügyfélazonosítót az UniqueId
objektum tulajdonságaként IMapsAccount
tárolja. A tulajdonság lekérése a paranccsal Get-AzMapsAccount
történik, például:
$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-beli szerepköralapú hozzáférés-vezérlés (Azure RBAC) áttekintésében az egyszerű típusok engedélykészletet kapnak, más néven szerepkör-definíciót. A szerepkördefiníciók a REST API-műveletekhez biztosítanak engedélyeket. Azure Maps támogatja az Azure szerepköralapú hozzáférés-vezérlés (Azure RBAC) összes fő típusához való hozzáférést, beleértve a következőket: egyéni Azure AD felhasználók, csoportok, alkalmazások, Azure-erőforrások és Azure-beli felügyelt identitások. A hozzáférés egy vagy több Azure Maps-fiókhoz való alkalmazását hatókörnek nevezzük. A rendszer egy szerepkör-hozzárendelést hoz létre egy egyszerű, egy szerepkördefiníció és egy hatókör alkalmazásakor.
Áttekintés
A következő szakaszok az Azure RBAC-vel való Azure Maps integrációjának fogalmait és összetevőit ismertetik. A Azure Maps-fiók beállításának folyamatának részeként egy Azure AD könyvtár van társítva ahhoz az Azure-előfizetéshez, amelyet a Azure Maps fiók 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 meg szeretné tudni, hogyan adhat hozzá szerepkör-hozzárendeléseket a Azure Portal, olvassa el az Azure-szerepkörök hozzárendelése című témakört.
Szerepkördefiníció kiválasztása
Az alkalmazásforgatókönyvek támogatásához a következő szerepkördefiníció-típusok léteznek.
Azure-szerepkördefiníció | Description |
---|---|
Azure Maps Adatolvasó keresése és renderelése | Hozzáférést biztosít Azure Maps REST API-k kereséséhez és rendereléséhez, hogy korlátozza az alapszintű webböngésző-használati esetekhez való hozzáférést. |
Azure Maps adatolvasó | Nem módosítható Azure Maps REST API-khoz biztosít hozzáférést. |
Azure Maps adatszolgáltató | Hozzáférést biztosít a mutable Azure Maps REST API-khoz. A módosíthatóságot a következő műveletek határozzák meg: írás és törlés. |
Egyéni szerepkördefiníció | Hozzon létre egy létrehozott szerepkört, amely rugalmasan korlátozott hozzáférést biztosít Azure Maps REST API-khoz. |
Egyes Azure Maps szolgáltatásokhoz emelt szintű jogosultság szükséges az írási vagy törlési műveletek végrehajtásához Azure Maps REST API-kon. Azure Maps adatszolgáltatói szerepkör szükséges az írási vagy törlési műveleteket biztosító szolgáltatásokhoz. Az alábbi táblázat azt ismerteti, hogy milyen szolgáltatások Azure Maps adatszolgáltató alkalmazható írási vagy törlési műveletek használatakor. Ha csak olvasási műveletekre van szükség, a Azure Maps Adatolvasó szerepkör a Azure Maps Adatszolgáltató szerepkör helyett használható.
Azure Maps szolgáltatás | Azure Maps szerepkördefiníció |
---|---|
Adatok | Azure Maps adatszolgáltató |
Létrehozó | Azure Maps adatszolgáltató |
Térbeli | Azure Maps adatszolgáltató |
Batch Search és Route | Azure Maps adatszolgáltató |
További információ az Azure RBAC-beállítások megtekintéséről: Az Azure RBAC konfigurálása Azure Maps.
Egyéni szerepkör-definíciók
Az alkalmazásbiztonság egyik aspektusa a minimális jogosultság elve, a hozzáférési jogosultságok korlátozása csak azokra, amelyek a feladat elvégzéséhez szükségesek. Ehhez hozzon létre egyéni szerepkör-definíciókat, amelyek támogatják a használati eseteket, amelyek további részletességet igényelnek a hozzáférés-vezérléshez. Egyéni szerepkör-definí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ör-definíció ezután bármely rendszerbiztonsá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 lásd: Egyéni Azure-szerepkörök.
Íme néhány példaforgatókönyv, amelyekben az egyéni szerepkörök javíthatják az alkalmazás biztonságát.
Eset | Egyéni szerepkör-adatművelet(ek) |
---|---|
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 rendszerbiztonsági tag szerepköre, amely Azure Maps Creator-alapú térképadatok és alaptérkép-csempe REST API-k olvasását kéri. | Microsoft.Maps/accounts/services/data/read , Microsoft.Maps/accounts/services/render/read |
Egy rendszerbiztonsági tag szerepköre, amelyhez a Létrehozón alapuló térképadatok olvasása, írása és törlése szükséges. Ez térképadat-szerkesztői szerepkörként definiálható, de nem teszi lehetővé a hozzáférést más REST API-khoz, például az alaptérkép-csempékhez. | Microsoft.Maps/accounts/services/data/read , Microsoft.Maps/accounts/services/data/write , Microsoft.Maps/accounts/services/data/delete |
A hatókör bemutatása
Szerepkör-hozzárendelés létrehozásakor az Azure-erőforráshierarchiában van definiálva. A hierarchia tetején található egy felügyeleti csoport, a legalacsonyabb pedig egy Azure-erőforrás, például egy Azure Maps-fiók. Ha szerepkör-hozzárendelést rendel egy erőforráscsoporthoz, akkor a csoport több Azure Maps fiókjához vagy erőforrásához is hozzáférhet.
Tipp
A Microsoft általános ajánlása, hogy rendeljen hozzá hozzáférést a Azure Maps-fiók hatóköréhez, mert megakadályozza az ugyanabban az Azure-előfizetésben meglévő más Azure Maps fiókokhoz való nem rendeltetésszerű hozzáférést.
Helyi hitelesítés letiltása
Azure Maps-fiókok támogatják a felügyeleti API standard Azure-tulajdonságát a következőhöz: Microsoft.Maps/accounts
disableLocalAuth
. Amikor true
a Azure Maps adatsík REST API-jának összes hitelesítése le van tiltva, kivéve Azure AD hitelesítést. Ez a Azure Policy használatával van konfigurálva a megosztott kulcsok és SAS-jogkivonatok terjesztésének és kezelésé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 be a tulajdonságot a következő értékre false
, é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
Fontos
Az előzetes verziójú funkciók önkiszolgáló, jóváhagyási alapon érhetők el. Az előzetes verziókat "adott állapotban" és "elérhetőként" biztosítjuk, és nem tartoznak a szolgáltatásiszint-szerződésekbe és a korlátozott jótállásba. Azure Maps előzetes verziókat részben az ügyfélszolgálat fedezi a legjobb erőfeszítés alapján. Ezért ezek a funkciók nem éles használatra szolgálnak.
A közös hozzáférésű jogosultságkód jogkivonatának hitelesítése előzetes verzióban érhető el.
A közös hozzáférésű jogosultságkódok (SAS)-jogkivonatok JSON webes jogkivonat (JWT) formátumban létrehozott hitelesítési jogkivonatok, és kriptográfiai aláírással vannak aláírva, hogy igazolják az alkalmazások hitelesítését a Azure Maps REST API-ba. Egy SAS-jogkivonatot úgy hozhat létre, hogy először integrál egy felhasználó által hozzárendelt felügyelt identitást egy Azure Maps-fiókkal az Azure-előfizetésben. A felhasználó által hozzárendelt felügyelt identitás hitelesítést kap a Azure Maps-fiókhoz az Azure RBAC-ben az egyik beépített vagy egyéni szerepkör-definíció használatával.
Az SAS-jogkivonat és a Azure AD Access-jogkivonatok funkcionális kulcsbeli különbségei:
- Egy jogkivonat élettartama egy év (365 nap) maximális lejáratáig.
- Az Azure hely- és földrajzi hozzáférés-vezérlése jogkivonatonként.
- A jogkivonatonkénti sebességkorlátok másodpercenként körülbelül 1–500 kérelemre vonatkoznak.
- A jogkivonat titkos kulcsai egy 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 biztosítja.
Az SAS-jogkivonatok nem módosíthatók. Ez azt jelenti, hogy a jogkivonat létrehozása után az SAS-jogkivonat a lejáratig érvényes lesz, és az engedélyezett régiók, a sebességkorlátok és a felhasználó által hozzárendelt felügyelt identitás konfigurációja nem módosítható. További információ az SAS-jogkivonatok visszavonásának hozzáférés-vezérléséről és a hozzáférés-vezérlés változásairól.
Az SAS-jogkivonatok sebességkorlátainak ismertetése
Az SAS-token maximális sebességkorlátja szabályozhatja egy Azure Maps-erőforrás számlázását
A token maximális díjkorlátjának megadásával (maxRatePerSecond
) a többletdíj nem lesz kiszámlázva a fióknak, így a token használatakor a fiók számlázható tranzakcióinak felső korlátját állíthatja be. Az alkalmazás azonban az összes tranzakcióra vonatkozó ügyfélhiba-válaszokat 429 (TooManyRequests)
kapja, miután elérte a korlátot. Az alkalmazás feladata az SAS-jogkivonatok újrapróbálkozásának és terjesztésének kezelése. Nincs korlátozva, hogy hány SAS-jogkivonat hozható létre egy fiókhoz. Egy meglévő token korlátjának növelése vagy csökkentése; létre kell hozni egy új SAS-jogkivonatot. A régi SAS-jogkivonat a lejáratáig érvényes.
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 összesen |
---|---|---|---|
10 | 20 | 600 | 6.000 |
Ezek becslések, a tényleges sebességkorlátok kissé eltérnek attól függően, hogy Azure Maps konzisztencia kényszeríthető-e egy adott időtartamon belül. Ez azonban lehetővé teszi a számlázási költségek megelőző ellenőrzését.
A sebességkorlátok kikényszerítése Azure-helyenként, nem globálisan vagy földrajzilag
Például egyetlen 10-es SAS-jogkivonattal maxRatePerSecond
korlátozhatja a hely átviteli sebességét East US
. Ha ugyanazt a tokent használja a rendszerben 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. A költségek szabályozása és a kiszámíthatóság javítása érdekében a következőket javasoljuk:
- SAS-jogkivonatok létrehozása a kijelölt engedélyezett Azure-helyekkel a célzott földrajzi helyhez. Folytassa az olvasást az SAS-jogkivonatok létrehozásának megismeréséhez.
- Használjon földrajzi adatsík REST API-végpontokat vagy
https://us.atlas.microsoft.com
https://eu.atlas.microsoft.com
.
Tekintsük azt az alkalmazástopológiát, ahol a végpont https://us.atlas.microsoft.com
az Azure Maps szolgáltatások által üzemeltetett egyesült államokbeli helyekre irányítja az útvonalakat, például East US
, West Central US
vagy 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 és North Europe
a közöttWest Europe
. A váratlan engedélyezési megtagadások elkerülése érdekében használjon SAS-jogkivonatot, amely ugyanazokat az Azure-helyeket használja, mint amelyeket az alkalmazás használ. A végpont helye a Azure Maps Management REST API használatával van definiálva.
Az alapértelmezett sebességkorlátok elsőbbséget élveznek az SAS-tokenek sebességkorlátával szemben
A Azure Maps díjkorlátok című szakaszban leírtak szerint az egyes szolgáltatásajánlatok különböző díjkorlátokkal rendelkeznek, amelyek a fiók összesítéseként lesznek kikényszerítve.
Vegyük a Search szolgáltatás – Nem kötegelt fordított értéket, 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ó összes sikeres tranzakció becsült összegét jelöli.
Az első táblázatban egy jogkivonat látható, amelynek másodpercenként legfeljebb 500 kérése van, majd az alkalmazás tényleges kihasználtsága másodpercenként 500 kérés volt 60 másodperces időtartamra. Search szolgáltatás – A nem kötegelt fordított érték 250-re van korlátozva, ami azt jelenti, hogy a 60 másodperc alatt összesen 30 000 kérés érkezett; ezek közül 15 000 számlázható tranzakció lesz. A fennmaradó kérések állapotkódot 429 (TooManyRequests)
eredményeznek.
Name | 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-jogkivonatot hoz létre, és ugyanazt a helyet használja, mint egy Azure Maps-fiók, akkor minden jogkivonat az alapértelmezett 250 QPS-sebességkorláttal rendelkezik. Ha minden jogkivonatot egyidejűleg használ ugyanazzal az átviteli sebességű tokennel 1, és a 2. jogkivonat sikeresen 7500 sikeres tranzakciót adna meg mindegyiknek.
Name | 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-jogkivonatok hozzáférés-vezérlésének ismertetése
Az SAS-jogkivonatok RBAC-vel 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 szolgáló 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ör-definíció kiválasztása annak meghatározásához, hogy az alkalmazás melyik API-t engedélyezze.
Ha ideiglenes hozzáférést szeretne hozzárendelni, és el szeretné távolítani a hozzáférést az SAS-jogkivonat lejárata előtt, akkor vissza kell vonnia a jogkivonatot. A hozzáférés visszavonásának további okai lehetnek, ha a jogkivonatot nem véletlenül osztja el szerepkör-hozzárendelésselAzure Maps Data Contributor
, és az SAS-jogkivonattal rendelkező bárki képes lehet adatokat olvasni és írni Azure Maps REST API-kba, amelyek bizalmas adatokat vagy váratlan pénzügyi költségeket tehetnek közzé a használatból.
Az SAS-jogkivonat(ok) hozzáférésének visszavonására két lehetőség áll rendelkezésre:
- Hozza létre újra a térképfiók SAS-tokenje, primaryKey vagy secondaryKey által használt kulcsot.
- 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
Ha töröl egy SAS-jogkivonat által használt felügyelt identitást, vagy visszavonja a felügyelt identitás hozzáférés-vezérlését, az alkalmazás példányai az SAS-jogkivonat és a felügyelt identitás használatával szándékosan vagy 401 Unauthorized
403 Forbidden
Azure Maps REST API-kból, amelyek alkalmazáskimaradást okoznak.
A fennakadások elkerülése érdekében:
- 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.
- Hozzon létre egy SAS-jogkivonatot a használatával
secondaryKey
,signingKey
és ossza el az új SAS-jogkivonatot az alkalmazással. - 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-előfizetésben Azure Maps fiókok és felhasználó által hozzárendelt identitások kezeléséhez.
Fontos
Az Azure-helyen global
létrehozott meglévő Azure Maps fiókok nem támogatják a felügyelt identitásokat.
Először hozzon létre egy felhasználó által hozzárendelt felügyelt identitást a Azure Maps-fiókkal megegyező helyen.
Tipp
Ugyanazt a helyet kell használnia a felügyelt identitáshoz és a Azure Maps fiókhoz is.
A felügyelt identitás létrehozása után létrehozhatja vagy frissítheti a Azure Maps-fiókot, és csatolhatja azt. További információt a Azure Maps-fiók kezelése című témakörben talál.
Miután sikeresen létrehozta vagy frissítette a fiókot 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 létre kell hoznia egy SAS-jogkivonatot az Azure Management SDK eszközkészlettel, az Sas listázása művelettel az Account Management API-n, vagy a fiókerőforrás Azure Portal Közös hozzáférésű jogosultságkód lapján.
SAS-jogkivonat paraméterei:
Paraméter neve | Példaérték | Description |
---|---|---|
aláírókulcs | primaryKey |
Kötelező, a signingKey primaryKey secondaryKey karakterlánc-enumerálási értéke vagy az SAS aláírásának létrehozásához használatos. |
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ók | [ "eastus", "westus2", "westcentralus" ] |
Nem kötelező, az alapértelmezett érték a következő null : . A régiók határozzák meg, hogy az SAS-jogkivonat mely régiókban használható a 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 Azure Maps adatsík földrajzi végpontjával együtt használják, például us.atlas.microsoft.com és eu.atlas.microsoft.com lehetővé teszi az alkalmazás számára a használat szabályozását a megadott földrajzi helyen. Ez lehetővé teszi a használat megelőzését más földrajzi helyeken. |
maxRatePerSecond | 500 | Kötelező, a megadott maximális kérelem másodpercenként, amelyet az SAS-jogkivonat kap. A korlát elérése után a további átviteli sebesség korlátozott lesz a HTTP-állapotkóddal 429 (TooManyRequests) . |
start | 2021-05-24T10:42:03.1567373Z |
Kötelező, egy UTC dátum, amely megadja a jogkivonat aktiválásának dátumát és időpontját. |
Lejárat | 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 legfeljebb 365 nap lehet. |
Alkalmazás konfigurálása SAS-jogkivonattal
Miután az alkalmazás megkapta az SAS-jogkivonatot, a Azure Maps SDK és/vagy 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 |
Megjegyzés
jwt-sas
A a SAS-jogkivonattal jelölendő hitelesítési séma. Ne tartalmazzon x-ms-client-id
vagy más engedélyezési fejléceket vagy subscription-key
lekérdezési sztringparamétert.
Eltérő eredetű erőforrások megosztása (CORS)
Fontos
Az előzetes verziójú funkciók önkiszolgáló, jóváhagyási alapon érhetők el. Az előzetes verziókat "adott állapotban" és "elérhetőként" biztosítjuk, és nem tartoznak a szolgáltatásiszint-szerződésekbe és a korlátozott jótállásba. Azure Maps előzetes verziókat részben az ügyfélszolgálat fedezi a legjobb erőfeszítés alapján. Ezért ezek a funkciók nem éles használatra szolgálnak.
Az eltérő eredetű erőforrások megosztása (CORS) előzetes verzióban érhető el.
Előfeltételek
A rosszindulatú kódvégrehajtás megakadályozása érdekében a modern böngészők blokkoljá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 az Eltérő eredetű erőforrások megosztása (CORS) című témakört, amely lehetővé teszi, hogy a
Access-Control-Allow-Origin
fejléc deklarálja, hogy mely források hívhatják meg egy Azure Maps-fiók végpontját. A CORS protokoll nem Azure Maps.
Fiók CORS-fiókja
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 biztonsági korlátozást vezetnek be , amelyet azonos eredetű szabályzatnak neveznek, amely megakadályozza, hogy egy weblap api-kat hívjon meg egy másik tartományban; A CORS biztonságos módot biztosít arra, hogy az egyik tartomány (a forrástartomány) meghívja az API-kat egy másik tartományban. A Azure Maps fiókerőforrás használatával konfigurálhatja, hogy mely források férhetnek hozzá a Azure Maps REST API-hoz az alkalmazásokból.
Fontos
A CORS nem engedélyezési mechanizmus. Ha a CORS engedélyezve van, a REST API-t használó térképfiókra irányuló kérésekhez érvényes térképfiók-hitelesítési sémára is szükség van, például megosztott kulcsra, Azure AD vagy SAS-jogkivonatra.
A CORS minden térképfiók tarifacsomagja, adatsíkvégpontja és helye esetében támogatott.
CORS-kérések
A forrástartományból érkező CORS-kérések két különálló kérésből állhatnak:
Egy előzetes kérés, amely lekérdezi a szolgáltatás által előírt CORS-korlátozásokat. Az előzetes kérés csak akkor szükséges, ha a kérés a GET, HEAD, POST vagy kérésfejlécet tartalmazó
Authorization
kérések standard metódusa.A kívánt erőforrásra irányuló tényleges kérés.
Előzetes kérés
Az előzetes kérés nem csak biztonsági intézkedésként történik, hogy a kiszolgáló megértse a tényleges kérelemben elküldendő metódust és fejléceket, valamint hogy a kiszolgáló tudja és megbízzon a kérés forrásában, hanem lekérdezi a térképfiókra vonatkozó CORS-korlátozásokat is. A webböngésző (vagy más felhasználói ügynök) egy OPTIONS kérést küld, amely tartalmazza a kérelem fejléceit, a metódust és a forrástartományt. 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 maps szolgáltatás kiértékeli a CORS-szabályok előre konfigurált készletét, amelyek meghatározzák, hogy mely forrástartományok, kérési módszerek és kérelemfejlécek adhatók meg a maps szolgáltatásra irányuló tényleges kéréseken. 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 Access-Control fejlécekkel válaszol az elővizsgálati kérelemre, ha az alábbi feltételek teljesülnek:
- Az OPTIONS kérés tartalmazza a szükséges CORS-fejléceket (az Origin és a Access-Control-Request-Method fejléceket)
- A hitelesítés sikeres volt, és engedélyezve van egy CORS-szabály az előzetes kérésnek megfelelő fiókhoz.
- A hitelesítést kihagyták a szükséges
Authorization
kérésfejlé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 Access-Control fejléceket a válaszban.
A szolgáltatás elutasítja az előzetes kéréseket, ha a következő feltételek teljesülnek:
- Ha az OPTIONS 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. - 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 egyezik meg a böngésző aktuális ügyfél-forráskérésének fejlécével.
Megjegyzés
Az előzetes kérések kiértékelése nem a kért erőforráson, hanem a szolgáltatáson történik. A fiók tulajdonosának engedélyeznie kell a CORS-t a megfelelő fióktulajdonságok beállításával, hogy a kérés sikeres legyen.
Tényleges kérelem
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 leképezési szolgáltatás normál kérésének tekinti a szolgáltatás. A fejléc jelenléte Origin
azt jelzi, hogy a kérés EGY 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 a Access-Control fejléceket a válaszhoz, és visszaküldi az ügyfélnek. Ha nem talál egyezést, a válasz egy 403 (Forbidden)
CORS-forráshibát jelez.
CORS-szabályzat engedélyezése
Meglévő térképfiók létrehozásakor vagy frissítésekor a Térképfiók tulajdonságai megadják a konfigurálni kívánt engedélyezett forrásokat. CORS-szabályt állíthat be a Azure Maps-fiók tulajdonságaihoz a Azure Maps Management SDK,Azure Maps Management REST API és portál használatával. Miután beállította a CORS-szabályt a szolgáltatáshoz, a rendszer kiértékel egy, a szolgáltatásnak egy másik tartományból küldött, megfelelően engedélyezett kérést, amely meghatározza, hogy az engedélyezett-e a megadott szabálynak megfelelően. Tekintse meg az alábbi példát:
{
"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ások listájával. Minden forrás lehetővé teszi, hogy a HTTP-kérés Azure Maps REST API-t a megadott forrás webböngészőjében.
CORS-szabályzat eltávolítása
A CORS-t manuálisan is eltávolíthatja a Azure Portal, vagy programozott módon a Azure Maps SDK-val, Azure Maps felügyeleti REST API-val vagy ARM-sablonnal.
Tipp
Ha a Azure Maps felügyeleti REST API-t használja, használja PUT
a 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
Azure Maps nem számolja a számlázási tranzakciókat a következőhöz:
- 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 egyéb Azure Maps díjszabással kapcsolatos további információkért lásd: Azure Maps díjszabás.
Következő lépések
A biztonsági ajánlott eljárásokkal kapcsolatos további információkért lásd:
Az alkalmazások Azure AD és Azure Maps használatával történő hitelesítésével kapcsolatos további információkért lásd:
A Azure Maps térképvezérlő Azure AD való hitelesítéséről a következő témakörben talál további információt: