Share via


Configurar chaves gerenciadas pelo cliente 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 de cofres 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 do HSM 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: Crie um Key Vault

Você pode criar um Key Vault de várias maneiras, incluindo portal do Azure, CLI do Azure, Powershell e, opcionalmente, usando modelos do ARM. As seções a seguir fornecem procedimentos para usar a CLI do Azure e o PowerShell. Para outras abordagens, consulte a documentação da Microsoft.

Usar a CLI do Azure

  1. Criar um cofre de chaves:

    az keyvault create --name <keyVaultName> --resource-group <resourceGroupName> --location <location> --sku <sku> --enable-purge-protection
    
  2. Obtenha o URI do cofre:

    az keyvault show --name <key-vault-name>
    

    Copie o valor vaultUri da resposta.

Usar o Powershell

Criar um novo cofre:

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

Usar um Key Vault existente:

$keyVault = Get-AzKeyVault -VaultName <key-vault-name>

Etapa 2: preparar uma chave

Você pode criar uma chave ou recuperar uma chave existente armazenada no Azure Key Vault usando portal do Azure, CLI do Azure, Powershell e, opcionalmente, usando modelos do ARM. Esta seção fornece procedimentos para a CLI do Azure e o PowerShell. Para outras maneiras, consulte a documentação de chaves do Azure.

Usar a CLI do Azure

Você pode criar uma chave ou recuperar uma chave existente.

Criar uma chave:

  1. Execute o comando a seguir:

    az keyvault key create \
    --name <key-name> \
    --vault-name <key-vault-name> \
    --protection software
    
  2. Anote os seguintes valores na saída:

    • Nome do cofre de chaves: O nome do seu Key Vault
    • Nome da chave: o nome da sua chave
    • Versão da chave: a versão da sua chave
    • Grupo de recursos do cofre de chaves: O grupo de recursos do seu Key Vault
  3. Obter informações importantes:

    az keyvault key show --vault-name <keyVaultName> --name <keyName>
    

    Copie o valor do campokid, que é sua ID de chave.

    A ID da chave completa geralmente tem o formulário https://<key-vault-name>.vault.azure.net/keys/<key-name>/<key-version>. As chaves de Key Vault do Azure que estão em uma nuvem não pública têm um formulário diferente.

Recupere uma chave existente:

  1. Execute o comando a seguir:

    az keyvault key show --name <key-name> --vault-name <key-vault-name>
    
  2. Anote os seguintes detalhes para sua chave existente:

    • Nome do cofre de chaves: O nome do seu Key Vault.
    • Nome da chave: o nome da sua chave.
    • Versão da chave: a versão da sua chave.
    • Grupo de recursos do cofre de chaves: O grupo de recursos do seu Key Vault.
  3. Obter informações importantes:

    az keyvault key show --vault-name <keyVaultName> --name <keyName>
    

    Copie o valor do campokid, que é sua ID de chave.

    A ID da chave completa geralmente tem o formulário https://<key-vault-name>.vault.azure.net/keys/<key-name>/<key-version>. As chaves de Key Vault do Azure que estão em uma nuvem não pública têm um formulário diferente.

  4. Confirme se a chave existente está habilitada antes de continuar executando az keyvault key show --name <key name> novamente. A saída exibe "enabled": true.

Usar o Powershell

  1. Se você planeja criar uma chave, talvez seja necessário definir a política de acesso, dependendo de como e quando a criou. Por exemplo, se você criou recentemente o Key Vault usando o PowerShell, seu novo Key Vault poderá não ter a política de acesso necessária para criar uma chave. O exemplo a seguir usa o parâmetro EmailAddress para definir a política. Para obter detalhes relacionados, consulte o artigo da Microsoft sobre Set-AzKeyVaultAccessPolicy.

    Defina a política de acesso em um novo Key Vault:

    Set-AzKeyVaultAccessPolicy \
    -VaultName $keyVault.VaultName \
    -PermissionsToKeys all \
    -EmailAddress <email-address>
    
  2. Você pode criar uma chave ou recuperar uma chave existente:

    • Criar uma chave:

      $key = Add-AzKeyVaultKey \
      -VaultName $keyVault.VaultName \
      -Name <key-name> \
      -Destination 'Software'
      
    • Recupere uma chave existente:

      $key = Get-AzKeyVaultKey \
      -VaultName $keyVault.VaultName \
      -Name <key-name>
      

