Automatické opětovné načtení tajných kódů a certifikátů z Key Vault
App Configuration a Key Vault jsou doplňkové služby používané vedle sebe v mnoha aplikacích. App Configuration vám pomůže používat služby společně vytvořením klíčů v úložišti App Configuration, které odkazují na tajné kódy nebo certifikáty uložené v Key Vault. Vzhledem k tomu, že Key Vault ukládá dvojici veřejného a privátního klíče certifikátu jako tajný klíč, může vaše aplikace načíst libovolný certifikát jako tajný klíč z Key Vault.
Jako dobrý bezpečnostní postup by se tajné kódy a certifikáty měly pravidelně obměňovat. Po jejich obměně v Key Vault budete chtít, aby aplikace získala nejnovější hodnoty tajného kódu a certifikátu. Existují dva způsoby, jak toho dosáhnout bez restartování aplikace:
- Aktualizujte klíč-hodnota služby Sentinel tak, aby aktivovala aktualizaci celé konfigurace, a tím znovu načtěte všechny Key Vault tajné kódy a certifikáty. Další informace najdete v tématu použití dynamické konfigurace v aplikaci ASP.NET Core.
- Pravidelně znovu načítejte některé nebo všechny tajné kódy a certifikáty z Key Vault.
V první možnosti budete muset aktualizovat hodnotu klíč-hodnota sentinelu v App Configuration při každé obměně tajných kódů a certifikátů v Key Vault. Tento přístup funguje dobře, když chcete vynutit okamžité opětovné načtení tajných kódů a certifikátů ve vaší aplikaci. Pokud se ale tajné kódy a certifikáty v Key Vault obměňují automaticky, může dojít k chybám ve vaší aplikaci, pokud neaktualizujete hodnotu klíče a klíče služby Sentinel včas. Druhá možnost umožňuje tento proces zcela automatizovat. Aplikaci můžete nakonfigurovat tak, aby znovu načítá tajné kódy a certifikáty z Key Vault v rámci přijatelného zpoždění od doby obměna. Tento kurz vás provede druhou možností.
Požadavky
V tomto kurzu se dozvíte, jak nastavit aplikaci tak, aby automaticky znovu načítá tajné kódy a certifikáty z Key Vault. Vychází z kurzu implementace Key Vault odkazů v kódu. Než budete pokračovat, nejprve dokončete kurz: Použití Key Vault odkazů v aplikaci ASP.NET Core.
Balíček Microsoft.Azure.AppConfiguration.AspNetCore verze 4.4.0 nebo novější.
Přidání automaticky rotujícího certifikátu do Key Vault
Postupujte podle kurzu Konfigurace automatické obměně certifikátů v Key Vault a přidejte do Key Vault vytvořeného v předchozím kurzu certifikát s názvem ExampleCertificate.
Přidání odkazu na certifikát Key Vault v App Configuration
V Azure Portal vyberte Všechny prostředky a pak vyberte instanci úložiště App Configuration, kterou jste vytvořili v předchozím kurzu.
Vyberte Průzkumník konfigurace.
Vyberte + Vytvořit>odkaz na trezor klíčů a zadejte následující hodnoty:
- Klíč: Vyberte TestApp:Settings:KeyVaultCertificate.
- Popisek: Tuto hodnotu ponechte prázdnou.
- Předplatné, skupina prostředků a trezor klíčů: Zadejte hodnoty odpovídající Key Vault, které jste vytvořili v předchozím kurzu.
- Tajný klíč: Vyberte tajný klíč s názvem ExampleCertificate , který jste vytvořili v předchozí části.
- Verze tajného kódu: Nejnovější verze.
Poznámka
Pokud odkazujete na konkrétní verzi, opětovné načtení tajného kódu nebo certifikátu z Key Vault vždy vrátí stejnou hodnotu.
Aktualizace kódu pro opětovné načtení tajných kódů a certifikátů Key Vault
V souboru Program.cs aktualizujte metodu AddAzureAppConfiguration
tak, aby nastavila interval aktualizace pro certifikát Key Vault pomocí SetSecretRefreshInterval
metody . Po této změně bude vaše aplikace každých 12 hodin znovu načítat pár veřejného a privátního klíče pro ExampleCertificate .
config.AddAzureAppConfiguration(options =>
{
options.Connect(settings["ConnectionStrings:AppConfig"])
.ConfigureKeyVault(kv =>
{
kv.SetCredential(new DefaultAzureCredential());
kv.SetSecretRefreshInterval("TestApp:Settings:KeyVaultCertificate", TimeSpan.FromHours(12));
});
});
Prvním argumentem v SetSecretRefreshInterval
metodě je klíč odkazu na Key Vault v App Configuration. Tento argument je nepovinný. Pokud je parametr klíče vynechán, interval aktualizace se použije pro všechny tajné kódy a certifikáty, které nemají jednotlivé intervaly aktualizace.
Interval aktualizace definuje frekvenci opětovného načítání tajných kódů a certifikátů z Key Vault bez ohledu na změny jejich hodnot v Key Vault nebo App Configuration. Pokud chcete znovu načíst tajné kódy a certifikáty, když se jejich hodnota změní v App Configuration, můžete je monitorovat pomocí ConfigureRefresh
metody . Další informace najdete v tématu použití dynamické konfigurace v aplikaci ASP.NET Core.
Zvolte interval aktualizace podle přijatelného zpoždění po aktualizaci tajných kódů a certifikátů v Key Vault. Je také důležité zvážit limity služby Key Vault, abyste se vyhnuli omezování.
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 zde vytvořili, abyste se vyhnuli 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 omylem neodstraníte nesprávnou skupinu prostředků nebo prostředky. Pokud jste prostředky pro tento článek vytvořili ve skupině prostředků, která obsahuje další prostředky, které chcete zachovat, odstraňte jednotlivé prostředky z příslušného podokna místo odstranění skupiny prostředků.
- Přihlaste se k Azure Portal a 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ů, abyste viděli přehled.
- Vyberte Odstranit skupinu prostředků.
- Zobrazí se výzva k potvrzení odstranění skupiny prostředků. Zadejte název skupiny prostředků, který chcete potvrdit, a vyberte Odstranit.
Po chvíli se skupina prostředků a všechny její prostředky odstraní.
Další kroky
V tomto kurzu jste zjistili, jak nastavit aplikaci tak, aby automaticky znovu načítá tajné kódy a certifikáty z Key Vault. Pokud chcete zjistit, jak pomocí spravované identity zjednodušit přístup k App Configuration a Key Vault, pokračujte k dalšímu kurzu.
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro