Automatické načítání tajných kódů a certifikátů ze služby Key Vault
Konfigurace aplikací a služba Key Vault jsou doplňkové služby používané vedle sebe v mnoha aplikacích. App Configuration pomáhá používat služby společně tím, že ve službě App Configuration Store vytváří klíče, které odkazují na tajné kódy nebo certifikáty uložené ve službě Key Vault. Vzhledem k tomu, že Služba Key Vault ukládá pár 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íč ze služby Key Vault.
Jako dobrý postup zabezpečení by se tajné kódy a certifikáty měly pravidelně obměňovat. Po obměně ve službě Key Vault byste chtěli, aby vaše aplikace získala nejnovější hodnoty tajných kódů a certifikátů. Existují dva způsoby, jak toho dosáhnout bez restartování aplikace:
- Aktualizujte hodnotu klíče služby Sentinel, aby se aktivovala aktualizace celé konfigurace, čímž se znovu načte všechny tajné kódy a certifikáty služby Key Vault. 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 ze služby Key Vault.
V první možnosti budete muset aktualizovat hodnotu klíče sentinelu v App Configuration při každé obměně tajných kódů a certifikátů ve službě 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 automaticky obměňují ve službě Key Vault, může u vaší aplikace docházet k chybám, pokud v čase neaktualizujete hodnotu klíče sentinelu. Druhá možnost umožňuje tento proces zcela automatizovat. Aplikaci můžete nakonfigurovat tak, aby znovu načítá tajné kódy a certifikáty ze služby Key Vault v přijatelném zpoždění od doby obměny. 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 ze služby Key Vault. Vychází z kurzu pro implementaci odkazů služby Key Vault ve vašem kódu. Než budete pokračovat, dokončete kurz: Nejprve použijte reference ke službě Key Vault v aplikaci ASP.NET Core.
Balíček Microsoft.Azure.AppConfiguration.AspNetCore verze 4.4.0 nebo novější.
Přidání automatického obměny certifikátu do služby Key Vault
Postupujte podle kurzu: Konfigurace automatické obměny certifikátů ve službě Key Vault pro přidání automaticky rotujícího certifikátu s názvem ExampleCertificate do služby Key Vault vytvořené v předchozím kurzu.
Přidání odkazu na certifikát služby Key Vault v konfiguraci aplikace
Na webu Azure Portal vyberte Všechny prostředky a pak vyberte instanci App Configuration Storu, kterou jste vytvořili v předchozím kurzu.
Vyberte Průzkumníka konfigurace.
Vyberte a vytvořte>odkaz na trezor klíčů a zadejte následující hodnoty:
- Klíč: Vyberte TestApp:Settings:KeyVaultCertificate.
- Popisek: Ponechte tuto hodnotu prázdnou.
- Předplatné, skupina prostředků a trezor klíčů: Zadejte hodnoty odpovídající službě Key Vault, kterou jste vytvořili v předchozím kurzu.
- Tajný kód: 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 klíče nebo certifikátu ze služby Key Vault vždy vrátí stejnou hodnotu.
Aktualizace kódu pro opětovné načtení tajných kódů a certifikátů služby Key Vault
V souboru Program.cs aktualizujte metodu AddAzureAppConfiguration
tak, aby pomocí této metody nastavila interval aktualizace certifikátu SetSecretRefreshInterval
služby Key Vault. Při této změně aplikace každých 12 hodin znovu načte dvojici veřejného 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 služby Key Vault v konfiguraci aplikace. Tento argument je nepovinný. Pokud je parametr klíče vynechán, interval aktualizace se použije pro všechny tyto tajné kódy a certifikáty, které nemají jednotlivé intervaly aktualizace.
Interval aktualizace definuje frekvenci opětovného načtení tajných kódů a certifikátů ze služby Key Vault bez ohledu na všechny změny jejich hodnot ve službě Key Vault nebo v konfiguraci aplikace. Pokud chcete znovu načíst tajné kódy a certifikáty, když se jejich hodnota změní v App Configuration, můžete je pomocí ConfigureRefresh
této metody monitorovat. 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ů ve službě Key Vault. Je také důležité zvážit omezení 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 tady 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 vytvořili prostředky pro tento článek 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 webu 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 zobrazili přehled.
- Vyberte Odstranit skupinu prostředků.
- Zobrazí se výzva k potvrzení odstranění skupiny prostředků. Potvrďte název skupiny prostředků 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 ze služby Key Vault. Pokud chcete zjistit, jak pomocí spravované identity zjednodušit přístup ke službě App Configuration a Key Vault, pokračujte dalším kurzem.