Etapa 3: Interromper todos os recursos de computação se você 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, SQL warehouses clássicos ou profissionais) antes da atualização.

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

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

Para criar ou atualizar um workspace com uma chave gerenciada pelo cliente para discos gerenciados, escolha uma das seguintes estratégias de implantação:

Usar a portal do Azure (sem modelo)

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 sem usar um modelo.

  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. Encerre todos os recursos de computação (clusters, pools).
    2. Vá para a página inicial do portal do Azure para o Azure Databricks
    3. Navegue até o workspace existente do Azure Databricks.
    4. Abra a guia Criptografia no painel esquerdo.
    5. Na seção Chaves gerenciadas pelo cliente, habilite Managed Disks.
  2. Defina os campos de criptografia.

    Show fields in the Managed Disks section of the Azure Databricks blade

    • No campo Identificador de Chave, cole o Identificador de Chave da sua chave do Azure Key Vault.
    • No menu suspenso Assinatura, insira o nome da assinatura da sua chave do Azure Key Vault.
    • 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 do Conjunto de Criptografia de Disco.

  7. Em portal do Azure, vá para o Key Vault do Azure que foi usado para configurar a chave que você está usando para esse recurso.

  8. Abra a guia Políticas de acesso no painel esquerdo. Depois que a guia estiver aberta, clique em Criar na parte superior da página.

  9. Na guia Permissões, na seção Permissões de chave, habilite Obter, Desencapsular chave e Encapsular chave.

  10. Clique em Próximo.

  11. Na guia Entidade de segurança, insira o nome do Conjunto de Criptografia de Disco no grupo de recursos gerenciados do workspace do Azure Databricks na barra de pesquisa. Selecione o resultado e clique em Avançar.

    Enter the name of disk encryption set and select the result

  12. Clique na guia Examinar + criar e clique em Criar.

Usar a CLI do Azure (sem modelo)

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

  • disk-key-name: Nome da chave
  • disk-key-vault: Nome do cofre
  • disk-key-version: Versão da chave
  • disk-key-auto-rotation: habilitar a rotação automática da chave (true ou false). Esse é um campo opcional. O padrão é false.

Nos comandos a seguir, use o valor de URI do cofre da resposta na etapa anterior no lugar de <key-vault-uri>. Além disso, o nome da chave e os valores de versão da chave podem ser encontrados dentro do kid valor na resposta da etapa anterior.

  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 <key-name> \
      --disk-key-vault <key-vault-uri> \
      --disk-key-version <key-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 <key-name> \
      --disk-key-vault <key-vault-uri> \
      --disk-key-version <key-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.

  2. Adicione uma política de acesso com permissão de chave ao Key Vault. Use o nome do cofre e a ID da entidade de segurança das etapas anteriores:

    az keyvault set-policy \
    --name <key-vault-name> \
    --object-id <principal-id> \
    --key-permissions get wrapKey unwrapKey
    

Usar o PowerShell (sem modelo)

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 da chave
  • ManagedDiskKeyVaultPropertiesKeyVaultUri: Key Vault URI
  • ManagedDiskKeyVaultPropertiesKeyVersion: Versão da chave
  • 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 $keyVault.Location \
      -Sku premium \
      -ManagedDiskKeyVaultPropertiesKeyName $key.Name \
      -ManagedDiskKeyVaultPropertiesKeyVaultUri $keyVault.VaultUri \
      -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 $keyVault.VaultUri \
      -ManagedDiskKeyVaultPropertiesKeyVersion $key.Version -ManagedDiskRotationToLatestKeyVersionEnabled
      
  2. Adicione uma política de acesso com permissões de chave ao Key Vault:

    Set-AzKeyVaultAccessPolicy -VaultName $keyVault.VaultName \
    -ObjectId $workspace.ManagedDiskIdentityPrincipalId \
    -PermissionsToKeys wrapkey,unwrapkey,get
    

Usar um modelo do ARM (portal do Azure ou CLI)

Você pode explorar modelos de início rápido do Azure na documentação do Azure. Para obter uma lista das opções de implantação de modelo do ARM, consulte a documentação do modelo do ARM.

Quando você cria um workspace, um recurso de conjunto de criptografia de disco também é criado no grupo de recursos gerenciados do workspace. Ele tem uma identidade gerenciada atribuída pelo sistema que é usada para acessar sua Key Vault. Antes que a computação do Azure Databricks possa usar essa chave para criptografar seus dados, você deve recuperar a ID principal do conjunto de criptografia de disco e conceder à identidade as permissões de chave GET, WRAP e UNWRAP para sua Key Vault.

O Databricks recomenda que você crie ou atualize o workspace e conceda permissões Key Vault na mesma implantação de modelo. Você deve criar ou atualizar o workspace antes de conceder permissões de Key Vault, com uma exceção. Se você atualizar um workspace de chave gerenciada pelo cliente de disco gerenciado existente para usar uma nova chave em um novo Key Vault, deverá conceder ao conjunto de criptografia de disco existente permissão para acessar o novo Key Vault e atualizar o workspace com a nova configuração de chave.

O modelo de exemplo nesta seção faz o seguinte:

  • Cria ou atualiza um workspace para adicionar configurações de chave gerenciada pelo cliente de disco gerenciado pelo cliente
  • Concede ao conjunto de criptografia de disco acesso ao seu Key Vault

Você pode usar o modelo do ARM de exemplo a seguir, que faz duas coisas:

  • Criar ou atualizar um workspace com uma chave gerenciada pelo cliente de disco gerenciado.
  • Crie uma política de acesso de chave.

Se você já usa um modelo do ARM, é possível mesclar os parâmetros, os recursos e as saídas do modelo de exemplo no seu modelo existente.

