Kurz: Použití Key Vault referencí v ASP.NET Core aplikaci
V tomto kurzu se naučíte používat službu Azure App Configuration společně s Azure Key Vault. App Configuration a Key Vault jsou doplňkové služby, které se ve většině nasazení aplikací používají vedle sebe.
App Configuration vám pomůže používat služby společně vytvořením klíčů, které odkazují na hodnoty uložené v Key Vault. Když App Configuration takové klíče vytvoří, uloží identifikátory URI hodnot Key Vault místo samotných hodnot.
Aplikace používá poskytovatele klienta App Configuration k načtení Key Vault, stejně jako u všech ostatních klíčů uložených v App Configuration. V tomto případě jsou hodnoty uložené v App Configuration identifikátory URI, které odkazují na hodnoty v Key Vault. Nejsou to Key Vault hodnoty ani přihlašovací údaje. Vzhledem k tomu, že poskytovatel klienta rozpozná klíče Key Vault odkazy, používá Key Vault k načtení jejich hodnot.
Vaše aplikace zodpovídá za správné ověření v App Configuration i Key Vault. Tyto dvě služby nekomunikují přímo.
V tomto kurzu si ukážeme, jak Key Vault odkazy do kódu. Vychází z webové aplikace představené v rychlých startech. Než budete pokračovat, dokončete nejprve vytvoření ASP.NET Core aplikace App Configuration.
Kroky v tomto kurzu můžete provést v libovolném editoru kódu. Například Visual Studio Code je editor kódu pro více platforem, který je k dispozici pro operační systémy Windows, macOS a Linux.
V tomto kurzu se naučíte:
- Vytvořte klíč App Configuration, který odkazuje na hodnotu uloženou v Key Vault.
- Přístup k hodnotě tohoto klíče z ASP.NET Core aplikace.
Požadavky
Než začnete s tímto kurzem, nainstalujte si .NET Core SDK.
Pokud ještě nemáte předplatné Azure,vytvořte si bezplatný účet před tím, než začnete.
Vytvoření trezoru
Vyberte možnost Vytvořit prostředek v levém horním rohu Azure Portal:

Do vyhledávacího pole zadejte Key Vault a v rozevíracím Key Vault vyberte Key Vault.
V seznamu výsledků vyberte trezory klíčů na levé straně.
V části Trezory klíčů vyberte Přidat.
Napravo v části Vytvořit trezor klíčů zadejte následující informace:
- Vyberte Předplatné a zvolte předplatné.
- V části Skupina prostředků zadejte název existující skupiny prostředků nebo vyberte Vytvořit novou a zadejte název skupiny prostředků.
- V části Název trezoru klíčů se vyžaduje jedinečný název.
- V rozevíracím seznamu Oblast zvolte umístění.
U ostatních možností vytvoření trezoru klíčů ponechte výchozí hodnoty.
Klikněte na Zkontrolovat a vytvořit.
Systém ověří a zobrazí zadaná data. Klikněte na Vytvořit.
V tuto chvíli je váš účet Azure jediným účtem s oprávněním pro přístup k tomuto novému trezoru.
Přidání tajného klíče do služby Key Vault
Pokud chcete do trezoru přidat tajný kód, musíte udělat jenom pár dalších kroků. V tomto případě přidejte zprávu, kterou můžete použít k otestování Key Vault načtení. Zpráva se nazývá Message (Zpráva) a uloží se do ní hodnota "Hello from Key Vault".
- Na stránce Key Vault vlastností vyberte Tajné kódy.
- Vyberte Vygenerovat/importovat.
- V podokně Vytvořit tajný kód zadejte následující hodnoty:
- Upload možnosti: Zadejte Ruční.
- Název: Zadejte Message.
- Hodnota: Zadejte Hello z Key Vault.
- U ostatních vlastností Vytvořit tajný kód ponechte výchozí hodnoty.
- Vyberte Vytvořit.
Přidání odkazu Key Vault do App Configuration
Přihlaste se k webu Azure Portal. Vyberte Všechny prostředky a pak vyberte instanci App Configuration, kterou jste vytvořili v rychlém startu.
Vyberte Configuration Explorer.
Vyberte + Vytvořit odkaz na trezor klíčů a zadejte následující > hodnoty:
- Klíč: Vyberte TestApp:Nastavení:KeyVaultMessage.
- Popisek: Tuto hodnotu nechte prázdnou.
- Předplatné, Skupina prostředků a Trezor klíčů: Zadejte hodnoty odpovídající hodnotám v trezoru klíčů, který jste vytvořili v předchozí části.
- Tajný kód: Vyberte tajný kód s názvem Message, který jste vytvořili v předchozí části.

