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). Moduł HSM zarządzany przez usługę Azure Key Vault to zweryfikowany moduł HSM ze standardem FIPS 140–2 poziom 3.

W tym artykule pokazano, jak skonfigurować szyfrowanie za pomocą 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ługa Azure Key Vault i usługa 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. Użyjesz tej tożsamości zarządzanej, aby udzielić kontu magazynu uprawnień 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, aby ograniczyć zakres przypisania roli do poziomu pojedynczego klucza, aby przyznać najmniejsze możliwe uprawnienia tożsamości zarządzanej.

Aby utworzyć przypisanie roli dla konta magazynu, wywołaj polecenie 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 metodę az storage account update , aby zaktualizować ustawienia szyfrowania konta magazynu, jak pokazano w poniższym przykładzie. Uwzględnij element --encryption-key-source parameter 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, uwzględnij 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ęcznym zaktualizowaniu wersji klucza należy zaktualizować ustawienia szyfrowania konta magazynu, aby używać nowej wersji. Najpierw wykonaj zapytanie dotyczące identyfikatora URI magazynu kluczy przez wywołanie polecenia az keyvault show i dla wersji klucza przez wywołanie polecenia 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