{
   "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
   "contentVersion": "1.0.0.0",
   "parameters": {
       "workspaceName": {
           "type": "string",
           "metadata": {
               "description": "The name of the Azure Databricks workspace to create"
           }
       },
       "pricingTier": {
           "type": "string",
           "defaultValue": "premium",
           "allowedValues": [
               "premium"
           ],
           "metadata": {
               "description": "The pricing tier of workspace"
           }
       },
       "apiVersion": {
           "type": "string",
           "defaultValue": "2023-02-01",
           "allowedValues": [
               "2023-02-01",
               "2022-04-01-preview"
           ],
           "metadata": {
               "description": "The API version to use to create the workspace resources"
           }
       },
       "keyVaultName": {
           "type": "string",
           "metadata": {
               "description": "The Key Vault name used for CMK"
           }
       },
       "keyName": {
           "type": "string",
           "metadata": {
               "description": "The key name used for CMK"
           }
       },
       "keyVersion": {
           "type": "string",
           "metadata": {
               "description": "The key version used for CMK"
           }
       },
       "keyVaultResourceGroupName": {
           "type": "string",
           "metadata": {
               "description": "The resource group name of the Key Vault used for CMK"
           }
       },
       "enableAutoRotation": {
           "type": "bool",
           "defaultValue": false,
           "allowedValues": [
               true,
               false
           ],
           "metadata": {
               "description": "Whether managed disk picks up new key versions automatically"
           }
       }
   },
   "variables": {
       "managedResourceGroupName": "[concat('databricks-rg-', parameters('workspaceName'), '-', uniqueString(parameters('workspaceName'), resourceGroup().id))]"
   },
   "resources": [
       {
           "type": "Microsoft.Databricks/workspaces",
           "name": "[parameters('workspaceName')]",
           "location": "[resourceGroup().location]",
           "apiVersion": "[parameters('apiVersion')]",
           "sku": {
               "name": "[parameters('pricingTier')]"
           },
           "properties": {
               "managedResourceGroupId": "[concat(subscription().id, '/resourceGroups/', variables('managedResourceGroupName'))]",
               "encryption": {
                   "entities": {
                       "managedDisk": {
                           "keySource": "Microsoft.Keyvault",
                           "keyVaultProperties": {
                               "keyVaultUri": "[concat('https://', parameters('keyVaultName'), environment().suffixes.keyvaultDns)]",
                               "keyName": "[parameters('keyName')]",
                               "keyVersion": "[parameters('keyVersion')]"
                           },
                           "rotationToLatestKeyVersionEnabled": "[parameters('enableAutoRotation')]"
                       }
                   }
               }
           }
       },
       {
           "type": "Microsoft.Resources/deployments",
           "apiVersion": "2020-06-01",
           "name": "addAccessPolicy",
           "resourceGroup": "[parameters('keyVaultResourceGroupName')]",
           "dependsOn": [
               "[resourceId('Microsoft.Databricks/workspaces', parameters('workspaceName'))]"
           ],
           "properties": {
               "mode": "Incremental",
               "template": {
                   "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
                   "contentVersion": "0.9.0.0",
                   "resources": [
                       {
                           "type": "Microsoft.KeyVault/vaults/accessPolicies",
                           "apiVersion": "2019-09-01",
                           "name": "[concat(parameters('keyVaultName'), '/add')]",
                           "properties": {
                               "accessPolicies": [
                                   {
                                       "objectId": "[reference(resourceId('Microsoft.Databricks/workspaces', parameters('workspaceName')), '2023-02-01').managedDiskIdentity.principalId]",
                                       "tenantId": "[reference(resourceId('Microsoft.Databricks/workspaces', parameters('workspaceName')), '2023-02-01').managedDiskIdentity.tenantId]",
                                       "permissions": {
                                           "keys": [
                                               "get",
                                               "wrapKey",
                                               "unwrapKey"
                                           ]
                                       }
                                   }
                               ]
                           }
                       }
                   ]
               }
           }
       }
   ],
   "outputs": {
       "workspace": {
           "type": "object",
           "value": "[reference(resourceId('Microsoft.Databricks/workspaces', parameters('workspaceName')))]"
       }
   }
}

Use o modelo com as ferramentas desejadas, incluindo portal do Azure, CLI ou outras ferramentas. Os detalhes estão incluídos para as seguintes estratégias de implantação de modelo:

Aplicar um modelo do ARM usando o portal do Azure

Para criar ou atualizar um workspace usando um modelo do ARM no portal do Azure, faça o seguinte:

  1. Somente se você estiver adicionando inicialmente uma chave a um workspace existente, encerre todos os recursos de computação (clusters, pools). Se você não realizar essa etapa, os recursos serão encerrados automaticamente durante a atualização, o que pode causar problemas para alguns tipos de cargas de trabalho. Planeje o tempo de inatividade para encerrar todos os recursos de computação antes de adicionar a chave. Após a conclusão da atualização, você iniciará os recursos de computação que parou. Para um workspace que já tem uma chave gerenciada pelo cliente para discos gerenciados, você pode girar a chave sem encerrar recursos de computação.

  2. Entre no portal do Azure.

  3. Clique em Criar um recurso e, em seguida, clique em Implantação de modelo (implantar usando modelos personalizados).

  4. Na página Implantação personalizada, clique em Criar seu modelo no editor.

  5. Cole o conteúdo do modelo de exemplo no editor.

    Edit deployment page of the Azure custom deployment portal

  6. Clique em Save (Salvar).

  7. Insira seus valores de parâmetros.

    Para atualizar um workspace existente, use os mesmos parâmetros que você usou para criar o workspace. Para adicionar uma chave gerenciada pelo cliente pela primeira vez, adicione os parâmetros relacionados à chave em resources.properties.encryption.entities.managedDisk, conforme mostrado no modelo acima. Para girar a chave, altere alguns ou todos os parâmetros relacionados à chave.

    Importante

    Se você atualizar um workspace, o nome do grupo de recursos e o nome do workspace no modelo deverão ser idênticos ao nome do grupo de recursos e ao nome do workspace do seu workspace existente.

    Project details page of the Azure custom deployment portal

  8. Clique em Examinar + Criar.

  9. Resolva quaisquer problemas de validação e clique em Criar.

