Compartilhar via


Habilitar chaves gerenciadas pelo cliente do HSM para serviços gerenciados

Observação

Esse recurso requer o plano Premium.

Este artigo descreve como configurar sua própria chave do HSM gerenciado do Azure Key Vault. Para obter instruções sobre como usar uma chave dos vaults do Azure Key Vault, consulte Habilitar chaves gerenciadas pelo cliente para serviços gerenciados.

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.

Importante

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

Para criar uma chave HSM, siga Criar uma chave HSM.

Etapa 2: configurar a atribuição de função HSM gerenciado

Configure uma atribuição de função para o HSM gerenciado do Key Vault 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 Azure 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, selecione All keys (/).
  6. No campo Entidade de segurança digite AzureDatabricks e role até o resultado do aplicativo empresarial que tem uma ID de aplicativo de 2ff814a6-3304-4ab8-85cb-cd0e6f879c1d e selecione-o.
  7. Clique em Criar.
  8. No menu esquerdo, em Configurações, selecione Teclas e selecione sua chave.
  9. No campo Identificador de chave copie o texto.

Usar a CLI do Azure

  1. Obtenha a ID do objeto do aplicativo AzureDatabricks com a CLI do Azure.

    az ad sp show --id "2ff814a6-3304-4ab8-85cb-cd0e6f879c1d" \
                    --query "id" \
                    --output tsv
    
  2. Configure a atribuição de função HSM gerenciado. Substitua <hsm-name> pelo nome do HSM gerenciado e substitua <object-id> pela ID do objeto do aplicativo AzureDatabricks da etapa anterior.

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

Usar o Azure Powershell

Substitua <hsm-name> pelo nome do HSM gerenciado.

Connect-AzureAD
$managedService = Get-AzureADServicePrincipal \
-Filter "appId eq '2ff814a6-3304-4ab8-85cb-cd0e6f879c1d'"

New-AzKeyVaultRoleAssignment -HsmName <hsm-name> \
-RoleDefinitionName "Managed HSM Crypto Service Encryption User" \
-ObjectId $managedService.ObjectId

Etapa 3: adicionar uma chave a um espaço de trabalho

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

Use o portal do Azure

  1. Acesse a página inicial do Portal do Azure.

  2. Clique em Criar um recurso no canto superior esquerdo da página.

  3. Na barra de pesquisa, digite Azure Databricks e clique na opção Azure Databricks.

  4. Clique em Criar no widget Azure Databricks.

  5. Insira valores dos campos de entrada nas guias Básico e Rede.

  6. Depois de alcançar a guia Criptografia:

    • Para criar um espaço de trabalho, habilite Usar sua própria chave na seção Serviços Gerenciados.
    • Para atualizar um espaço de trabalho, habilite os Serviços Gerenciados.
  7. Defina os campos de criptografia.

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

    • No campo Identificador da chave, cole o Identificador da chave da chave do HSM gerenciado.
    • No menu suspenso Assinatura, insira o nome da assinatura da sua chave do Azure Key Vault.
  8. 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).

Use a CLI do Azure

Criar ou atualizar um espaço de trabalho:

Para criação e atualização, adicione estes campos ao comando:

  • managed-services-key-name: Nome do HSM gerenciado
  • managed-services-key-vault: URI do HSM gerenciado
  • managed-services-key-version: Versão do HSM gerenciado. Use a versão específica da chave e não latest.

Exemplo de criação de um espaço de trabalho usando estes campos:

az databricks workspace create --name <workspace-name> \
--resource-group <resource-group-name> \
--location <location> \
--sku premium \
--managed-services-key-name <hsm-name> \
--managed-services-key-vault <hsm-uri> \
--managed-services-key-version <hsm-version>

Exemplo de atualização de um espaço de trabalho usando estes campos:

az databricks workspace update --name <workspace-name> \
--resource-group <resource-group-name> \
--managed-services-key-name <hsm-name> \
--managed-services-key-vault <hsm-uri> \
--managed-services-key-version <hsm-version>

Importante

Se você girar a chave, deverá manter a chave antiga disponível por 24 horas.

Usar o Powershell

Para criar ou atualizar um espaço de trabalho, adicione os seguintes parâmetros ao comando para sua nova chave:

  • ManagedServicesKeyVaultPropertiesKeyName: Nome do HSM gerenciado
  • ManagedServicesKeyVaultPropertiesKeyVaultUri: URI do HSM gerenciado
  • ManagedServicesKeyVaultPropertiesKeyVersion: Versão do HSM gerenciado. Use a versão específica da chave e não latest.

Exemplo de criação de espaço de trabalho com estes campos:

New-AzDatabricksWorkspace -Name <workspace-name> \
-ResourceGroupName <resource-group-name> \
-location $keyVault.Location \
-sku premium \
-ManagedServicesKeyVaultPropertiesKeyName $hsm.Name \
-ManagedServicesKeyVaultPropertiesKeyVaultUri $hsm.Uri \
-ManagedServicesKeyVaultPropertiesKeyVersion $hsm.Version

Exemplo de atualização de espaço de trabalho com estes campos:

Update-AzDatabricksWorkspace -Name <workspace-name> \
-ResourceGroupName <resource-group-name> \
-sku premium \
-ManagedServicesKeyVaultPropertiesKeyName $hsm.Name \
-ManagedServicesKeyVaultPropertiesKeyVaultUri $hsm.VaultUri \
-ManagedServicesKeyVaultPropertiesKeyVersion $hsm.Version

Importante

Se você girar a chave, deverá manter a chave antiga disponível por 24 horas.

Etapa 4 (opcional): importar notebooks novamente

Depois de adicionar uma chave de serviços gerenciados para um workspace existente, somente operações de gravação futuras usarão sua chave. Os dados existentes não são criptografados novamente.

É possível exportar todos os notebooks e importá-los novamente para que a chave que criptografa os dados seja protegida e controlada por sua chave. Você pode usar as APIs Exportar e Importar workspace.

Girar a chave posteriormente

Se você já estiver usando uma chave gerenciada pelo cliente para serviços gerenciados, poderá atualizar o workspace com uma nova versão de chave ou uma chave totalmente nova. Isso é chamado de rotação de chave.

  1. Crie uma nova chave ou gire sua chave existente no cofre HSM gerenciado.

    Verifique se a nova chave tem a permissões apropriadas.

  2. Atualize o espaço de trabalho com sua nova chave usando o portal, a CLI ou o PowerShell. Consulte Etapa 3: Adicionar uma chave a um espaço de trabalho e siga as instruções para atualização do espaço de trabalho. Certifique-se de usar os mesmos valores para o nome do grupo de recursos e o nome do espaço de trabalho para que ele atualize o espaço de trabalho existente, em vez de criar um novo espaço de trabalho. Além das alterações nos parâmetros relacionados à chave, use os mesmos parâmetros que foram usados para criar o workspace.

    Importante

    Se você girar a chave, deverá manter a chave antiga disponível por 24 horas.

  3. Opcionalmente, exporte e reimporte notebooks existentes para garantir que todos os notebooks existentes usem sua nova chave.