Konfigurace klíčů spravovaných zákazníkem pro Azure Storage šifrování z Azure CLIConfigure customer-managed keys for Azure Storage encryption from Azure CLI

Azure Storage podporuje šifrování v klidovém stavu pomocí klíčů spravovaných microsoftem nebo klíče spravované zákazníkem.Azure Storage supports encryption at rest with either Microsoft-managed keys or customer-managed keys. Klíče spravované zákazníkem umožňují vytvořit, otáčení, zakázat a odvolat přístup k ovládacím prvkům.Customer-managed keys enable you to create, rotate, disable, and revoke access controls.

Spravovat klíče a auditovat využití klíčů pomocí Azure Key Vault.Use Azure Key Vault to manage your keys and audit your key usage. Můžete vytvořit vlastní klíče a uložit je do trezoru klíčů, nebo rozhraní API služby Azure Key Vault můžete použít ke generování klíčů.You can either create your own keys and store them in a key vault, or you can use the Azure Key Vault APIs to generate keys. Účet úložiště a trezoru klíčů musí být ve stejné oblasti, ale mohou být v různých předplatných.The storage account and the key vault must be in the same region, but they can be in different subscriptions. Další informace o službě Azure Key Vault najdete v tématu co je Azure Key Vault?For more information about Azure Key Vault, see What is Azure Key Vault?

V tomto článku se dozvíte, jak nakonfigurovat Trezor klíčů pomocí klíčů spravovaných zákazníkem pomocí Azure CLI.This article shows how to configure a key vault with customer-managed keys using Azure CLI.

Důležité

Použití klíčů spravovaných zákazníkem se šifrováním Azure Storage vyžaduje, aby Trezor klíčů měl nakonfigurované dvě požadované vlastnosti, obnovitelné odstranění a Nemazat.Using customer-managed keys with Azure Storage encryption requires that the key vault have two required properties configured, Soft Delete and Do Not Purge. Tyto vlastnosti jsou ve výchozím nastavení povolené, když v Azure Portal vytvoříte nový trezor klíčů.These properties are enabled by default when you create a new key vault in the Azure portal. Pokud ale potřebujete tyto vlastnosti v existujícím trezoru klíčů povolit, musíte použít buď PowerShell, nebo rozhraní příkazového řádku Azure CLI.However, if you need to enable these properties on an existing key vault, you must use either PowerShell or Azure CLI. Podporují se jenom klíče RSA a velikost klíče 2048.Only RSA keys and key size 2048 are supported.

Přiřazení identity k účtu úložištěAssign an identity to the storage account

Pokud chcete pro svůj účet úložiště povolit klíče spravované zákazníkem, nejdřív přiřaďte k účtu úložiště spravovanou identitu přiřazenou systémem.To enable customer-managed keys for your storage account, first assign a system-assigned managed identity to the storage account. Pomocí této spravované identity udělíte účtu úložiště oprávnění k přístupu k trezoru klíčů.You'll use this managed identity to grant the storage account permissions to access the key vault.

K přiřazení spravované identity pomocí Azure CLI volejte volání AZ Storage Account Update.To assign a managed identity using Azure CLI, call az storage account update. Nezapomeňte nahradit hodnoty zástupných symbolů v závorkách vlastními hodnotami.Remember to replace the placeholder values in brackets with your own values.

az account set --subscription <subscription-id>

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

Další informace o konfiguraci spravovaných identit přiřazených systémem pomocí Azure CLI najdete v tématu Konfigurace spravovaných identit pro prostředky Azure na virtuálním počítači Azure pomocí Azure CLI.For more information about configuring system-assigned managed identities with Azure CLI, see Configure managed identities for Azure resources on an Azure VM using Azure CLI.

Vytvořit nový trezor klíčůCreate a new key vault

Trezor klíčů, který použijete k uložení klíčů spravovaných zákazníkem pro Azure Storage šifrování, musí mít povolené dvě nastavení ochrany klíčů, obnovitelné odstranění a nemazatelné.The key vault that you use to store customer-managed keys for Azure Storage encryption must have two key protection settings enabled, Soft Delete and Do Not Purge. Pokud chcete vytvořit nový trezor klíčů pomocí PowerShellu nebo Azure CLI s povoleným nastavením, spusťte následující příkazy.To create a new key vault using PowerShell or Azure CLI with these settings enabled, execute the following commands. Nezapomeňte nahradit hodnoty zástupných symbolů v závorkách vlastními hodnotami.Remember to replace the placeholder values in brackets with your own values.

