Zabezpečení webové aplikace pomocí přihlašování uživatele

Následující příručka se týká aplikace hostované na webových serverech, udržuje několik obchodních scénářů a nasazuje na webové servery. Aplikace musí poskytovat chráněné prostředky zabezpečené pouze uživatelům Microsoft Entra. Cílem scénáře je umožnit webové aplikaci ověřit se v Microsoft Entra ID a volat rozhraní AZURE Mapy REST API jménem uživatele.

Zobrazení podrobností o ověřování účtu Azure Mapy na webu Azure Portal:

  1. Přihlaste se k portálu Azure.

  2. Přejděte do nabídky webu Azure Portal. Vyberte Všechny prostředky a pak vyberte svůj účet Azure Mapy.

  3. V části Nastavení v levém podokně vyberte Ověřování.

    Screenshot showing your Azure Maps authentication options in the Azure portal.

Při vytvoření účtu Azure Mapy se vytvoří tři hodnoty. Používají se k podpoře dvou typů ověřování v Azure Mapy:

  • Ověřování Microsoft Entra: Představuje Client ID účet, který se má použít pro požadavky rozhraní REST API. Hodnota Client ID by měla být uložená v konfiguraci aplikace a pak by se měla načíst před vytvořením požadavků HTTP, které používají ověřování Microsoft Entra, azure Mapy.
  • Ověřování pomocí sdíleného klíče: Klíč Secondary KeyPrimary Key předplatného se používá pro ověřování pomocí sdíleného klíče. Ověřování pomocí sdíleného klíče spoléhá na předání klíče vygenerovaného účtem Azure Mapy s každou žádostí do Azure Mapy. Doporučujeme pravidelně obnovovat klíče. Pro zachování aktuálních připojení během regenerace jsou k dispozici dva klíče. Při opětovném vygenerování druhého klíče je možné použít jeden klíč. Při každém vygenerování klíče je nutné aktualizovat všechny aplikace, které k tomuto účtu přistupují, aby používaly nový klíč. Další informace najdete v tématu Ověřování pomocí Azure Mapy

Vytvoření registrace aplikace v Microsoft Entra ID

Aby se uživatelé mohli přihlásit, musíte webovou aplikaci vytvořit v Microsoft Entra ID. Tato webová aplikace pak deleguje přístup uživatele k rozhraním AZURE Mapy REST API.

  1. Na webu Azure Portal v seznamu služeb Azure vyberte ID Microsoft Entra Registrace aplikací>> New registration.

    A screenshot showing application registration in Microsoft Entra ID.

  2. Zadejte název, zvolte typ účtu podpory, zadejte identifikátor URI přesměrování, který představuje adresu URL, na kterou Microsoft Entra ID vydá token, což je adresa URL, kde je ovládací prvek mapy hostovaný. Další informace najdete ve scénáři Microsoft Entra ID : Webová aplikace, která přihlašuje uživatele. Dokončete poskytnuté kroky ze scénáře Microsoft Entra.

  3. Po dokončení registrace aplikace ověřte, že přihlášení aplikace funguje pro uživatele. Jakmile přihlášení funguje, můžete aplikaci udělit delegovaný přístup k rozhraním REST API azure Mapy.

  4. Pokud chcete přiřadit delegovaná oprávnění rozhraní API k Azure Mapy, přejděte do aplikace a vyberte Oprávnění>rozhraní API Přidat oprávnění. v rozhraních API, která moje organizace používá, vyberte Azure Mapy.

    A screenshot showing add app API permissions.

  5. Zaškrtněte políčko vedle položky Přístup k Azure Mapy a pak vyberte Přidat oprávnění.

    A screenshot showing select app API permissions.

  6. Povolte webové aplikaci volat rozhraní AZURE Mapy REST API konfigurací registrace aplikace tajným kódem aplikace. Podrobné kroky najdete ve webové aplikaci, která volá webová rozhraní API: Registrace aplikace. Tajný kód se vyžaduje k ověření jménem uživatele microsoft Entra. Certifikát nebo tajný kód registrace aplikace by měl být uložený v zabezpečeném úložišti, aby webová aplikace načetla ověření pro MICROSOFT Entra ID.

    • Tento krok se může přeskočit, pokud už aplikace má nakonfigurovanou registraci aplikace Microsoft Entra a tajný kód.

    Tip

    Pokud je aplikace hostovaná v prostředí Azure, doporučujeme použít spravované identity pro prostředky Azure a instanci služby Azure Key Vault pro přístup k tajným kódům získáním přístupového tokenu pro přístup k tajným kódům nebo certifikátům služby Azure Key Vault. Pokud se chcete připojit ke službě Azure Key Vault a načíst tajné kódy, projděte si kurz připojení prostřednictvím spravované identity.

  7. Implementujte koncový bod zabezpečeného tokenu pro azure Mapy Web SDK pro přístup k tokenu.

    • Ukázkový kontroler tokenů najdete v azure Mapy ukázkách ID Microsoft Entra.
    • Informace o implementaci jiné než AspNetCore nebo jiné implementaci naleznete v tématu Získání tokenu pro aplikaci z dokumentace k Microsoft Entra.
    • Koncový bod zabezpečeného tokenu zodpovídá za vrácení přístupového tokenu pro ověřeného a autorizovaného uživatele za volání rozhraní AZURE Mapy REST API.
  8. Pokud chcete nakonfigurovat řízení přístupu na základě role v Azure (Azure RBAC) pro uživatele nebo skupiny, přečtěte si téma Udělení přístupu na základě role pro uživatele.

  9. Nakonfigurujte stránku webové aplikace pomocí sady Azure Mapy Web SDK pro přístup ke koncovému bodu zabezpečeného tokenu.

var map = new atlas.Map("map", {
        center: [-122.33, 47.64],
        zoom: 12,
        language: "en-US",
        authOptions: {
            authType: "anonymous",
            clientId: "<insert>",  // azure map account client id
            getToken: function (resolve, reject, map) {
                var xhttp = new XMLHttpRequest();
                xhttp.open("GET", "/api/token", true); // the url path maps to the token endpoint.
                xhttp.onreadystatechange = function () {
                    if (this.readyState === 4 && this.status === 200) {
                        resolve(this.responseText);
                    } else if (this.status !== 200) {
                        reject(this.responseText);
                    }
                };

                xhttp.send();
            }
        }
    });
    map.events.add("tokenacquired", function () {
        console.log("token acquired");
    });
    map.events.add("error", function (err) {
        console.log(JSON.stringify(err.error));
    });

Udělení přístupu na základě role uživatelům k Azure Mapy

Řízení přístupu na základě role v Azure (Azure RBAC) můžete udělit přiřazením skupiny Microsoft Entra nebo objektu zabezpečení k jedné nebo více definicím rolí Azure Mapy.

Pokud chcete zobrazit dostupné definice rolí Azure pro Azure Mapy, přečtěte si téma Zobrazení předdefinovaných definic rolí Azure Mapy.

Podrobný postup přiřazení dostupné role Azure Mapy vytvořené spravované identitě nebo instančnímu objektu najdete v tématu Přiřazení rolí Azure pomocí webu Azure Portal.

Pokud chcete efektivně spravovat aplikaci Azure Mapy a přístup k prostředkům velkého množství uživatelů, podívejte se na skupiny Microsoft Entra.

Důležité

Aby se uživatelé mohli ověřovat v aplikaci, musí být uživatelé nejprve vytvořeni v Microsoft Entra ID. Další informace naleznete v tématu Přidání nebo odstranění uživatelů pomocí Microsoft Entra ID.

Informace o efektivní správě velkého adresáře pro uživatele najdete v tématu Microsoft Entra ID.

Upozorňující

Azure Mapy předdefinované definice rolí poskytují velmi velký přístup k autorizaci mnoha rozhraním REST API azure Mapy. Pokud chcete omezit přístup k rozhraním API na minimum, přečtěte si téma Vytvoření vlastní definice role a přiřazení identity přiřazené systémem k definici vlastní role. To umožňuje aplikaci přístup ke službě Azure Mapy s nejnižšími oprávněními.

Další kroky

Další porozumění scénáři webové aplikace:

Vyhledejte metriky využití rozhraní API pro váš účet Azure Mapy:

Prozkoumejte ukázky, které ukazují, jak integrovat ID Microsoft Entra s Azure Mapy: