Konfigurowanie szyfrowania przy użyciu kluczy zarządzanych przez klienta przechowywanych w zarządzanym module HSM platformy Azure Key Vault

Usługa Azure Storage szyfruje wszystkie dane na koncie magazynu magazynowanych. Domyślnie dane są szyfrowane przy użyciu kluczy zarządzanych przez firmę Microsoft. Aby uzyskać dodatkową kontrolę nad kluczami szyfrowania, możesz zarządzać własnymi kluczami. Klucze zarządzane przez klienta muszą być przechowywane w usłudze Azure Key Vault lub Key Vault zarządzanym modelu zabezpieczeń sprzętu (HSM). Zarządzany moduł HSM platformy Azure Key Vault to zweryfikowany moduł HSM fiPS 140-2 na poziomie 3.

W tym artykule pokazano, jak skonfigurować szyfrowanie przy użyciu kluczy zarządzanych przez klienta przechowywanych w zarządzanym module HSM przy użyciu interfejsu wiersza polecenia platformy Azure. Aby dowiedzieć się, jak skonfigurować szyfrowanie przy użyciu kluczy zarządzanych przez klienta przechowywanych w magazynie kluczy, zobacz Konfigurowanie szyfrowania przy użyciu kluczy zarządzanych przez klienta przechowywanych w usłudze Azure Key Vault.

Uwaga

Usługi Azure Key Vault i Azure Key Vault Managed HSM obsługują te same interfejsy API i interfejsy zarządzania na potrzeby konfiguracji.

Przypisywanie tożsamości do konta magazynu

Najpierw przypisz tożsamość zarządzaną przypisaną przez system do konta magazynu. Ta tożsamość zarządzana będzie używana do udzielania uprawnień konta magazynu w celu uzyskania dostępu do zarządzanego modułu HSM. Aby uzyskać więcej informacji na temat tożsamości zarządzanych przypisanych przez system, zobacz Co to są tożsamości zarządzane dla zasobów platformy Azure?.

Aby przypisać tożsamość zarządzaną przy użyciu interfejsu wiersza polecenia platformy Azure, wywołaj polecenie az storage account update. Pamiętaj, aby zastąpić wartości symboli zastępczych w nawiasach własnymi wartościami:

az storage account update \
    --name <storage-account> \
    --resource-group <resource_group> \
    --assign-identity

Przypisywanie roli do konta magazynu w celu uzyskania dostępu do zarządzanego modułu HSM

Następnie przypisz rolę użytkownika zarządzanego szyfrowania usługi kryptograficznej HSM do tożsamości zarządzanej konta magazynu, aby konto magazynu ma uprawnienia do zarządzanego modułu HSM. Firma Microsoft zaleca określanie zakresu przypisania roli na poziom pojedynczego klucza w celu udzielenia najmniejszych możliwych uprawnień do tożsamości zarządzanej.

Aby utworzyć przypisanie roli dla konta magazynu, wywołaj metodę az key vault role assignment create. Pamiętaj, aby zastąpić wartości symboli zastępczych w nawiasach własnymi wartościami.

storage_account_principal = $(az storage account show \
    --name <storage-account> \
    --resource-group <resource-group> \
    --query identity.principalId \
    --output tsv)

az keyvault role assignment create \
    --hsm-name <hsm-name> \
    --role "Managed HSM Crypto Service Encryption User" \
    --assignee $storage_account_principal \
    --scope /keys/<key-name>

Konfigurowanie szyfrowania przy użyciu klucza w zarządzanym module HSM

Na koniec skonfiguruj szyfrowanie usługi Azure Storage przy użyciu kluczy zarządzanych przez klienta, aby używać klucza przechowywanego w zarządzanym module HSM. Obsługiwane typy kluczy obejmują klucze RSA-HSM o rozmiarach 2048, 3072 i 4096. Aby dowiedzieć się, jak utworzyć klucz w zarządzanym module HSM, zobacz Tworzenie klucza HSM.

Zainstaluj interfejs wiersza polecenia platformy Azure w wersji 2.12.0 lub nowszej, aby skonfigurować szyfrowanie do używania klucza zarządzanego przez klienta w zarządzanym module HSM. Aby uzyskać więcej informacji, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.

Aby automatycznie zaktualizować wersję klucza dla klucza zarządzanego przez klienta, pomiń wersję klucza podczas konfigurowania szyfrowania przy użyciu kluczy zarządzanych przez klienta dla konta magazynu. Aby uzyskać więcej informacji na temat konfigurowania szyfrowania na potrzeby automatycznej rotacji kluczy, zobacz Aktualizowanie wersji klucza.

Następnie wywołaj polecenie az storage account update , aby zaktualizować ustawienia szyfrowania konta magazynu, jak pokazano w poniższym przykładzie. --encryption-key-source parameter Dołącz element i ustaw go w celu Microsoft.Keyvault włączenia kluczy zarządzanych przez klienta dla konta. Pamiętaj, aby zastąpić wartości symboli zastępczych w nawiasach własnymi wartościami.

hsmurl = $(az keyvault show \
    --hsm-name <hsm-name> \
    --query properties.hsmUri \
    --output tsv)

az storage account update \
    --name <storage-account> \
    --resource-group <resource_group> \
    --encryption-key-name <key> \
    --encryption-key-source Microsoft.Keyvault \
    --encryption-key-vault $hsmurl

Aby ręcznie zaktualizować wersję klucza zarządzanego przez klienta, dołącz wersję klucza podczas konfigurowania szyfrowania dla konta magazynu:

az storage account update
    --name <storage-account> \
    --resource-group <resource_group> \
    --encryption-key-name <key> \
    --encryption-key-version $key_version \
    --encryption-key-source Microsoft.Keyvault \
    --encryption-key-vault $hsmurl

Po ręcznej aktualizacji wersji klucza należy zaktualizować ustawienia szyfrowania konta magazynu, aby używać nowej wersji. Najpierw wykonaj zapytanie o identyfikator URI magazynu kluczy, wywołując polecenie az keyvault show i dla wersji klucza, wywołując polecenie az keyvault key list-versions. Następnie wywołaj polecenie az storage account update , aby zaktualizować ustawienia szyfrowania konta magazynu, aby użyć nowej wersji klucza, jak pokazano w poprzednim przykładzie.

Następne kroki