Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Doporučeným přístupem k ověření aplikace hostované v Azure u jiných prostředků Azure je použití spravované identity. Tento přístup je podporovaný pro většinu služeb Azure, včetně aplikací hostovaných v Azure App Service, Azure Container Apps a Azure Virtual Machines. Další informace o různých technikách ověřování a přístupech najdete na stránce s přehledem ověřování . V dalších částech se dozvíte:
- Základní koncepty spravované identity
- Vytvoření spravované identity přiřazené uživatelem pro vaši aplikaci
- Přiřazení rolí spravované identitě přiřazené uživatelem
- Jak se ověřit pomocí spravované identity přiřazené uživatelem z vašeho aplikačního kódu
Základní koncepty spravované identity
Spravovaná identita umožňuje aplikaci bezpečně připojit k jiným prostředkům Azure bez použití tajných klíčů nebo jiných tajných kódů aplikací. Azure interně sleduje identitu a prostředky, ke kterým se může připojit. Azure tyto informace používá k automatickému získání tokenů Microsoft Entra pro aplikaci, aby se mohla připojit k dalším prostředkům Azure.
Při konfiguraci hostované aplikace je potřeba zvážit dva typy spravovaných identit:
- systémově přiřazené spravované identity jsou povoleny přímo na prostředku Azure a jsou svázané s jeho životním cyklem. Když se prostředek odstraní, Azure automaticky odstraní identitu za vás. Identity přiřazené systémem poskytují minimalistický přístup k používání spravovaných identit.
- spravované identity přiřazené uživatelem se vytvářejí jako samostatné prostředky Azure a nabízejí větší flexibilitu a možnosti. Jsou ideální pro řešení zahrnující více prostředků Azure, které potřebují sdílet stejnou identitu a oprávnění. Pokud například více virtuálních počítačů potřebuje přístup ke stejné sadě prostředků Azure, spravovaná identita přiřazená uživatelem poskytuje opakovaně použitelný a optimalizovanou správu.
Spropitné
Další informace o výběru a správě spravovaných identit přiřazených systémem a přiřazených uživatelem najdete v článku s doporučeními k osvědčeným postupům spravované identity .
Následující části popisují kroky pro povolení a použití spravované identity přiřazené uživatelem pro aplikaci hostované v Azure. Pokud potřebujete použít spravovanou identitu přiřazenou systémem, další informace najdete v článku o spravovaných identitách přiřazených systémem .
Vytvořit spravovanou identitu přiřazenou uživatelem
Spravované identity přiřazené uživatelem se ve vašem předplatném Azure vytvářejí jako samostatné prostředky pomocí Azure portálu nebo Azure CLI. Příkazy Azure CLI je možné spouštět v Azure Cloud Shellu nebo na pracovní stanici s nainstalovaným Azure CLI.
V Azure portálu do hlavního panelu hledání zadejte spravované identity a v sekci Služby vyberte odpovídající výsledek.
Na stránce Spravované identity vyberte + Vytvořit.
Na stránce Vytvořit spravovanou identitu přiřazenou uživatelem vyberte předplatné, skupinu prostředků a oblast spravované identity přiřazené uživatelem a zadejte název.
Vyberte Zkontrolovat a vytvořit pro revizi a ověření vašich vstupů.
Vyberte Vytvořit a vytvořte spravovanou identitu přiřazenou uživatelem.
Po vytvoření identity vyberte Přejít k prostředku.
Na stránce Přehled nové identity zkopírujte hodnotu ID klienta , která se použije pro pozdější použití při konfiguraci kódu aplikace.
Přiřazení spravované identity k aplikaci
Spravovanou identitu přiřazenou uživatelem je možné přidružit k jednomu nebo více prostředkům Azure. Všechny prostředky, které tuto identitu používají, získají oprávnění získaná skrze role identity.
Na webu Azure Portal přejděte k prostředku, který je hostitelem kódu vaší aplikace, jako je azure App Service nebo instance kontejnerové aplikace Azure.
Na stránce přehledu prostředku rozbalte nastavení a v navigaci vyberte Identitu.
Na stránce Identita přepněte na záložku uživatelsky přiřazené.
Výběrem + Přidat otevřete panel Přidat uživatelem přiřazenou spravovanou identitu.
Na panelu Přidat uživatelsky přiřazenou spravovanou identitu použijte rozevírací seznam Předplatné k filtrování výsledků vyhledávání pro vaše identity. Pomocí vyhledávacího pole uživatelsky přiřazené spravované identity vyhledejte uživatelsky přiřazenou spravovanou identitu, kterou jste povolili pro prostředek Azure hostující vaši aplikaci.
Vyberte identitu a dole na panelu zvolte Přidat, abyste pokračovali.
Přiřazení rolí ke spravované identitě
Dále určete, které role vaše aplikace potřebuje, a přiřaďte tyto role spravované identitě. Spravované identitě můžete přiřadit role v následujících oborech:
- zdroj: Přiřazené role se vztahují pouze na tento konkrétní zdroj.
- skupiny prostředků: Přiřazené role se vztahují na všechny prostředky obsažené ve skupině prostředků.
- Předplatné: Přiřazené role se vztahují na všechny prostředky obsažené v předplatném.
Následující příklad ukazuje, jak přiřadit role v oboru skupiny prostředků, protože mnoho aplikací spravuje všechny související prostředky Azure pomocí jedné skupiny prostředků.
Přejděte na stránku Přehled skupiny prostředků, která obsahuje aplikaci s uživatelsky přiřazenou spravovanou identitou.
V levém navigačním panelu vyberte řízení přístupu (IAM).
Na stránce řízení přístupu (IAM) vyberte + Přidat v horní nabídce a potom zvolte Přidat přiřazení role a přejděte na stránku Přidat přiřazení role.
Na stránce Přidat přiřazení role se zobrazí vícekrokový pracovní postup se záložkami pro přiřazení rolí k identitám. Na úvodní kartě Role vyhledejte roli, kterou chcete přiřadit k identitě, pomocí vyhledávacího pole v horní části.
Ve výsledcích vyberte roli, poté zvolte Další a přejděte na kartu Členové.
Pro volbu Přiřazení přístupu k vyberte Spravovaná identita.
Pro otevření panelu Vybrat spravované identity vyberte u možnosti Členové volbu + Vybrat členy.
Na panelu Vyberte spravované identity použijte rozevírací seznamy Předplatné a Spravované identity k filtrování výsledků hledání pro vaše identity. Pomocí vyhledávacího pole Vybrat najděte uživatelsky přiřazenou spravovanou identitu, kterou jste povolili pro prostředek Azure hostující vaši aplikaci.
Vyberte identitu a zvolte Pokračujte výběrem v dolní části panelu.
Vyberte Zkontrolovat a přiřadit v dolní části stránky.
Na poslední kartě Zkontrolovat + přiřadit, vyberte možnost Zkontrolovat + přiřadit a dokončete pracovní postup.
Ověřování ve službách Azure z vaší aplikace
Knihovna Azure Identity library poskytuje různé přihlašovací údaje– implementace TokenCredential přizpůsobené podpoře různých scénářů a toků ověřování Microsoft Entra. Vzhledem k tomu, že spravovaná identita není při místním spuštění dostupná, následující kroky ukazují, které přihlašovací údaje použít ve které situaci:
-
místní vývojové prostředí: Pouze během místního vývoje, použijte třídu s názvem DefaultAzureCredential pro předkonfigurovaný a specifický řetězec přihlašovacích údajů.
DefaultAzureCredentialzjistí přihlašovací údaje uživatele z místního nástroje nebo integrovaného vývojového prostředí(IDE), jako je Azure CLI nebo Visual Studio. Poskytuje také flexibilitu a pohodlí pro opakování, doby čekání na odpovědi a podporu více možností ověřování. Další informace získáte v článku Ověřování ve službách Azure během místního vývoje. - aplikace hostované v Azure: Pokud je vaše aplikace spuštěná v Azure, použijte ManagedIdentityCredential k bezpečnému zjištění spravované identity nakonfigurované pro vaši aplikaci. Zadáním tohoto přesného typu přihlašovacích údajů zabráníte neočekávanému vyzvednutí dalších dostupných přihlašovacích údajů.
Implementace kódu
Přidejte balíček Azure.Identity. V projektu ASP.NET Core nainstalujte také balíček Microsoft.Extensions.Azure:
V terminálu podle vašeho výběru přejděte do adresáře projektu aplikace a spusťte následující příkazy:
dotnet add package Azure.Identity
dotnet add package Microsoft.Extensions.Azure
Ke službám Azure se přistupuje pomocí specializovaných klientských tříd z různých klientských knihoven Azure SDK. Tyto třídy a vlastní služby by se měly zaregistrovat pro injektáž závislostí, aby je bylo možné používat v celé aplikaci. V Program.csproveďte následující kroky a nakonfigurujte třídu klienta pro injektáž závislostí a ověřování na základě tokenů:
- Zahrňte obory názvů
Azure.IdentityaMicrosoft.Extensions.Azurepomocí direktivusing. - Zaregistrujte klienta služby Azure pomocí odpovídající metody rozšíření s předponou
Add. - Použijte odpovídající
TokenCredentialinstanci pro prostředí, ve kterém je vaše aplikace spuštěná. Když je vaše aplikace spuštěná:- V Azure předejte instanci
ManagedIdentityCredentialmetoděUseCredentiala nakonfigurujte buď ID klienta, ID prostředku, nebo ID objektu.ManagedIdentityCredentialzjišťuje vaše konfigurace spravované identity pro automatické ověřování u jiných služeb. - Na místním vývojovém počítači se pro vás vytvoří instance
DefaultAzureCredential. VolejteUseCredentialjenom v případě, že chcete přizpůsobitDefaultAzureCredentialnebo použít jiné přihlašovací údaje.DefaultAzureCredentialvyhledá v proměnných prostředí instanční objekt aplikace nebo v místně nainstalovaných vývojářských nástrojích, jako je například Visual Studio, pro sadu přihlašovacích údajů vývojáře.
- V Azure předejte instanci
- ID klienta
- Identifikátor prostředku
- ID objektu
ID klienta slouží k identifikaci spravované identity při konfiguraci aplikací nebo služeb, které je potřeba ověřit pomocí této identity.
Pomocí následujícího příkazu načtěte ID klienta přiřazené spravované identitě přiřazené uživatelem:
az identity show \ --resource-group <resource-group-name> \ --name <identity-name> \ --query 'clientId'Nakonfigurujte
ManagedIdentityCredentials ID klienta:builder.Services.AddAzureClients(clientBuilder => { clientBuilder.AddBlobServiceClient( new Uri("https://<account-name>.blob.core.windows.net")); if (builder.Environment.IsProduction() || builder.Environment.IsStaging()) { // Managed identity token credential discovered when running in Azure environments ManagedIdentityCredential credential = new( ManagedIdentityId.FromUserAssignedClientId("<client-id>")); clientBuilder.UseCredential(credential); } });