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í REST API služby Azure Maps jménem uživatele.
Zobrazení podrobností o ověřování účtu Azure Maps na webu Azure Portal:
Přihlaste se k portálu Azure.
Přejděte do nabídky webu Azure Portal. Vyberte Všechny prostředky a pak vyberte svůj účet Azure Maps.
V části Nastavení v levém podokně vyberte Ověřování.
Při vytváření účtu Azure Maps se vytvoří tři hodnoty. Používají se k podpoře dvou typů ověřování v Azure Maps:
- Ověřování Microsoft Entra: Představuje
Client ID
účet, který se má použít pro požadavky rozhraní REST API. HodnotaClient ID
by měla být uložena v konfiguraci aplikace a pak by se měla načíst před vytvořením požadavků HTTP služby Azure Maps, které používají ověřování Microsoft Entra. - Ověřování pomocí sdíleného klíče: Klíč
Secondary Key
Primary 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 Maps s každou žádostí do Azure Maps. 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 Maps.
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živatelů k rozhraním REST API služby Azure Maps.
Na webu Azure Portal v seznamu služeb Azure vyberte ID Microsoft Entra Registrace aplikací>> New registration.
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.
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 služby Azure Maps.
Pokud chcete přiřadit delegovaná oprávnění rozhraní API službě Azure Maps, 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 Maps.
Zaškrtněte políčko vedle accessu ke službě Azure Maps a pak vyberte Přidat oprávnění.
Povolte webové aplikaci volat rozhraní REST API služby Azure Maps tak, že nakonfigurujete registraci 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.
Implementujte koncový bod zabezpečeného tokenu pro webovou sadu SDK služby Azure Maps pro přístup k tokenu.
- Ukázkový kontroler tokenů najdete v ukázkách ID Služby Azure Maps 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í REST API služby Azure Maps.
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.
Nakonfigurujte stránku webové aplikace pomocí webové sady SDK služby Azure Maps 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 službě Azure Maps
Řízení přístupu na základě role 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 role Azure Maps.
Informace o dostupných definicích rolí Azure pro Azure Maps najdete v tématu Zobrazení předdefinovaných definic rolí Azure Maps.
Podrobný postup přiřazení dostupné role Azure Maps k 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 Maps 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í
Předdefinované definice rolí služby Azure Maps poskytují velmi rozsáhlý přístup k autorizaci mnoha rozhraním REST API služby Azure Maps. 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 Maps s nejnižšími oprávněními nezbytnými.
Další kroky
Další porozumění scénáři webové aplikace:
Vyhledejte metriky využití rozhraní API pro váš účet Azure Maps:
Prozkoumejte ukázky, které ukazují, jak integrovat ID Microsoft Entra s Azure Maps: