Partilhar via


Configurar chaves geridas pelo cliente para DBFS através do PowerShell

Nota

Esta funcionalidade está disponível apenas no plano Premium.

Você pode usar o PowerShell para configurar sua própria chave de criptografia para criptografar a conta de armazenamento do espaço de trabalho. Este artigo descreve como configurar a sua própria chave a partir dos cofres do Azure Key Vault. Para obter instruções sobre como usar uma chave do HSM gerenciado do Azure Key Vault, consulte Configurar chaves gerenciadas pelo cliente do HSM para DBFS usando o PowerShell.

Para obter mais informações sobre chaves geridas pelo cliente para o DBFS, consulte Chaves geridas pelo cliente para a raiz do DBFS.

Instalar o módulo PowerShell do Azure Databricks

  1. Instalar o Azure PowerShell.
  2. Instale o módulo PowerShell do Azure Databricks.

Preparar um espaço de trabalho do Azure Databricks novo ou existente para criptografia

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

Prepare a criptografia ao criar um espaço de trabalho:

$workSpace = New-AzDatabricksWorkspace -Name <workspace-name> -Location <workspace-location> -ResourceGroupName <resource-group> -Sku premium -PrepareEncryption

Prepare um espaço de trabalho existente para criptografia:

$workSpace = Update-AzDatabricksWorkspace -Name <workspace-name> -ResourceGroupName <resource-group> -PrepareEncryption

Para obter mais informações sobre cmdlets do PowerShell para espaços de trabalho do Azure Databricks, consulte a referência Az.Databricks.

Criar um novo cofre de chaves

O Azure Key Vault que utiliza para armazenar chaves geridas pelo cliente para o DBFS padrão (root) deve ter duas configurações de proteção de chave ativadas, proteção contra eliminação e proteção contra purga.

Importante

O cofre de chaves deve estar no mesmo locatário do Azure que seu espaço de trabalho do Azure Databricks.

Na versão 2.0.0 e posteriores do Az.KeyVault módulo, a eliminação suave está ativada por defeito quando se cria um novo cofre de chaves.

O exemplo seguinte cria um novo cofre de chaves com as propriedades de proteção contra eliminação suave e purga ativadas. Substitua os valores de espaço reservado nos colchetes pelos seus próprios valores.

$keyVault = New-AzKeyVault -Name <key-vault> `
     -ResourceGroupName <resource-group> `
     -Location <location> `
     -EnablePurgeProtection

Para aprender como ativar a proteção contra eliminação suave e purga num cofre de chaves existente com PowerShell, consulte a gestão de recuperação do Azure Key Vault com proteção contra eliminação suave e purga.

Conceda à sua conta de armazenamento de espaço de trabalho acesso ao cofre de chaves

Conceda o papel de Utilizador de Criptografia do Key Vault Crypto Service à identidade da conta de armazenamento do espaço de trabalho no seu cofre de chaves.

New-AzKeyVaultRoleAssignment -RoleDefinitionName "Key Vault Crypto Service Encryption User" -ObjectId $workspace.StorageAccountIdentity.PrincipalId

Nota

Se o cofre de chaves estiver usando políticas de acesso em vez de RBAC, use o seguinte comando:

Set-AzKeyVaultAccessPolicy `
      -VaultName $keyVault.VaultName `
      -ObjectId $workspace.StorageAccountIdentity.PrincipalId `
      -PermissionsToKeys wrapkey,unwrapkey,get

Criar uma nova chave

Crie uma nova chave no cofre de chaves usando o cmdlet Add-AzKeyVaultKey . Substitua os valores de espaço reservado nos colchetes pelos seus próprios valores.

$key = Add-AzKeyVaultKey -VaultName $keyVault.VaultName -Name <key> -Destination 'Software'

O armazenamento raiz DBFS suporta chaves RSA e RSA-HSM dos tamanhos 2048, 3072 e 4096. Para obter mais informações sobre as chaves, veja Acerca das chaves do Key Vault).

Configurar a criptografia DBFS com chaves gerenciadas pelo cliente

Configure seu espaço de trabalho do Azure Databricks para usar a chave que você criou em seu Cofre de Chaves do Azure. Substitua os valores de espaço reservado nos colchetes pelos seus próprios valores.

Update-AzDatabricksWorkspace -ResourceGroupName <resource-group> `
      -Name <workspace-name>
     -EncryptionKeySource Microsoft.Keyvault `
     -EncryptionKeyName $key.Name `
     -EncryptionKeyVersion $key.Version `
     -EncryptionKeyVaultUri $keyVault.VaultUri

Desativar chaves gerenciadas pelo cliente

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

Substitua os valores de espaços reservados entre colchetes pelos seus próprios valores e use as variáveis definidas nas etapas anteriores.

Update-AzDatabricksWorkspace -Name <workspace-name> -ResourceGroupName <resource-group> -EncryptionKeySource Default