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


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:

  1. Jelentkezzen be az Azure Portalra.

  2. 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.

  3. A bal oldali panel Beállítások csoportjában válassza a Hitelesítés lehetőséget.

    Képernyőkép az Azure Maps hitelesítési lehetőségeiről az Azure Portalon.

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. Az Client 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:

  1. Hozzon létre egy függvényt az Azure Portalon. További információ: Az Azure Functions használatának első lépései.

  2. 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.

  3. 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.

  4. 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.

  5. Í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": "..."
    }
    
  6. Konfigurálja a HttpTrigger Azure-függvény biztonságát:

    1. Függvényelérési kulcs létrehozása
    2. Biztonságos HTTP-végpont az azure-függvényhez éles környezetben.
  7. 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: