Compartilhar via


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

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.

  1. Comece a criar ou atualizar um workspace:

    Crie um workspace com uma chave:

    1. Acesse a home page do Portal do Azure e clique em Criar um recurso no canto superior esquerdo da página.
    2. Na barra de pesquisa, digite Azure Databricks e clique em Azure Databricks.
    3. Selecione Criar no widget do Azure Databricks.
    4. Insira valores nos campos de formulário nas guias Noções básicas e Rede.
    5. 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:

    1. Vá para a página inicial do portal do Azure para o Azure Databricks
    2. Navegue até o workspace existente do Azure Databricks.
    3. Abra a guia Criptografia no painel esquerdo.
    4. Na seção Chaves gerenciadas pelo cliente, habilite Managed Disks.
  2. 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.
  3. 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).

  4. Depois que o workspace for implantado, navegue até o novo workspace do Azure Databricks.

  5. Na guia Visão geral do workspace do Azure Databricks, clique em Grupo de Recursos Gerenciados.

  6. 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 gerenciado
  • disk-key-vault: URI do HSM gerenciado
  • disk-key-version: Versão do HSM gerenciado. Use a versão específica da chave e não latest.
  • disk-key-auto-rotation: habilitar a rotação automática da chave (true ou false). Esse é um campo opcional. O padrão é false.
  1. 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 propriedade principalId 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 trabalho
  • ManagedDiskKeyVaultPropertiesKeyName: Nome do HSM gerenciado
  • ManagedDiskKeyVaultPropertiesKeyVaultUri: URI do HSM gerenciado
  • ManagedDiskKeyVaultPropertiesKeyVersion: Versão do HSM gerenciado. Use a versão específica da chave e não latest.
  • ManagedDiskRotationToLatestKeyVersionEnabled: habilitar a rotação automática da chave (true ou false). Esse é um campo opcional. O padrão é false.
  1. 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

  1. Vá para o recurso HSM gerenciado no portal do Azure.
  2. No menu esquerdo, em Configurações, selecione RBAC local.
  3. Clique em Adicionar.
  4. No campo Função, selecione Usuário de Criptografia de Serviço de Criptografia HSM Gerenciado.
  5. No campo Escopo, escolha All keys (/).
  6. 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.
  7. 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

  1. 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.
  2. 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 for true 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.