Share via


Configurar chaves gerenciadas pelo cliente do HSM para discos gerenciados do Azure

O Azure Databricks computa cargas de trabalho no plano de computação e armazena dados temporários em discos gerenciados do Azure. Por predefinição, os dados armazenados em discos geridos são encriptados em repouso utilizando a encriptação do lado do servidor com chaves geridas pela Microsoft. Este artigo descreve como configurar uma chave gerenciada pelo cliente do Azure Key Vault HSM para seu espaço de trabalho do Azure Databricks usar para criptografia de disco gerenciado. Para obter instruções sobre como usar uma chave dos cofres do Cofre de Chaves do Azure, consulte Configurar chaves gerenciadas pelo cliente para discos gerenciados do Azure.

Importante

  • As chaves gerenciadas pelo cliente para armazenamento em disco gerenciado aplicam-se a discos de dados, mas não se aplicam a discos de 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 armazéns SQL sem servidor e serviço de modelo. Os discos utilizados nos recursos de computação sem servidor são de curta duração e estão associados ao ciclo de vida da carga de trabalho sem servidor. Quando os recursos de computação são interrompidos ou reduzidos, as VMs e seu armazenamento são destruídos.

Requisitos

  • Seu espaço de trabalho do Azure Databricks deve estar no plano Premium.

  • Se pretender ativar a rotação automática, apenas são suportadas chaves RSA-HSM de tamanhos de 2048 bits, 3072 bits e 4096 bits.

  • Esta funcionalidade não é suportada para áreas de trabalho com conformidade 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 CLI do Azure e instale a extensão Databricks:

    az extension add --name databricks
    
  • Para usar o Powershell para essas tarefas, instale o Azure PowerShell e instale o módulo Databricks Powershell. Você também deve fazer login:

    Connect-AzAccount
    

    Para iniciar sessão na sua conta do Azure como utilizador, consulte Início de 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 Início de 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 após os inícios rápidos na documentação do HSM gerenciado. Consulte Guia de 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: Pare todos os recursos de computação se estiver atualizando um espaço de trabalho para adicionar inicialmente uma chave

Se você estiver adicionando uma chave gerenciada pelo cliente para discos gerenciados inicialmente em um espaço de trabalho existente, interrompa todos os seus recursos de computação (clusters, pools, armazéns SQL clássicos ou profissionais) antes da atualização.

Após a conclusão da atualização, você pode iniciar os recursos de computação que parou. Para um espaço de trabalho que já tenha uma chave gerenciada pelo cliente para discos gerenciados, você pode girar a chave sem encerrar os recursos de computação.

Etapa 3: Criar ou atualizar um espaço de trabalho

Você pode criar ou atualizar um espaço de trabalho com uma chave gerenciada pelo cliente para discos gerenciados, usando o portal do Azure, a CLI do Azure ou o Azure Powershell.

Usar 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 espaço de trabalho:

    Crie um novo espaço de trabalho com uma chave:

    1. Vá para a página inicial 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 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 Discos gerenciados.

    Inicialmente, adicione uma chave a um espaço de trabalho existente:

    1. Vá para a home page do portal do Azure para o Azure Databricks.
    2. Navegue até seu espaço de trabalho existente do Azure Databricks.
    3. Abra a guia Criptografia no painel esquerdo.
    4. Na seção Chaves gerenciadas pelo cliente, habilite Discos gerenciados.
  2. Defina os campos de criptografia.

    Mostrar campos na seção Managed Disks da folha Azure Databricks

    • No campo Identificador de chave, cole o identificador de chave da chave HSM gerenciada.
    • No menu suspenso Assinatura, insira o nome da assinatura da sua chave HSM gerenciada.
    • Para ativar a rotação automática da sua chave, ative Ativar Rotação Automática de Chave.
  3. Preencha as guias restantes e clique em Revisar + Criar (para novo espaço de trabalho) ou Salvar (para atualizar um espaço de trabalho).

  4. Após a implantação do espaço de trabalho, navegue até o novo espaço de trabalho do Azure Databricks.

  5. Na guia Visão geral do seu espaço de trabalho do Azure Databricks, clique em Grupo de Recursos Gerenciados.

  6. No separador Descrição Geral do grupo de recursos geridos, procure o objeto do tipo Conjunto de Encriptação de Discos que foi criado neste grupo de recursos. Copie o nome desse conjunto de criptografia de disco.

