Configurar chaves gerenciadas pelo cliente do HSM para discos gerenciados do Azure
As cargas de trabalho de computação do Azure Databricks no plano de computação armazenam dados temporários em discos gerenciados do Azure. Por padrão, os dados armazenados em discos gerenciados são criptografados em repouso usando a criptografia do lado do servidor com chaves gerenciadas pela Microsoft. Este artigo descreve como você pode configurar uma chave gerenciada pelo cliente do HSM do Azure Key Vault para o espaço de trabalho do Azure Databricks a ser usado para a criptografia de disco gerenciada. Para obter instruções sobre como usar uma chave dos cofres do Azure Key Vault, consulte Configurar chaves gerenciadas pelo cliente para discos gerenciados do Azure.
Importante
- As chaves gerenciadas pelo cliente para armazenamento em disco gerenciado se aplicam a discos de dados, mas não se aplicam a discos do sistema operacional (SO).
- As chaves gerenciadas pelo cliente para armazenamento em disco gerenciado não se aplicam a recursos de computação sem servidor, como SQL Warehouses sem servidor e Serviço de Modelo. Os discos usados para recursos de computação sem servidor são de curta duração e estão vinculados ao ciclo de vida da carga de trabalho sem servidor. Quando os recursos de computação são interrompidos ou reduzidos verticalmente, as VMs e seu armazenamento são destruídos.
Requisitos
Seu workspace do Azure Databricks precisa estar no plano Premium.
Se você quiser ativar a rotação automática, somente as chaves RSA-HSM de tamanhos 2048 bits, 3072 bits e 4096 bits são compatíveis.
Não há suporte para esse recurso com workspaces em conformidade com FedRAMP. Entre em contato com sua equipe de conta do Azure Databricks para obter mais informações.
Para usar a CLI do Azure para essas tarefas, instale a ferramenta da CLI do Azure e instale a extensão do Databricks:
az extension add --name databricks
Para usar o PowerShell para essas tarefas, instale Azure PowerShell e instale o módulo do Databricks Powershell. Você também deve fazer logon:
Connect-AzAccount
Para iniciar sessão na sua conta do Azure como utilizador, consulte Iniciar sessão do PowerShell com uma conta de utilizador do Azure Databricks. Para iniciar sessão na sua conta do Azure como entidade de serviço, consulte Iniciar sessão do PowerShell com uma entidade de serviço do Microsoft Entra ID.
Etapa 1: criar um HSM gerenciado do Azure Key Vault e uma chave HSM
Você pode usar um HSM gerenciado do Azure Key Vault existente ou criar e ativar um novo seguindo os inícios rápidos na documentação do HSM gerenciado. Consulte Início rápido: provisionar e ativar um HSM gerenciado usando a CLI do Azure. O HSM gerenciado do Azure Key Vault deve ter a Proteção contra Limpeza habilitada.
Para criar uma chave HSM, siga Criar uma chave HSM.
Etapa 2: parar todos os recursos de computação
Encerre todos os recursos de computação (clusters, pools e SQL warehouses) em seu workspace.
Etapa 3: Criar ou atualizar um espaço de trabalho
Você pode criar ou atualizar um workspace com uma chave gerenciada pelo cliente para discos gerenciados, usando o portal do Azure, a CLI do Azure ou o Azure Powershell.
Use o portal do Azure
Esta seção descreve como usar o portal do Azure para criar ou atualizar um espaço de trabalho com chaves gerenciadas pelo cliente para discos gerenciados.
Comece a criar ou atualizar um workspace:
Crie um workspace com uma chave:
- Acesse a home page do Portal do Azure e clique em Criar um recurso no canto superior esquerdo da página.
- Na barra de pesquisa, digite
Azure Databricks
e clique em Azure Databricks. - Selecione Criar no widget do Azure Databricks.
- Insira valores nos campos de formulário nas guias Noções básicas e Rede.
- Na guia Criptografia, marque a caixa de seleção Usar sua própria chave na seção Managed Disks.
Inicialmente, adicione uma chave a um workspace existente:
- Vá para a página inicial do portal do Azure para o Azure Databricks
- Navegue até o workspace existente do Azure Databricks.
- Abra a guia Criptografia no painel esquerdo.
- Na seção Chaves gerenciadas pelo cliente, habilite Managed Disks.
Defina os campos de criptografia.
- No campo Identificador da chave, cole o Identificador da chave da chave do HSM gerenciado.
- No menu suspenso Assinatura, digite o nome da assinatura da chave do HSM gerenciado.
- Para habilitar a rotação automática da chave, habilite Habilitar Rotação Automática de Chave.
Complete as guias restantes e clique em Revisar + Criar (para o novo espaço de trabalho) ou Salvar (para atualizar um espaço de trabalho).
Depois que o workspace for implantado, navegue até o novo workspace do Azure Databricks.
Na guia Visão geral do workspace do Azure Databricks, clique em Grupo de Recursos Gerenciados.
Na guia Visão geral do grupo de recursos gerenciados, procure o objeto do tipo Conjunto de Criptografia de Disco que foi criado neste grupo de recursos. Copie o nome desse conjunto de criptografia de disco.
Use a CLI do Azure
Para espaços de trabalho novos e atualizados, adicione estes parâmetros ao seu comando:
disk-key-name
: Nome do HSM gerenciadodisk-key-vault
: URI do HSM gerenciadodisk-key-version
: Versão do HSM gerenciado. Use a versão específica da chave e nãolatest
.disk-key-auto-rotation
: habilitar a rotação automática da chave (true
oufalse
). Esse é um campo opcional. O padrão éfalse
.
Criar ou atualizar um espaço de trabalho:
Exemplo de criação de um espaço de trabalho usando estes parâmetros de disco gerenciado:
az databricks workspace create --name <workspace-name> \ --resource-group <resource-group-name> \ --location <location> \ --sku premium --disk-key-name <hsm-name> \ --disk-key-vault <hsm-uri> \ --disk-key-version <hsm-version> \ --disk-key-auto-rotation <true-or-false>
Exemplo de atualização de um espaço de trabalho usando estes parâmetros de disco gerenciado:
az databricks workspace update \ --name <workspace-name> \ --resource-group <resource-group-name> \ --disk-key-name <hsm-name> \ --disk-key-vault <hsm-uri> \ --disk-key-version <hsm-version> \ --disk-key-auto-rotation <true-or-false>
Na saída de qualquer um desses comandos, há um objeto
managedDiskIdentity
. Salve o valor da propriedadeprincipalId
dentro desse objeto. Isso é usado em uma etapa posterior como a ID da entidade de segurança.
Usar o Powershell
Para espaços de trabalho novos e atualizados, adicione estes parâmetros ao seu comando:
location
:Localização do espaço de trabalhoManagedDiskKeyVaultPropertiesKeyName
: Nome do HSM gerenciadoManagedDiskKeyVaultPropertiesKeyVaultUri
: URI do HSM gerenciadoManagedDiskKeyVaultPropertiesKeyVersion
: Versão do HSM gerenciado. Use a versão específica da chave e nãolatest
.ManagedDiskRotationToLatestKeyVersionEnabled
: habilitar a rotação automática da chave (true
oufalse
). Esse é um campo opcional. O padrão é false.
- Criar ou atualizar um espaço de trabalho:
Exemplo de criação de um espaço de trabalho usando parâmetros de disco gerenciado:
$workspace = New-AzDatabricksWorkspace -Name <workspace-name> \ -ResourceGroupName <resource-group-name> \ -location <location> \ -Sku premium \ -ManagedDiskKeyVaultPropertiesKeyName <key-name> \ -ManagedDiskKeyVaultPropertiesKeyVaultUri <hsm-uri> \ -ManagedDiskKeyVaultPropertiesKeyVersion <key-version> -ManagedDiskRotationToLatestKeyVersionEnabled
Exemplo de criação de um espaço de trabalho usando parâmetros de disco gerenciado:
$workspace = Update-AzDatabricksworkspace -Name <workspace-name> \ -ResourceGroupName <resource-group-name> \ -ManagedDiskKeyVaultPropertiesKeyName <key-name> \ -ManagedDiskKeyVaultPropertiesKeyVaultUri <hsm-uri> \ -ManagedDiskKeyVaultPropertiesKeyVersion <key-version> -ManagedDiskRotationToLatestKeyVersionEnabled
Etapa 4: configurar a atribuição de função do HSM gerenciado
Configure uma atribuição de função para o HSM gerenciado Key Vault para que seu workspace do Azure Databricks tenha permissão para acessá-lo. Você pode configurar uma atribuição de função usando o portal do Azure, a CLI do Azure ou o PowerShell.
Use o Portal do Azure
- Vá para o recurso HSM gerenciado no portal do Azure.
- No menu esquerdo, em Configurações, selecione RBAC local.
- Clique em Adicionar.
- No campo Função, selecione Usuário de Criptografia de Serviço de Criptografia HSM Gerenciado.
- No campo Escopo, escolha
All keys (/)
. - No campo Principal de segurança, digite o nome do Conjunto de criptografia de disco no grupo de recursos gerenciados do espaço de trabalho do Azure Databricks na barra de pesquisa. Selecione o resultado.
- Clique em Criar.
Usar a CLI do Azure
Configure a atribuição de função HSM gerenciada. Substitua <hsm-name>
pelo nome do seu HSM Gerenciado e substitua <principal-id>
pela ID principalId do managedDiskIdentity
da etapa anterior.
az keyvault role assignment create --role "Managed HSM Crypto Service Encryption User"
--scope "/" --hsm-name <hsm-name>
--assignee-object-id <principal-id>
Usar o Azure Powershell
Substitua <hsm-name>
pelo nome do HSM Gerenciado.
New-AzKeyVaultRoleAssignment -HsmName <hsm-name> \
-RoleDefinitionName "Managed HSM Crypto Service Encryption User" \
-ObjectId $workspace.ManagedDiskIdentityPrincipalId
Etapa 5: Iniciar recursos de computação anteriormente finalizados
- Verifique se a atualização do workspace está concluída. Se a chave foi a única alteração no modelo, isso normalmente é concluído em menos de cinco minutos, caso contrário, pode levar mais tempo.
- Inicie manualmente todos os recursos de computação que você terminou anteriormente.
Se algum recurso de computação não for iniciado com êxito, normalmente é porque você precisa conceder permissão ao conjunto de criptografia de disco para acessar o Key Vault.
Girar a chave posteriormente
Há dois tipos de rotações de chave em um workspace existente que já tem uma chave:
- Rotação automática: se
rotationToLatestKeyVersionEnabled
fortrue
para o workspace, o conjunto de criptografia de disco detectará a alteração da versão da chave e apontará para a versão mais recente da chave. - Rotação manual: você pode atualizar um workspace de chave gerenciada pelo cliente do disco gerenciado existente com uma nova chave. Siga as instruções acima como se você estivesse adicionando inicialmente uma chave ao espaço de trabalho existente.