Udostępnij za pośrednictwem


Ponowne ładowanie wpisów tajnych i certyfikatów z usługi Key Vault automatycznie

Usługa App Configuration i Key Vault to usługi uzupełniające używane obok siebie w wielu aplikacjach. Usługa App Configuration pomaga używać usług razem, tworząc klucze w magazynie usługi App Configuration, które odwołują się do wpisów tajnych lub certyfikatów przechowywanych w usłudze Key Vault. Ponieważ usługa Key Vault przechowuje parę kluczy publicznych i prywatnych certyfikatu jako wpisu tajnego, aplikacja może pobrać dowolny certyfikat jako wpis tajny z usługi Key Vault.

W ramach dobrej praktyki w zakresie zabezpieczeń wpisy tajne i certyfikaty powinny być okresowo obracane. Po obróceniu ich w usłudze Key Vault chcesz, aby aplikacja pobierała najnowsze wartości wpisów tajnych i certyfikatów. Istnieją dwa sposoby osiągnięcia tego celu bez ponownego uruchamiania aplikacji:

  • Zaktualizuj wartość klucza usługi Sentinel, aby wyzwolić odświeżanie całej konfiguracji, co spowoduje ponowne załadowanie wszystkich wpisów tajnych i certyfikatów usługi Key Vault. Aby uzyskać więcej informacji, zobacz, jak używać konfiguracji dynamicznej w aplikacji ASP.NET Core.
  • Okresowo ponownie załaduj niektóre lub wszystkie wpisy tajne i certyfikaty z usługi Key Vault.

W pierwszej opcji należy zaktualizować wartość klucza sentinel w usłudze App Configuration za każdym razem, gdy wymieniasz wpisy tajne i certyfikaty w usłudze Key Vault. Takie podejście działa dobrze, gdy chcesz wymusić natychmiastowe ponowne ładowanie wpisów tajnych i certyfikatów w aplikacji. Jeśli jednak wpisy tajne i certyfikaty są automatycznie obracane w usłudze Key Vault, aplikacja może napotkać błędy, jeśli nie zaktualizujesz wartości klucza usługi Sentinel w czasie. Druga opcja pozwala całkowicie zautomatyzować ten proces. Aplikację można skonfigurować do ponownego ładowania wpisów tajnych i certyfikatów z usługi Key Vault w dopuszczalnym opóźnieniu od czasu rotacji. Ten samouczek przeprowadzi Cię przez drugą opcję.

Wymagania wstępne

Dodawanie automatycznie obracającego się certyfikatu do usługi Key Vault

Postępuj zgodnie z instrukcjami z samouczka: Konfigurowanie automatycznego obracania certyfikatów w usłudze Key Vault w celu dodania automatycznie obracającego się certyfikatu o nazwie ExampleCertificate do usługi Key Vault utworzonej w poprzednim samouczku.

Dodawanie odwołania do certyfikatu usługi Key Vault w usłudze App Configuration

  1. W witrynie Azure Portal wybierz pozycję Wszystkie zasoby, a następnie wybierz wystąpienie sklepu App Configuration utworzone w poprzednim samouczku.

  2. Wybierz pozycję Eksplorator konfiguracji.

  3. Wybierz pozycję + Utwórz>odwołanie do magazynu kluczy, a następnie określ następujące wartości:

    • Klucz: wybierz pozycję TestApp:Settings:KeyVaultCertificate.
    • Etykieta: pozostaw tę wartość pustą.
    • Subskrypcja, grupa zasobów i magazyn kluczy: wprowadź wartości odpowiadające usłudze Key Vault utworzonej w poprzednim samouczku.
    • Wpis tajny: wybierz wpis tajny o nazwie ExampleCertificate utworzony w poprzedniej sekcji.
    • Wersja wpisu tajnego: najnowsza wersja.

Uwaga

Jeśli odwołujesz się do określonej wersji, ponowne załadowanie wpisu tajnego lub certyfikatu z usługi Key Vault zawsze zwróci tę samą wartość.

Aktualizowanie kodu w celu ponownego załadowania wpisów tajnych i certyfikatów usługi Key Vault

W pliku Program.cs zaktualizuj AddAzureAppConfiguration metodę , aby skonfigurować interwał odświeżania certyfikatu SetSecretRefreshInterval usługi Key Vault przy użyciu metody . Dzięki tej zmianie aplikacja ponownie załaduje parę kluczy publicznych-prywatnych dla parametru ExampleCertificate co 12 godzin.

config.AddAzureAppConfiguration(options =>
{
    options.Connect(settings["ConnectionStrings:AppConfig"])
            .ConfigureKeyVault(kv =>
            {
                kv.SetCredential(new DefaultAzureCredential());
                kv.SetSecretRefreshInterval("TestApp:Settings:KeyVaultCertificate", TimeSpan.FromHours(12));
            });
});

Pierwszym argumentem metody SetSecretRefreshInterval jest klucz odwołania usługi Key Vault w usłudze App Configuration. Ten argument jest opcjonalny. Jeśli parametr klucza zostanie pominięty, interwał odświeżania będzie stosowany do wszystkich tych wpisów tajnych i certyfikatów, które nie mają poszczególnych interwałów odświeżania.

Interwał odświeżania określa częstotliwość, z jaką wpisy tajne i certyfikaty zostaną ponownie załadowane z usługi Key Vault, niezależnie od zmian ich wartości w usłudze Key Vault lub usłudze App Configuration. Jeśli chcesz ponownie załadować wpisy tajne i certyfikaty, gdy ich wartość zmieni się w usłudze App Configuration, możesz je monitorować przy użyciu ConfigureRefresh metody . Aby uzyskać więcej informacji, zobacz, jak używać konfiguracji dynamicznej w aplikacji ASP.NET Core.

Wybierz interwał odświeżania zgodnie z dopuszczalnym opóźnieniem po zaktualizowaniu wpisów tajnych i certyfikatów w usłudze Key Vault. Ważne jest również, aby wziąć pod uwagę limity usługi Key Vault, aby uniknąć ograniczania przepustowości.

Czyszczenie zasobów

Jeśli nie chcesz nadal korzystać z zasobów utworzonych w tym artykule, usuń utworzoną tutaj grupę zasobów, aby uniknąć naliczania opłat.

Ważne

Usunięcie grupy zasobów jest nieodwracalne. Grupa zasobów i wszystkie zasoby w niej są trwale usuwane. Upewnij się, że nie usuniesz przypadkowo nieprawidłowej grupy zasobów ani zasobów. Jeśli zasoby dla tego artykułu zostały utworzone w grupie zasobów zawierającej inne zasoby, które chcesz zachować, usuń każdy zasób oddzielnie z odpowiedniego okienka zamiast usuwać grupę zasobów.

  1. Zaloguj się do witryny Azure Portal i wybierz pozycję Grupy zasobów.
  2. W polu Filtruj według nazwy wprowadź nazwę grupy zasobów.
  3. Na liście wyników wybierz nazwę grupy zasobów, aby wyświetlić przegląd.
  4. Wybierz pozycję Usuń grupę zasobów.
  5. Zobaczysz prośbę o potwierdzenie usunięcia grupy zasobów. Wprowadź nazwę grupy zasobów, aby potwierdzić, a następnie wybierz pozycję Usuń.

Po kilku chwilach grupa zasobów i wszystkie jej zasoby zostaną usunięte.

Następne kroki

W tym samouczku przedstawiono sposób konfigurowania aplikacji w celu automatycznego ponownego ładowania wpisów tajnych i certyfikatów z usługi Key Vault. Aby dowiedzieć się, jak używać tożsamości zarządzanej w celu usprawnienia dostępu do usługi App Configuration i Key Vault, przejdź do następnego samouczka.