Usar a CLI do Azure

Para espaços de trabalho novos e atualizados, adicione estes parâmetros ao comando:

  • disk-key-name: Nome do HSM gerenciado
  • disk-key-vault: URI HSM gerenciado
  • disk-key-version: Versão gerenciada do HSM
  • disk-key-auto-rotation: Ative a rotação automática da chave (true ou false). Este é um campo opcional. A predefiniçã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 managedDiskIdentity objeto. Salve o principalId valor da propriedade dentro deste objeto. Isso é usado em uma etapa posterior como o ID principal.

Usar o Powershell

Para espaços de trabalho novos e atualizados, adicione estes parâmetros ao comando:

  • location: Localização do espaço de trabalho
  • ManagedDiskKeyVaultPropertiesKeyName: Nome do HSM gerenciado
  • ManagedDiskKeyVaultPropertiesKeyVaultUri: URI HSM gerenciado
  • ManagedDiskKeyVaultPropertiesKeyVersion: Versão gerenciada do HSM
  • ManagedDiskRotationToLatestKeyVersionEnabled: Ative a rotação automática da chave (true ou false). Este é 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 atualizaçã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 do Cofre de Chaves para que seu espaço de trabalho 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.

Utilizar o portal do Azure

  1. Vá para seu recurso HSM gerenciado no portal do Azure.
  2. No menu à esquerda, em Configurações, selecione RBAC Local.
  3. Clique em Adicionar.
  4. No campo Função, selecione Usuário de criptografia do serviço de criptografia HSM gerenciado.
  5. No campo Escopo, escolha All keys (/).
  6. No campo Principal de segurança, insira o nome do Conjunto de Criptografia de Disco dentro do grupo de recursos gerenciados do seu espaço de trabalho do Azure Databricks na barra de pesquisa. Selecione o resultado.
  7. Clique em Criar.

Utilizar a CLI do Azure

Configure a atribuição de função HSM gerenciado. Substitua <hsm-name> pelo nome do HSM gerenciado e substitua <principal-id> pelo ID principalId da managedDiskIdentity etapa anterior.

az keyvault role assignment create --role "Managed HSM Crypto Service Encryption User"
    --scope "/" --hsm-name <hsm-name>
    --assignee-object-id <principal-id>

Utilizar 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 encerrados anteriormente

Esta etapa é necessária somente se você atualizou um espaço de trabalho para adicionar uma chave pela primeira vez, caso em que você encerrou todos os recursos de computação em execução em uma etapa anterior. Se você criou um novo espaço de trabalho ou está apenas girando a chave, os recursos de computação não foram encerrados nas etapas anteriores, caso em que você pode ignorar esta etapa.

  1. Verifique se a atualização do espaço de trabalho 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ê encerrou anteriormente.

Se algum recurso de computação falhar ao iniciar com êxito, geralmente é porque você precisa conceder permissão ao conjunto de criptografia de disco para acessar seu Cofre de Chaves.

Rodar a chave mais tarde

Há dois tipos de rotações de chave em um espaço de trabalho existente que já tem uma chave:

  • Rotação automática: se rotationToLatestKeyVersionEnabled for true para o seu espaço de trabalho, o conjunto de encriptação de disco deteta a alteração da versão da chave e aponta para a versão da chave mais recente.
  • Rotação manual: você pode atualizar um espaço de trabalho de chave gerenciado pelo cliente existente com uma nova chave. Siga as instruções acima como se estivesse adicionando inicialmente uma chave ao espaço de trabalho existente, com a importante diferença de que você não precisa encerrar nenhum recurso de computação em execução.

Para ambos os tipos de rotação, o serviço de armazenamento de Máquina Virtual do Azure seleciona automaticamente a nova chave e a usa para criptografar a chave de criptografia de dados. Seus recursos de computação do Azure Databricks não são afetados. Para obter mais informações, consulte Chaves gerenciadas pelo cliente na documentação do Azure.

Não é necessário encerrar os recursos de computação antes de girar a chave.