Chcete-li vytvořit nový trezor klíčů pomocí rozhraní příkazového řádku Azure, zavolejte volání AZ datatrezor Create.To create a new key vault using Azure CLI, call az keyvault create. Nezapomeňte nahradit hodnoty zástupných symbolů v závorkách vlastními hodnotami.Remember to replace the placeholder values in brackets with your own values.

az keyvault create \
    --name <key-vault> \
    --resource-group <resource_group> \
    --location <region> \
    --enable-soft-delete \
    --enable-purge-protection

Konfigurace zásad přístupu trezoru klíčůConfigure the key vault access policy

Dále nakonfigurujte zásady přístupu pro Trezor klíčů, aby měl účet úložiště oprávnění k přístupu.Next, configure the access policy for the key vault so that the storage account has permissions to access it. V tomto kroku použijete spravovanou identitu, kterou jste dříve přiřadili k účtu úložiště.In this step, you'll use the managed identity that you previously assigned to the storage account.

Pokud chcete nastavit zásady přístupu pro Trezor klíčů, volejte volání AZ webtrezor set-Policy.To set the access policy for the key vault, call az keyvault set-policy. Nezapomeňte nahradit hodnoty zástupných symbolů v závorkách vlastními hodnotami.Remember to replace the placeholder values in brackets with your own values.

storage_account_principal=$(az storage account show \
    --name <storage-account> \
    --resource-group <resource-group> \
    --query identity.principalId \
    --output tsv)
az keyvault set-policy \
    --name <key-vault> \
    --resource-group <resource_group>
    --object-id $storage_account_principal \
    --key-permissions get recover unwrapKey wrapKey

Vytvořit nový klíčCreate a new key

V dalším kroku vytvořte klíč v trezoru klíčů.Next, create a key in the key vault. Chcete-li vytvořit klíč, zavolejte volání AZ klíčů trezor Key Create.To create a key, call az keyvault key create. Nezapomeňte nahradit hodnoty zástupných symbolů v závorkách vlastními hodnotami.Remember to replace the placeholder values in brackets with your own values.

az keyvault key create
    --name <key> \
    --vault-name <key-vault>

Konfigurace šifrování pomocí klíčů spravovaných zákazníkemConfigure encryption with customer-managed keys

Ve výchozím nastavení používá Azure Storage šifrování klíče spravované společností Microsoft.By default, Azure Storage encryption uses Microsoft-managed keys. Nakonfigurujte účet Azure Storage pro klíče spravované zákazníkem a zadejte klíč, který chcete přidružit k účtu úložiště.Configure your Azure Storage account for customer-managed keys and specify the key to associate with the storage account.

Pokud chcete aktualizovat nastavení šifrování účtu úložiště, zavolejte AZ Storage Account Update.To update the storage account's encryption settings, call az storage account update. Tento příklad také dotazuje se na identifikátor URI a verzi klíče trezoru klíčů, které hodnoty jsou potřeba k přidružení klíče k účtu úložiště.This example also queries for the key vault URI and key version, both of which values are needed to associate the key with the storage account. Nezapomeňte nahradit hodnoty zástupných symbolů v závorkách vlastními hodnotami.Remember to replace the placeholder values in brackets with your own values.

key_vault_uri=$(az keyvault show \
    --name <key-vault> \
    --resource-group <resource_group> \
    --query properties.vaultUri \
    --output tsv)
key_version=$(az keyvault key list-versions \
    --name <key> \
    --vault-name <key-vault> \
    --query [].kid \
    --output tsv | cut -d '/' -f 6)
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 $key_vault_uri

Aktualizace verze klíčeUpdate the key version

Když vytváříte novou verzi klíče, budete muset aktualizovat účet úložiště, aby používal novou verzi.When you create a new version of a key, you'll need to update the storage account to use the new version. Nejdřív dotaz na identifikátor URI trezoru klíčů zavoláním AZ klíčů showa pro verzi klíče zavoláním AZ Key trezor Key list-versionss.First, query for the key vault URI by calling az keyvault show, and for the key version by calling az keyvault key list-versions. Pak zavolejte AZ Storage Account Update a aktualizujte nastavení šifrování účtu úložiště tak, aby používala novou verzi klíče, jak je znázorněno v předchozí části.Then call az storage account update to update the storage account's encryption settings to use the new version of the key, as shown in the previous section.

Další postupNext steps