Importante

Se você girar uma chave, não exclua a chave antiga até que a atualização do workspace seja concluída.

Aplicar um modelo do ARM usando a CLI do Azure

Esta seção descreve como criar ou atualizar um workspace com sua chave usando um modelo do ARM com a CLI do Azure.

  1. Somente se você estiver adicionando inicialmente uma chave a um workspace existente, encerre todos os recursos de computação (clusters, pools). Se você não realizar essa etapa, os recursos serão encerrados automaticamente durante a atualização, o que pode causar problemas para alguns tipos de cargas de trabalho. Você pode considerar agendar essa atualização e planejar o tempo de inatividade. Essa etapa não será necessária se você estiver apenas girando a chave.

  2. Verifique se o modelo inclui a seção para resources.properties.encryption.entities.managedDisk e seus parâmetros relacionados keyvaultName, keyName, keyVersion e keyVaultResourceGroupName. Se eles não estiverem lá, consulte anteriormente nesta seção para obter um modelo de exemplo e mesclar nessa seção e os parâmetros em seu modelo.

  3. Execute o comando az deployment group create. Se o nome do grupo de recursos e o nome do workspace forem idênticos ao nome do grupo de recursos e ao nome do workspace de um workspace existente, esse comando atualizará o workspace existente em vez de criar um novo workspace. Se você estiver atualizando uma implantação existente, use o mesmo grupo de recursos e o mesmo nome do workspace que foi usado anteriormente.

    az deployment group create --resource-group <existing-resource-group-name>  \
                               --template-file <file-name>.json \
                               --parameters workspaceName=<workspace-name> \
                                            keyvaultName=<key-vault-name> \
                                            keyName=<key-name> keyVersion=<key-version> \
                                            keyVaultResourceGroupName=<key-vault-resource-group>
    

    Importante

    Se girar uma chave, você só poderá excluir a chave antiga após a conclusão da atualização do workspace.

Etapa 5: confirmar se os recursos de computação usam sua chave (opcional)

