Egyoldalas webalkalmazás védelme nem interaktív bejelentkezéssel
Biztonságossá teheti az egyoldalas webalkalmazást a Microsoft Entra-azonosítóval, még akkor is, ha a felhasználó nem tud bejelentkezni a Microsoft Entra-azonosítóba.
A nem interaktív hitelesítési folyamat létrehozásához először hozzon létre egy Azure-függvény biztonságos webszolgáltatást, amely felelős a hozzáférési jogkivonatok Microsoft Entra-azonosítóból való beszerzéséért. Ez a webszolgáltatás kizárólag az egyoldalas webalkalmazás számára érhető el.
Az Azure Maps-fiók hitelesítési adatainak megtekintése az Azure Portalon:
Jelentkezzen be az Azure Portalra.
Lépjen az Azure Portal menüjére. Válassza az Összes erőforrás lehetőséget, majd válassza ki az Azure Maps-fiókját.
A bal oldali panel Beállítások csoportjában válassza a Hitelesítés lehetőséget.
Az Azure Maps-fiók létrehozásakor három érték jön létre. Két típusú hitelesítést támogatnak az Azure Mapsben:
- Microsoft Entra-hitelesítés: A
Client ID
REST API-kérésekhez használandó fiókot jelöli. AzClient ID
értéket az alkalmazáskonfigurációban kell tárolni, majd le kell kérni, mielőtt Microsoft Entra-hitelesítést használó Azure Maps HTTP-kéréseket hajtanak létre. - Megosztott kulcs hitelesítése: A
Secondary Key
Primary Key
megosztott kulcsos hitelesítéshez használt előfizetési kulcs. A megosztott kulcsos hitelesítés az Azure Maps-fiók által létrehozott kulcs átadásán alapul, minden kéréssel együtt az Azure Mapsnek. Javasoljuk, hogy rendszeresen hozza létre újra a kulcsokat. A regeneráció során az aktuális kapcsolatok fenntartásához két kulcs van megadva. Az egyik kulcs használható, miközben újragenerálja a másikat. A kulcsok újragenerálása után az új kulcsok használatához frissítenie kell minden olyan alkalmazást, amely hozzáfér ehhez a fiókhoz. További információ: Hitelesítés az Azure Maps használatával
Tipp.
Az Azure Maps támogatja a felhasználói bejelentkezésből vagy interaktív folyamatokból származó jogkivonatok elérését. Interaktív folyamatokat használhat a hozzáférés-visszavonás és a titkos kódok kezelésének korlátozottabb hatóköréhez.
Azure-függvény létrehozása
Biztonságos webszolgáltatás-alkalmazás létrehozása, amely a Microsoft Entra-azonosítóhoz való hitelesítésért felelős:
Hozzon létre egy függvényt az Azure Portalon. További információ: Az Azure Functions használatának első lépései.
Konfigurálja a CORS-szabályzatot az Azure-függvényen úgy, hogy az egyoldalas webalkalmazás akadálymentes legyen. A CORS-szabályzat biztonságossá teszi a böngészőügyfeleket a webalkalmazás engedélyezett eredetéhez. További információ: CORS-funkció hozzáadása.
Adjon hozzá egy rendszer által hozzárendelt identitást az Azure-függvényhez, amely lehetővé teszi egy szolgáltatásnév létrehozását a Microsoft Entra ID-hitelesítéshez.
Szerepköralapú hozzáférés biztosítása a rendszer által hozzárendelt identitáshoz az Azure Maps-fiókhoz. További információ: Szerepköralapú hozzáférés biztosítása.
Írjon kódot az Azure-függvényhez az Azure Maps hozzáférési jogkivonatainak lekéréséhez a rendszer által hozzárendelt identitással az egyik támogatott mechanizmussal vagy a REST protokollal. További információ: Jogkivonatok beszerzése az Azure-erőforrásokhoz.
Íme egy példa REST protokollra:
GET /MSI/token?resource=https://atlas.microsoft.com/&api-version=2019-08-01 HTTP/1.1 Host: localhost:4141
És íme egy példa válasz:
HTTP/1.1 200 OK Content-Type: application/json { "access_token": "eyJ0eXAi…", "expires_on": "1586984735", "resource": "https://atlas.microsoft.com/", "token_type": "Bearer", "client_id": "..." }
Konfigurálja a HttpTrigger Azure-függvény biztonságát:
- Függvényelérési kulcs létrehozása
- Biztonságos HTTP-végpont az azure-függvényhez éles környezetben.
Webalkalmazás konfigurálása az Azure Maps Web SDK-ban.
//URL to custom endpoint to fetch Access token var url = 'https://{App-Name}.azurewebsites.net/api/{Function-Name}?code={API-Key}'; var map = new atlas.Map('myMap', { center: [-122.33, 47.6], zoom: 12, language: 'en-US', view: "Auto", authOptions: { authType: "anonymous", clientId: "<insert>", // azure map account client id getToken: function(resolve, reject, map) { fetch(url).then(function(response) { return response.text(); }).then(function(token) { resolve(token); }); } } }); // use the following events to debug, you can remove them at any time. map.events.add("tokenacquired", function () { console.log("token acquired"); }); map.events.add("error", function (err) { console.log(JSON.stringify(err.error)); });
Szerepköralapú hozzáférés biztosítása a felhasználók számára az Azure Mapshez
Az Azure szerepköralapú hozzáférés-vezérlést (Azure RBAC) úgy adhat meg, ha egy Microsoft Entra-csoportot vagy biztonsági tagot rendel egy vagy több Azure Maps-szerepkördefinícióhoz.
Az Azure Mapshez elérhető Azure-szerepkördefiníciók megtekintéséhez tekintse meg a beépített Azure Maps-szerepkördefiníciókat.
Az elérhető Azure Maps-szerepkörök a létrehozott felügyelt identitáshoz vagy szolgáltatásnévhez való hozzárendelésének részletes lépéseit az Azure-szerepkörök hozzárendelése az Azure Portal használatával című témakörben találja .
Az Azure Maps-alkalmazás és a nagy mennyiségű felhasználó erőforrás-hozzáférésének hatékony kezeléséhez tekintse meg a Microsoft Entra-csoportokat.
Fontos
Ahhoz, hogy a felhasználók hitelesíthessenek egy alkalmazást, először létre kell hozniuk a felhasználókat a Microsoft Entra-azonosítóban. További információ: Felhasználók hozzáadása vagy törlése a Microsoft Entra-azonosítóval.
A nagy címtárak felhasználók számára történő hatékony kezeléséről a Microsoft Entra ID című témakörben olvashat.
Figyelmeztetés
Az Azure Maps beépített szerepkördefiníciói nagyon nagy engedélyezési hozzáférést biztosítanak számos Azure Maps REST API-hoz. Az API-k minimális hozzáférésének korlátozásához lásd : egyéni szerepkördefiníció létrehozása és a rendszer által hozzárendelt identitás hozzárendelése az egyéni szerepkör-definícióhoz. Ez lehetővé teszi az alkalmazás számára az Azure Maps eléréséhez szükséges legkisebb jogosultságot.
Következő lépések
Az egyoldalas alkalmazásforgatókönyv további ismerete:
Az Azure Maps-fiók API-használati metrikáinak megkeresése:
Ismerje meg a Microsoft Entra ID és az Azure Maps integrálását bemutató egyéb mintákat: