Szyfrowanie danych usługi App Configuration przy użyciu kluczy zarządzanych przez klienta

aplikacja systemu Azure Configuration szyfruje poufne informacje magazynowane. Korzystanie z kluczy zarządzanych przez klienta zapewnia rozszerzoną ochronę danych, umożliwiając zarządzanie kluczami szyfrowania. Gdy jest używane szyfrowanie kluczy zarządzanych, wszystkie poufne informacje w usłudze App Configuration są szyfrowane przy użyciu klucza usługi Azure Key Vault dostarczonego przez użytkownika. Zapewnia to możliwość rotacji klucza szyfrowania na żądanie. Zapewnia również możliwość odwołania dostępu aplikacja systemu Azure Configuration do poufnych informacji przez odwołanie dostępu wystąpienia usługi App Configuration do klucza.

Omówienie

aplikacja systemu Azure Configuration szyfruje poufne informacje magazynowane przy użyciu 256-bitowego klucza szyfrowania AES dostarczonego przez firmę Microsoft. Każde wystąpienie usługi App Configuration ma własny klucz szyfrowania zarządzany przez usługę i służy do szyfrowania poufnych informacji. Informacje poufne obejmują wartości znalezione w parach klucz-wartość. Po włączeniu funkcji klucza zarządzanego przez klienta usługa App Configuration używa tożsamości zarządzanej przypisanej do wystąpienia usługi App Configuration do uwierzytelniania za pomocą identyfikatora Entra firmy Microsoft. Następnie tożsamość zarządzana wywołuje usługę Azure Key Vault i opakowuje klucz szyfrowania wystąpienia usługi App Configuration. Opakowany klucz szyfrowania jest następnie przechowywany, a niezapisany klucz szyfrowania jest buforowany w usłudze App Configuration przez jedną godzinę. Co godzinę usługa App Configuration odświeża niezapisaną wersję klucza szyfrowania wystąpienia usługi App Configuration. Ten proces zapewnia dostępność w normalnych warunkach operacyjnych.

Ważne

Jeśli tożsamość przypisana do wystąpienia usługi App Configuration nie jest już autoryzowana do odpakowywania klucza szyfrowania wystąpienia lub jeśli klucz zarządzany zostanie trwale usunięty, nie będzie już możliwe odszyfrowanie poufnych informacji przechowywanych w wystąpieniu usługi App Configuration. Korzystając z funkcji usuwania nietrwałego usługi Azure Key Vault, można ograniczyć prawdopodobieństwo przypadkowego usunięcia klucza szyfrowania.

Gdy użytkownicy włączają funkcję klucza zarządzanego przez klienta w wystąpieniu usługi aplikacja systemu Azure Configuration, kontrolują możliwość dostępu do poufnych informacji przez usługę. Klucz zarządzany służy jako główny klucz szyfrowania. Użytkownicy mogą odwołać dostęp wystąpienia usługi App Configuration do klucza zarządzanego, zmieniając zasady dostępu do magazynu kluczy. Po odwołaniu tego dostępu usługa App Configuration utraci możliwość odszyfrowywania danych użytkownika w ciągu jednej godziny. W tym momencie wystąpienie usługi App Configuration będzie zabraniać wszystkich prób dostępu. Taka sytuacja można odzyskać, udzielając ponownie dostępu do usługi do klucza zarządzanego. W ciągu jednej godziny usługa App Configuration będzie mogła odszyfrować dane użytkownika i działać w normalnych warunkach.

Uwaga

Wszystkie dane aplikacja systemu Azure Konfiguracji są przechowywane przez maksymalnie 24 godziny w izolowanej kopii zapasowej. Obejmuje to niezapisany klucz szyfrowania. Te dane nie są natychmiast dostępne dla zespołu usług ani usług. W przypadku przywracania awaryjnego aplikacja systemu Azure Konfiguracja odwoła się ponownie z danych klucza zarządzanego.

Wymagania

Następujące składniki są wymagane do pomyślnego włączenia funkcji klucza zarządzanego przez klienta dla aplikacja systemu Azure Configuration:

  • Wystąpienie konfiguracji w warstwie Standardowa aplikacja systemu Azure.
  • Usługa Azure Key Vault z włączonymi funkcjami usuwania nietrwałego i ochrony przed przeczyszczeniem.
  • Klucz RSA lub RSA-HSM w usłudze Key Vault.
    • Klucz nie może zostać wygasł, musi być włączony i musi mieć włączone możliwości zawijania i odpakowywanie.

Po skonfigurowaniu tych zasobów wykonaj następujące kroki, aby aplikacja systemu Azure Configuration mógł użyć klucza usługi Key Vault:

  1. Przypisz tożsamość zarządzaną do wystąpienia konfiguracji aplikacja systemu Azure.
  2. Udziel tożsamości GET, WRAPi UNWRAP uprawnień w docelowych zasadach dostępu usługi Key Vault.

Włączanie szyfrowania kluczy zarządzanych przez klienta dla magazynu App Configuration

  1. Utwórz magazyn usługi App Configuration w warstwie Standardowa, jeśli go nie masz.

  2. Za pomocą interfejsu wiersza polecenia platformy Azure utwórz usługę Azure Key Vault z włączoną ochroną przeczyszczania. Usuwanie nietrwałe jest domyślnie włączone. Zarówno vault-name , jak i resource-group-name są udostępniane przez użytkownika i muszą być unikatowe. Używamy elementów contoso-vault i contoso-resource-group w tych przykładach.

    az keyvault create --name contoso-vault --resource-group contoso-resource-group --enable-purge-protection
    
  3. Utwórz klucz usługi Key Vault. Podaj unikatowy key-name dla tego klucza i zastąp nazwę usługi Key Vault (contoso-vault) utworzoną w kroku 2. Określ, czy wolisz RSA , czy RSA-HSM szyfrowanie (RSA-HSM jest dostępne tylko w warstwie Premium).

    az keyvault key create --name key-name --kty {RSA or RSA-HSM} --vault-name contoso-vault
    

    Dane wyjściowe tego polecenia zawierają identyfikator klucza (kid) wygenerowanego klucza. Zanotuj identyfikator klucza do użycia w dalszej części tego ćwiczenia. Identyfikator klucza ma postać: https://{my key vault}.vault.azure.net/keys/{key-name}/{key-version}. Identyfikator klucza ma trzy ważne składniki:

    1. Identyfikator URI usługi Key Vault: https://{my key vault}.vault.azure.net
    2. Nazwa klucza usługi Key Vault: {key-name}
    3. Wersja klucza usługi Key Vault: {key-version}
  4. Utwórz tożsamość zarządzaną przypisaną przez system przy użyciu interfejsu wiersza polecenia platformy Azure, zastępując nazwę wystąpienia usługi App Configuration i grupę zasobów używaną w poprzednich krokach. Tożsamość zarządzana będzie używana do uzyskiwania dostępu do klucza zarządzanego. Użyjemy contoso-app-config polecenia , aby zilustrować nazwę wystąpienia usługi App Configuration:

    az appconfig identity assign --name contoso-app-config --resource-group contoso-resource-group --identities [system]
    

    Dane wyjściowe tego polecenia obejmują identyfikator podmiotu zabezpieczeń ("principalId") i identyfikator dzierżawy ("tenandId") tożsamości przypisanej przez system. Te identyfikatory będą używane do udzielania tożsamości dostępu do klucza zarządzanego.

    {
        "principalId": {Principal Id},
        "tenantId": {Tenant Id},
        "type": "SystemAssigned",
        "userAssignedIdentities": null
    }
    
  5. Tożsamość zarządzana wystąpienia usługi aplikacja systemu Azure Configuration wymaga dostępu do klucza w celu przeprowadzenia weryfikacji klucza, szyfrowania i odszyfrowywania. Określony zestaw akcji, do których potrzebuje dostępu, obejmuje: GET, WRAPi UNWRAP dla kluczy. Udzielanie dostępu wymaga identyfikatora podmiotu zabezpieczeń tożsamości zarządzanej wystąpienia usługi App Configuration. Zastąp wartość pokazaną poniżej contoso-principalId identyfikatorem podmiotu zabezpieczeń uzyskanym w poprzednim kroku. Udziel uprawnień do klucza zarządzanego przy użyciu wiersza polecenia:

    az keyvault set-policy -n contoso-vault --object-id contoso-principalId --key-permissions get wrapKey unwrapKey
    
  6. Teraz, gdy wystąpienie aplikacja systemu Azure Configuration może uzyskać dostęp do klucza zarządzanego, możemy włączyć funkcję klucza zarządzanego przez klienta w usłudze przy użyciu interfejsu wiersza polecenia platformy Azure. Przypomnij sobie następujące właściwości zarejestrowane podczas kroków tworzenia klucza: key namekey vault URI.

    az appconfig update -g contoso-resource-group -n contoso-app-config --encryption-key-name key-name --encryption-key-version key-version --encryption-key-vault key-vault-Uri
    

Wystąpienie aplikacja systemu Azure Configuration jest teraz skonfigurowane do używania klucza zarządzanego przez klienta przechowywanego w usłudze Azure Key Vault.

Następne kroki

W tym artykule skonfigurowano wystąpienie aplikacja systemu Azure Configuration do używania klucza zarządzanego przez klienta na potrzeby szyfrowania. Aby dowiedzieć się więcej na temat sposobu integrowania usługi App Service z tożsamościami zarządzanymi platformy Azure, przejdź do następnego kroku.