Para confirmar se o recurso de chave gerenciada pelo cliente do disco gerenciado está habilitado para o workspace:

  1. Recupere os detalhes do workspace do Azure Databricks fazendo um dos seguintes procedimentos:

    • Portal do Azure

      1. No portal do Azure, clique em Workspaces e, em seguida, clique no nome do workspace.
      2. Na página do workspace, clique em Exibição JSON.
      3. Clique em uma versão de API igual ou superior à versão da API 2022-04-01-preview.
    • CLI do Azure

      Execute o comando a seguir:

      az databricks workspace show --resource-group <resource group name> --name <workspace name>
      

      Os parâmetros de criptografia de disco gerenciado estão em properties. Por exemplo:

      "properties": {
           "encryption": {
               "entities": {
                   "managedDisk": {
                     "keySource": "Microsoft.Keyvault",
                     "keyVaultProperties": {
                         "keyVaultUri": "<key-vault-uri>",
                         "keyName": "<key-name>",
                         "keyVersion": "<key-version>"
                     },
                     "rotationToLatestKeyVersionEnabled": "<rotation-enabled>"
                 }
            }
        }
      
    • Powershell

      Get-AzDatabricksWorkspace -Name <workspace-name> -ResourceGroupName <resource-group-name> |
        Select-Object -Property ManagedDiskKeySource,
         ManagedDiskKeyVaultPropertiesKeyVaultUri,
         ManagedServicesKeyVaultPropertiesKeyName,
         ManagedServicesKeyVaultPropertiesKeyVersion,
         ManagedDiskRotationToLatestKeyVersionEnabled
      

      Examine os valores das propriedades retornadas na saída:

      ManagedDiskKeySource                           : Microsoft.Keyvault
      ManagedDiskKeyVaultPropertiesKeyVaultUri       : <key-vault-uri>
      ManagedServicesKeyVaultPropertiesKeyName       : <key-name>
      ManagedServicesKeyVaultPropertiesKeyVersion    : <key-version>
      ManagedDiskRotationToLatestKeyVersionEnabled   : <rotation-enabled>
      
  2. Crie qualquer recurso de computação para seu workspace a ser usado para teste:

  3. No portal do Azure, clique em Workspaces e, em seguida, clique no nome do workspace.

  4. Na página do workspace, clique no nome do grupo de recursos gerenciados no qual o workspace está.

  5. Na página do grupo de recursos, em Recursos, clique no nome de uma máquina virtual.

  6. No lado esquerdo da página da máquina virtual, em Configurações, clique em Discos.

    Na página discos, em Discos de dados, confirme se o campo Criptografia do disco tem o valor SSE with CMK.

Etapa 6: Iniciar recursos de computação anteriormente finalizados

Essa etapa é necessária somente se você atualizou um espaço de trabalho para adicionar uma chave pela primeira vez e, nesse caso, 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 e, nesse caso, você pode pular esta etapa.

  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 inicialmente adicionando uma chave ao workspace existente, com a diferença importante é 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áquinas virtuais do Azure obtém automaticamente a nova chave e a utiliza 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.

Você não precisa encerrar os recursos de computação antes de girar a chave.

Solução de problemas

O cluster falha com KeyVaultAccessForbidden

O problema é que um cluster falha ao iniciar com o seguinte erro:

Cloud Provider Launch Failure: KeyVaultAccessForbidden

Conceda ao conjunto de criptografia de disco criado na permissão do grupo de recursos gerenciados do espaço de trabalho para acessar o Key Vault. Permissões necessárias: GET, WRAPKEY, UNWRAPKEY.

Leia novamente a subseção da Etapa 4: crie ou atualize um espaço de trabalho para seu tipo de implantação e preste atenção especial à atualização da política de acesso do Key Vault com permissões específicas.

Os parâmetros de chave estão ausentes

O problema é que os parâmetros de chave gerenciada pelo cliente do disco gerenciado estão ausentes.

Confirme se o modelo do ARM usa a versão correta da API para o recurso Microsoft.Databricks/workspaces. O recurso de chave gerenciada pelo cliente do disco gerenciado só está disponível com a versão da API igual ou superior a 2022-04-01-preview. Se você usar outras versões da API, o workspace será criado ou atualizado, mas os parâmetros de disco gerenciado serão ignorados.

Falha na atualização do espaço de trabalho com ApplicationUpdateFail

O problema é uma falha da atualização ou operação de patch do espaço de trabalho em um workspace habilitado para disco gerenciado com o seguinte erro:

Failed to update application: `<workspace name>`, because patch resource group failure. (Code: ApplicationUpdateFail)

Conceda ao conjunto de criptografia de disco acesso ao Key Vault e execute operações de atualização do workspace, como adicionar marcas.

Política de acesso ausente

O problema é o seguinte erro:

ERROR CODE: BadRequest MESSAGE: Invalid value found at accessPolicies[14].ObjectId: <objectId>

A política de acesso com a ID de objeto acima é inválida no Key Vault. Você precisa removê-lo para adicionar novas políticas de acesso ao seu Key Vault.

Chaves perdidas são irrecuperáveis

As chaves perdidas não são recuperáveis. Se você perder ou revogar sua chave e não puder recuperá-la, os recursos de computação do Azure Databricks não funcionarão mais. Outras funções do workspace não são afetadas.

Recursos