Compartilhar via


Configurar chaves gerenciadas pelo cliente para o DBFS usando a CLI do Azure

Observação

Esse recurso está disponível somente com o plano Premium.

Você pode usar a CLI do Azure para configurar sua própria chave de criptografia para criptografar a conta de armazenamento do workspace. Este artigo descreve como configurar sua própria chave de cofres do Azure Key Vault. Para obter instruções sobre como usar uma chave do HSM Gerenciado do Azure Key Vault, confira Configurar chaves gerenciadas pelo cliente do HSM para DBFS usando a CLI do Azure.

Para obter mais informações sobre chaves gerenciadas pelo cliente para DBFS, confira Chaves gerenciadas pelo cliente da raiz do DBFS.

Instalar a extensão de CLI do Azure Databricks

  1. Instale a CLI do Azure.

  2. Instale a extensão de CLI do Azure Databricks.

    az extension add --name databricks
    

Preparar um workspace novo ou existente do Azure Databricks para criptografia

Substitua os valores de espaço reservado entre colchetes por valores próprios. O <workspace-name> é o nome do recurso conforme exibido no portal do Azure.

az login
az account set --subscription <subscription-id>

Prepare para a criptografia durante a criação do workspace:

az databricks workspace create --name <workspace-name> --location <workspace-location> --resource-group <resource-group> --sku premium --prepare-encryption

Prepare um workspace existente para criptografia:

az databricks workspace update --name <workspace-name> --resource-group <resource-group> --prepare-encryption

Observe o campo principalId na seção storageAccountIdentity da saída do comando. Você o fornecerá como o valor da identidade gerenciada ao configurar o cofre de chaves.

Para obter mais informações sobre comandos da CLI do Azure para workspaces do Azure Databricks, consulte a referência de comandos az databricks workspace.

Criar um Key Vault

O Key Vault que você usa para armazenar chaves gerenciadas pelo cliente para raiz DBFS deve ter duas configurações de proteção de chave habilitadas, Exclusão reversível e Proteção de limpeza. Para criar um cofre de chaves com essas configurações habilitadas, execute os comandos a seguir.

Importante

O Key Vault deve estar no mesmo locatário do Azure que o workspace do Azure Databricks.

Substitua os valores de espaço reservado entre colchetes por valores próprios.

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

Para obter mais informações sobre como habiltar a Exclusão Temporária e a Proteção Contra Limpeza usando a CLI do Azure, veja Como usar a exclusão temporária do Key Vault com a CLI.

Configurar a política de acesso do cofre de chaves

Defina a política de acesso para o cofre de chaves para que o workspace do Azure Databricks tenha permissão para acessá-lo, usando o comando az keyvault set-policy.

Substitua os valores de espaço reservado entre colchetes por valores próprios.

az keyvault set-policy \
        --name <key-vault> \
        --resource-group <resource-group> \
        --object-id <managed-identity>  \
        --key-permissions get unwrapKey wrapKey

Substitua <managed-identity> pelo valor principalId que você anotou quando preparou o workspace para criptografia.

Criar uma nova chave

Crie uma chave no cofre de chaves usando o comando az keyvault key create.

Substitua os valores de espaço reservado entre colchetes por valores próprios.

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

O armazenamento raiz do DBFS dá suporte às chaves RSA e RSA-HSM de tamanhos 2048, 3072 e 4096. Para obter mais informações sobre chaves, confira Sobre as chaves do Key Vault.

Configurar a criptografia do DBFS com chaves gerenciadas pelo cliente

Configure seu workspace do Azure Databricks para usar a chave que você criou no Azure Key Vault.

Substitua os valores de espaço reservado entre colchetes por valores próprios.

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 [-1].kid \
--output tsv | cut -d '/' -f 6)
az databricks workspace update --name <workspace-name> --resource-group <resource-group> --key-source Microsoft.KeyVault --key-name <key> --key-vault $key_vault_uri --key-version $key_version

Desabilitar as chaves gerenciadas pelo cliente

Quando você desabilita chaves gerenciadas pelo cliente, a conta de armazenamento é criptografada novamente com chaves gerenciadas pela Microsoft.

Substitua os valores de espaço reservado entre colchetes por valores próprios e use as variáveis definidas nas etapas anteriores.

az databricks workspace update --name <workspace-name> --resource-group <resource-group> --key-source Default