Aktualizace kódu tak, aby se Key Vault referencí
Přidejte odkaz na požadované NuGet balíčky spuštěním následujícího příkazu:
dotnet add package Azure.IdentityOtevřete soubor Program.cs a přidejte odkazy na následující požadované balíčky:
using Azure.Identity;Aktualizujte
CreateWebHostBuildermetodu tak, aby App Configuration, zavoláteconfig.AddAzureAppConfigurationmetodu .ConfigureKeyVaultZahrřte možnost a předejte své přihlašovací údaje do Key Vault.public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => webBuilder.ConfigureAppConfiguration((hostingContext, config) => { var settings = config.Build(); config.AddAzureAppConfiguration(options => { options.Connect(settings["ConnectionStrings:AppConfig"]) .ConfigureKeyVault(kv => { kv.SetCredential(new DefaultAzureCredential()); }); }); }) .UseStartup<Startup>());Když jste inicializovali připojení App Configuration, nastavíte připojení pro Key Vault voláním
ConfigureKeyVaultmetody . Po inicializaci můžete přistupovat k hodnotám Key Vault stejným způsobem, jakým přistupuje k hodnotám běžných App Configuration klíčů.Pokud chcete vidět tento proces v akci, otevřete soubor Index.cshtml ve složce > Domů zobrazení. Jeho obsah nahraďte následujícím kódem.
@using Microsoft.Extensions.Configuration @inject IConfiguration Configuration <style> body { background-color: @Configuration["TestApp:Settings:BackgroundColor"] } h1 { color: @Configuration["TestApp:Settings:FontColor"]; font-size: @Configuration["TestApp:Settings:FontSize"]px; } </style> <h1>@Configuration["TestApp:Settings:Message"] and @Configuration["TestApp:Settings:KeyVaultMessage"]</h1>K hodnotě třídy testapp Key Vault testApp:Nastavení:KeyVaultMessage přistupujte stejným způsobem jako k hodnotě konfigurace TestApp:Nastavení:Message.
Udělení přístupu k Key Vault
Azure App Configuration nebude mít přístup k vašemu trezoru klíčů. Vaše aplikace bude číst z Key Vault, takže aplikaci musíte udělit přístup pro čtení k tajným kódům ve vašem trezoru klíčů. Tímto způsobem tajný kód vždy zůstane s vaší aplikací. Přístup je možné udělit pomocí zásad přístupu Key Vault nebo řízení přístupu na základě role v Azure.
Ve DefaultAzureCredential výše uvedeném kódu použijete . Jedná se o agregované přihlašovací údaje tokenu, které automaticky zkouší několik typů přihlašovacích údajů, například EnvironmentCredential , ManagedIdentityCredential , a SharedTokenCacheCredential VisualStudioCredential . Další informace najdete v tématu Třída DefaultAzureCredential. Můžete explicitně nahradit DefaultAzureCredential libovolným typem přihlašovacích údajů. Použití ale umožňuje mít stejný kód, který běží v místním prostředí DefaultAzureCredential i v prostředí Azure. Například udělíte přístup k trezoru klíčů vlastním přihlašovacím údajům. DefaultAzureCredentialse automaticky vrátí k SharedTokenCacheCredential nebo VisualStudioCredential , když použijete Visual Studio pro místní vývoj.
Alternativně můžete nastavit proměnné prostředí AZURE_TENANT_ID, AZURE_CLIENT_ID AZURE_CLIENT_SECRET AZURE_CLIENT_SECRET použít tajný klíč klienta, který máte prostřednictvím , k ověření ve vašem DefaultAzureCredential EnvironmentCredential trezoru klíčů. Po nasazení aplikace do služby Azure s povolenou spravovanou identitou, jako je Azure App Service, Azure Kubernetes Service nebo instance kontejneru Azure, udělíte spravované identitě služby Azure oprávnění pro přístup k trezoru klíčů. DefaultAzureCredential automaticky ManagedIdentityCredential používá, když je vaše aplikace spuštěná v Azure. Stejnou spravovanou identitu můžete použít k ověřování pomocí App Configuration i Key Vault. Další informace najdete v tématu Použití spravovaných identit pro přístup k App Configuration.
Místní sestavení a spuštění aplikace
Pokud chcete sestavit aplikaci pomocí .NET Core CLI, spusťte v příkazovém prostředí následující příkaz:
dotnet buildPo dokončení sestavení spusťte webovou aplikaci místně pomocí následujícího příkazu:
dotnet runOtevřete okno prohlížeče a přejděte na adresu , což je výchozí adresa URL pro
http://localhost:5000místně hostovanou webovou aplikaci.
Vyčištění prostředků
Pokud nechcete dál používat prostředky vytvořené v tomto článku, odstraňte skupinu prostředků, kterou jste tady vytvořili, abyste předešli poplatkům.
Důležité
Odstranění skupiny prostředků je nevratné. Skupina prostředků a všechny prostředky v ní se trvale odstraní. Ujistěte se, že nechtěně neodstraníte nesprávnou skupinu prostředků nebo prostředky. Pokud jste vytvořili prostředky pro tento článek v rámci skupiny prostředků, která obsahuje další prostředky, které chcete zachovat, odstraňte všechny prostředky jednotlivě z příslušného podokna, místo aby se odstranila skupina prostředků.
- Přihlaste se k Azure Portala vyberte skupiny prostředků.
- Do pole filtrovat podle názvu zadejte název vaší skupiny prostředků.
- V seznamu výsledků vyberte název skupiny prostředků, aby se zobrazil přehled.
- Vyberte Odstranit skupinu prostředků.
- Zobrazí se výzva k potvrzení odstranění skupiny prostředků. Zadejte název vaší skupiny prostředků, který chcete potvrdit, a vyberte Odstranit.
Po chvíli se odstraní skupina prostředků a všechny její prostředky.
Další kroky
V tomto kurzu jste vytvořili klíč v App Configuration který odkazuje na tajný kód uložený v Key Vault. Informace o automatickém opětovném načtení tajných kódů a certifikátů z Key Vault najdete v dalším kurzu:
Informace o použití spravované identity ke zjednodušení přístupu k App Configuration a Key Vault najdete v následujícím kurzu: