Sdílet prostřednictvím


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

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

  1. 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.

  2. Vyberte Průzkumník konfigurace.

  3. 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ů.

  1. Přihlaste se k Azure Portal a vyberte Skupiny prostředků.
  2. Do pole Filtrovat podle názvu zadejte název vaší skupiny prostředků.
  3. V seznamu výsledků vyberte název skupiny prostředků, abyste viděli přehled.
  4. Vyberte Odstranit skupinu prostředků.
  5. 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.