Configuración de claves administradas por el cliente para discos administrados de Azure

Las cargas de trabajo de proceso de Azure Databricks del plano de proceso almacenan datos temporales en discos administrados de Azure. De manera predeterminada, los datos almacenados en discos administrados se cifran en reposo, mediante el cifrado del lado del servidor, con claves administradas por Microsoft. En este artículo se describe cómo configurar una clave administrada por el cliente desde vaults de Azure Key Vault para el área de trabajo de Azure Databricks que se usará para el cifrado de discos administrados. Para obtener instrucciones sobre cómo utilizar una clave de los almacenes de HSM Azure Key Vault, consulte Configuración de claves administradas de HSM por el cliente para discos administrados de Azure.

Importante

  • Las claves administradas por el cliente para el almacenamiento en disco administrado se aplican a los discos de datos, pero no se aplican a los discos del sistema operativo (SO).
  • Las claves administradas por el cliente para el almacenamiento en disco administrado no se aplican a los recursos de procesos sin servidor, como los almacenes de SQL sin servidor o el Servicio de modelos. Los discos que se usan para los recursos de procesos sin servidor duran poco y están vinculados al ciclo de vida de la carga de trabajo sin servidor. Cuando los recursos de procesos se detienen o se reducen verticalmente, se destruyen las máquinas virtuales y su almacenamiento.

Requisitos

Paso 1: Crear un almacén de claves

Puede crear una Key Vault de muchas maneras, como Azure Portal, la CLI de Azure, PowerShell y, opcionalmente, usar plantillas de ARM. En las secciones siguientes se proporcionan procedimientos para usar la CLI de Azure y PowerShell. Para otros enfoques, consulte la documentación de Microsoft.

Uso de CLI de Azure

  1. Crear un almacén de claves:

    az keyvault create --name <keyVaultName> --resource-group <resourceGroupName> --location <location> --sku <sku> --enable-purge-protection
    
  2. Obtenga el URI del almacén:

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

    Copie el valor vaultUri de la respuesta.

Uso de PowerShell

Cree un nuevo almacén:

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

Obtenga un Key Vault existente:

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

Paso 2: Preparar una clave

Puede crear una clave o recuperar una clave existente almacenada en Azure Key Vault mediante Azure Portal, la CLI de Azure, PowerShell y, opcionalmente, mediante plantillas de ARM. En esta sección se proporcionan procedimientos para la CLI de Azure y PowerShell. Para consultar otras formas, vea la Documentación de claves de Azure.

Uso de CLI de Azure

Puede crear una clave o recuperar una existente.

Crear una clave:

  1. Ejecute el siguiente comando:

    az keyvault key create \
    --name <key-name> \
    --vault-name <key-vault-name> \
    --protection software
    
  2. Tome nota de estos valores, que aparecen en la salida:

    • Nombre del almacén de claves: el nombre de la instancia de Key Vault
    • Nombre de la clave: el nombre de su clave
    • Versión de la clave: la versión de la clave
    • Grupo de recursos del almacén de claves: el grupo de recursos de Key Vault
  3. Obtener información de clave:

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

    Copie el valor del campo kid, que es el id. clave.

    El id. clave completo tiene el formato https://<key-vault-name>.vault.azure.net/keys/<key-name>/<key-version>. Las claves de Azure Key Vault que se encuentran en una nube no pública tienen un formato diferente.

Recuperar una clave existente:

  1. Ejecute el siguiente comando:

    az keyvault key show --name <key-name> --vault-name <key-vault-name>
    
  2. Anote la siguiente información de la clave existente:

    • Nombre del almacén de claves: el nombre de la instancia de Key Vault.
    • Nombre de la clave: el nombre de su clave.
    • Versión de la clave: la versión de la clave.
    • Grupo de recursos del almacén de claves: el grupo de recursos de Key Vault.
  3. Obtener información de clave:

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

    Copie el valor del campo kid, que es el id. clave.

    El id. clave completo tiene el formato https://<key-vault-name>.vault.azure.net/keys/<key-name>/<key-version>. Las claves de Azure Key Vault que se encuentran en una nube no pública tienen un formato diferente.

  4. Confirme que la clave existente está habilitada antes de continuar ejecutando az keyvault key show --name <key name> de nuevo. La salida muestra "enabled": true.

Uso de PowerShell

  1. Si tiene previsto crear una clave, es posible que tenga que establecer la directiva de acceso, en función de cómo y cuándo la haya creado. Por ejemplo, si creó recientemente la instancia de Key Vault mediante PowerShell, es posible que la nueva instancia de Key Vault no tenga la directiva de acceso necesaria para crear una clave. En el ejemplo siguiente se usa el parámetro EmailAddress para establecer la directiva. Para obtener más información, consulte el artículo de Microsoft sobre Set-AzKeyVaultAccessPolicy.

    Establezca la directiva de acceso en una nueva instancia de Key Vault:

    Set-AzKeyVaultAccessPolicy \
    -VaultName $keyVault.VaultName \
    -PermissionsToKeys all \
    -EmailAddress <email-address>
    
  2. Puede crear una clave o recuperar una existente:

    • Crear una clave:

      $key = Add-AzKeyVaultKey \
      -VaultName $keyVault.VaultName \
      -Name <key-name> \
      -Destination 'Software'
      
    • Recuperar una clave existente:

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

Paso 3: Detener todos los recursos de proceso si va a actualizar un área de trabajo para agregar inicialmente una clave

Si va a agregar una clave administrada por el cliente para discos administrados inicialmente en un área de trabajo existente, detenga todos los recursos de proceso (clústeres, grupos, almacenamientos SQL clásicos o pro) antes de la actualización.

Una vez completada la actualización, puede iniciar los recursos de proceso que detuvo. En el caso de un área de trabajo que ya tiene una clave administrada por el cliente para discos administrados, puede rotar la clave sin terminar los recursos de proceso.

Paso 4: crear o actualizar un área de trabajo

Para crear o actualizar un área de trabajo con una clave administrada por el cliente para discos administrados, elija una de las siguientes estrategias de implementación:

Uso de Azure Portal (sin plantilla)

En esta sección se describe cómo usar Azure Portal para crear o actualizar un área de trabajo con claves administradas por el cliente para discos administrados sin usar una plantilla.

  1. Empiece a crear o actualizar un área de trabajo:

    Cree una nueva área de trabajo con una clave:

    1. Vaya a la Página principal de Azure Portal y haga clic en Crear un recurso en la esquina superior izquierda de la página.
    2. En la barra de búsqueda, escriba Azure Databricks y haga clic en Azure Databricks.
    3. Seleccione Crear desde el widget de Azure Databricks.
    4. Escriba valores en los campos de formulario de las pestañas Aspectos básicos y Redes.
    5. En la pestaña Cifrado, active la casilla Usar su propia clave en la sección Discos administrados.

    Inicialmente, agregue una clave a un área de trabajo existente:

    1. Finalice los recursos de proceso (clústeres, grupos).
    2. Vaya a la página principal de Azure Portal para Azure Databricks.
    3. Vaya al área de trabajo de Azure Databricks existente.
    4. Abra la pestaña Cifrado en el panel izquierdo.
    5. En la sección Claves administradas por el cliente, habilite Discos administrados.
  2. Establezca los campos de cifrado.

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

    • En el campo Identificador de clave, pega el identificador de clave de la clave de Azure Key Vault.
    • En la lista desplegable Suscripción, escriba el nombre de la suscripción de la clave de Azure Key Vault.
    • Para habilitar la rotación automática de la clave, habilite Habilitar la rotación automática de la clave.
  3. Complete las pestañas restantes y haga clic en Revisar y crear (para una nueva área de trabajo) o Guardar (para actualizar un área de trabajo).

  4. Una vez que se implemente el área de trabajo, vaya a la nueva área de trabajo de Azure Databricks.

  5. En la pestaña Información general del área de trabajo de Azure Databricks, seleccione Grupo de recursos administrados.

  6. En la pestaña Información general del grupo de recursos administrados, busque el objeto de tipo Conjunto de cifrado de disco que se creó en este grupo de recursos. Copie el nombre del conjunto de cifrado de disco.

  7. En Azure Portal, vaya a la instancia de Azure Key Vault que se usó para configurar la clave que usa para esta característica.

  8. Abra la pestaña Directivas de acceso en el panel izquierdo. Una vez abierta la pestaña, haga clic en Crear en la parte superior de la página.

  9. En la pestaña Permisos de la sección Permisos de claves, habilite Obtener, Desencapsular clave y Encapsular clave.

  10. Haga clic en Next.

  11. En la pestaña Entidad de seguridad, escriba el nombre del conjunto de cifrado de disco dentro del grupo de recursos administrados del área de trabajo de Azure Databricks en la barra de búsqueda. Seleccione el resultado y haga clic en Siguiente.

    Enter the name of disk encryption set and select the result

  12. Haga clic en la pestaña Revisar y crear y haga clic en Crear.

Uso de la CLI de Azure (sin plantilla)

Para las áreas de trabajo nuevas y actualizadas, agregue estos parámetros al comando:

  • disk-key-name: Nombre de la clave
  • disk-key-vault: Nombre del almacén
  • disk-key-version: Versión de la clave
  • disk-key-auto-rotation: habilitar la rotación automática de la clave (true o false). Este campo es opcional. El valor predeterminado es false.

En los comandos siguientes, use el valor del URI del almacén de la respuesta en el paso anterior en lugar de <key-vault-uri>. Además, los valores de nombre de clave y versión de clave se pueden encontrar dentro del valor kid en la respuesta del paso anterior.

  1. Cree o actualice un área de trabajo:

    • Ejemplo de creación de un área de trabajo mediante estos parámetros de disco administrado:

      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>
      
    • Ejemplo de actualización de un área de trabajo mediante estos parámetros de disco administrado:

      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>
      

    En la salida de cualquiera de estos comandos, hay un objeto managedDiskIdentity. Guarde el valor de la propiedad principalId dentro de este objeto. Se usa en un paso posterior como identificador de entidad de seguridad.

  2. Agregue una directiva de acceso con permiso de clave al Key Vault. Use el nombre del almacén y el identificador de entidad de seguridad de los pasos anteriores:

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

Uso de Powershell (sin plantilla)

Para las áreas de trabajo nuevas y actualizadas, agregue estos parámetros al comando:

  • location: Ubicación del área de trabajo
  • ManagedDiskKeyVaultPropertiesKeyName: Nombre de la clave
  • ManagedDiskKeyVaultPropertiesKeyVaultUri: URI de Key Vault
  • ManagedDiskKeyVaultPropertiesKeyVersion: Versión de la clave
  • ManagedDiskRotationToLatestKeyVersionEnabled: habilitar la rotación automática de la clave (true o false). Este campo es opcional. El valor predeterminado es false.
  1. Cree o actualice un área de trabajo:

    • Ejemplo de creación de un área de trabajo mediante parámetros de disco administrado:

      $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
      
    • Ejemplo de actualización de un área de trabajo mediante parámetros de disco administrado:

      $workspace = Update-AzDatabricksworkspace -Name <workspace-name> \
      -ResourceGroupName <resource-group-name> \
      -ManagedDiskKeyVaultPropertiesKeyName $key.Name \
      -ManagedDiskKeyVaultPropertiesKeyVaultUri $keyVault.VaultUri \
      -ManagedDiskKeyVaultPropertiesKeyVersion $key.Version -ManagedDiskRotationToLatestKeyVersionEnabled
      
  2. Agregue una directiva de acceso con permisos de clave al Key Vault:

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

Uso de una plantilla de ARM (Azure Portal o CLI)

Puede explorar las plantillas de inicio rápido de Azure en la documentación de Azure. Para obtener una lista de las opciones de implementación de plantillas de ARM, consulte la documentación de la plantilla de ARM.

Al crear un área de trabajo, también se crea un recurso de conjunto de cifrado de disco en el grupo de recursos administrado del área de trabajo. Tiene una identidad administrada asignada por el sistema que se usa para acceder a Key Vault. Para que el proceso de Azure Databricks pueda usar esta clave para cifrar los datos, debe recuperar el Id. de la entidad de seguridad del conjunto de cifrado de disco y, después, conceder a la identidad los permisos de clave GET, WRAP y UNWRAP para Key Vault.

Databricks recomienda crear o actualizar el área de trabajo y conceder permisos de Key Vault en la misma implementación de plantilla. Debe crear o actualizar el área de trabajo antes de conceder permisos de Key Vault, con una excepción. Si desea actualizar un área de trabajo de clave administrada por el cliente con un disco administrado existente para usar una nueva clave en una nueva instancia de Key Vault, debe conceder permiso al conjunto de cifrado del disco existente para acceder a la nueva instancia de Key Vault y, después, actualizar el área de trabajo con la nueva configuración de clave.

La plantilla de ejemplo de esta sección realiza lo siguiente:

  • Crea o actualiza un área de trabajo para agregar la configuración de clave administrada por el cliente de disco administrado
  • Concede permiso al conjunto de cifrado de disco para acceder a Key Vault

Puede usar la plantilla de ARM de ejemplo siguiente, que hace dos cosas:

  • Crea o actualiza un área de trabajo con una clave administrada por el cliente de disco administrado.
  • Crea una directiva de acceso de clave.

Si ya usa una plantilla de ARM, puede combinar los parámetros, los recursos y las salidas de la plantilla de ejemplo con la plantilla que utilice.

{
   "$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 la plantilla con las herramientas que desee, incluidas las de Azure Portal, la CLI u otras herramientas. Se incluyen detalles para las siguientes estrategias de implementación de plantillas:

Aplicación de un plantilla de ARM mediante Azure Portal

Para crear o actualizar un área de trabajo mediante una plantilla de ARM en Azure Portal, haga lo siguiente:

  1. Solo si va a agregar inicialmente una clave a un área de trabajo existente, finalice los recursos de proceso (clústeres, grupos). Si no puede realizar este paso, los recursos se finalizan automáticamente durante la actualización, lo que puede causar problemas para algunos tipos de cargas de trabajo. Planee el tiempo de inactividad para finalizar todos los recursos de proceso antes de agregar la clave. Una vez completada la actualización, iniciará los recursos de proceso que detuvo. En el caso de un área de trabajo que ya tiene una clave administrada por el cliente para discos administrados, puede rotar la clave sin terminar los recursos de proceso.

  2. Inicie sesión en Azure Portal.

  3. Haga clic en Crear un recurso y, después, haga clic en Template Deployment (implementación con plantillas personalizadas).

  4. En la Página de la implementación personalizada, haga clic en Cree su propia plantilla en el editor.

  5. Pegue el contenido de la plantilla de ejemplo en el editor.

    Edit deployment page of the Azure custom deployment portal

  6. Haga clic en Save(Guardar).

  7. Escriba los valores de los parámetros.

    Para actualizar un área de trabajo existente, use los mismos parámetros que usó para crear el área de trabajo. Para agregar una clave administrada por el cliente por primera vez, agregue los parámetros relacionados con la clave en resources.properties.encryption.entities.managedDisk, como se muestra en la plantilla anterior. Para rotar la clave, cambie todos o algunos de los parámetros relacionados con la clave.

    Importante

    Si actualiza un área de trabajo, el nombre del grupo de recursos y el nombre del área de trabajo de la plantilla deben ser idénticos al nombre del grupo de recursos y al nombre del área de trabajo existente.

    Project details page of the Azure custom deployment portal

  8. Haga clic en Revisar y crear.

  9. Resuelva los problemas de validación y, después, haga clic en Crear.

Importante

Si rota una clave, no elimine la clave antigua hasta que se complete la actualización del área de trabajo.

Aplicación de una plantilla de ARM mediante la CLI de Azure

En esta sección se describe cómo crear o actualizar un área de trabajo con la clave mediante una plantilla de ARM con la CLI de Azure.

  1. Solo si va a agregar inicialmente una clave a un área de trabajo existente, finalice los recursos de proceso (clústeres, grupos). Si no puede realizar este paso, los recursos se finalizan automáticamente durante la actualización, lo que puede causar problemas para algunos tipos de cargas de trabajo. Es posible que considere la posibilidad de programar esta actualización y planear el tiempo de inactividad. Este paso no es necesario si simplemente rota la clave.

  2. Compruebe si la plantilla incluye la sección para resources.properties.encryption.entities.managedDisk y sus parámetros relacionados keyvaultName, keyName, keyVersion y keyVaultResourceGroupName. Si no están allí, consulte anteriormente en esta sección para obtener una plantilla de ejemplo y combinar en esa sección y los parámetros en la plantilla.

  3. Ejecute el comando az deployment group create. Si el nombre del grupo de recursos y el nombre del área de trabajo son idénticos a los nombres del grupo de recursos y del área de trabajo de un área de trabajo existente, este comando actualiza el área de trabajo existente en vez de crear una nueva área de trabajo. Si va a actualizar una implementación existente, asegúrese de usar el mismo grupo de recursos y el mismo nombre de área de trabajo que se usó 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

    Si rota una clave, solo puede eliminar la clave antigua una vez completada la actualización del área de trabajo.

Paso 5: Confirmar que los recursos de proceso usan la clave (opcional)

Para confirmar que la característica de clave administrada por el cliente del disco administrado está habilitada para el área de trabajo:

  1. Recupere los detalles del área de trabajo de Azure Databricks mediante una de las siguientes acciones:

    • Azure Portal

      1. En Azure Portal, haga clic en Áreas de trabajo y, después, haga clic en el nombre del área de trabajo.
      2. En la página del área de trabajo, haga clic en Vista JSON.
      3. Haga clic en una versión de API igual o superior a la versión de API 2022-04-01-preview.
    • CLI de Azure

      Ejecute el siguiente comando:

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

      Los parámetros de cifrado de disco administrado se encuentran en properties. Por ejemplo:

      "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
      

      Revise los valores de las propiedades que se devuelven en la salida:

      ManagedDiskKeySource                           : Microsoft.Keyvault
      ManagedDiskKeyVaultPropertiesKeyVaultUri       : <key-vault-uri>
      ManagedServicesKeyVaultPropertiesKeyName       : <key-name>
      ManagedServicesKeyVaultPropertiesKeyVersion    : <key-version>
      ManagedDiskRotationToLatestKeyVersionEnabled   : <rotation-enabled>
      
  2. Cree cualquier recurso de proceso para el área de trabajo que se usará para realizar pruebas:

  3. En Azure Portal, haga clic en Áreas de trabajo y, después, haga clic en el nombre del área de trabajo.

  4. En la página del área de trabajo, haga clic en el nombre del grupo de recursos administrado en el que se encuentra el área de trabajo.

  5. En la página del grupo de recursos, en Recursos, haga clic en el nombre de una máquina virtual.

  6. En el lado izquierdo de la página de la máquina virtual, en Configuración, haga clic en Discos.

    En la página discos, en Discos de datos, confirme que el campo Cifrado del disco tenga el valor SSE with CMK.

Paso 6: iniciar los recursos de proceso terminados previamente

Este paso solo es necesario si ha actualizado un área de trabajo para agregar una clave por primera vez, en cuyo caso ha terminado los recursos de proceso en ejecución en un paso anterior. Si ha creado un área de trabajo o simplemente está girando la clave, los recursos de proceso no se terminaron en los pasos anteriores, en cuyo caso puede omitir este paso.

  1. Asegúrese de que la actualización del área de trabajo está completa. Si la clave era el único cambio en la plantilla, normalmente se completa en menos de cinco minutos; de lo contrario, podría tardar más tiempo.
  2. Inicie manualmente los recursos de proceso que haya terminado anteriormente.

Si los recursos de proceso no se inician correctamente, normalmente se debe a que necesita conceder permiso al conjunto de cifrado de disco para acceder a Key Vault.

Rotación de la clave en un momento posterior

Hay dos tipos de rotaciones de claves en un área de trabajo existente que ya tiene una clave:

  • Rotación automática: si rotationToLatestKeyVersionEnabled es true para el área de trabajo, el conjunto de cifrado de disco detecta el cambio de versión de la clave y apunta a la versión más reciente de la clave.
  • Rotación manual: puede actualizar un área de trabajo de clave administrada por el cliente del disco administrado existente con una nueva clave. Siga las instrucciones anteriores como si inicialmente agregara una clave al área de trabajo existente, con la diferencia importante de que no es necesario finalizar ningún recurso de proceso en ejecución.

Para ambos tipos de rotación, el servicio de almacenamiento de máquina virtual de Azure recoge automáticamente la nueva clave y la usa para cifrar la clave de cifrado de datos. Los recursos de procesos de Azure Databricks no se ven afectados. Para más información, consulte Claves administradas por el cliente en la documentación de Azure.

No es necesario terminar los recursos de proceso antes de rotar la clave.

Solución de problemas

Se produce un error en el clúster con KeyVaultAccessForbidden

El problema es que un clúster no se inicia con el siguiente error:

Cloud Provider Launch Failure: KeyVaultAccessForbidden

Conceda permiso para acceder al Key Vault al conjunto de cifrado de disco que se crea en el grupo de recursos administrados del área de trabajo. Permisos necesarios: GET, WRAPKEY, UNWRAPKEY.

Vuelva a leer la subsección del Paso 4: Crear o actualizar un área de trabajo para el tipo de implementación y preste especial atención a la actualización de la directiva de acceso al Key Vault con permisos específicos.

Faltan parámetros clave

El problema es que faltan los parámetros de clave administrada por el cliente del disco administrado.

Confirme que la plantilla de ARM usa la versión de API correcta para el recurso Microsoft.Databricks/workspaces. La característica de clave administrada por el cliente de disco administrado solo está disponible con la versión de API igual o posterior a 2022-04-01-preview. Si usa otras versiones de la API, el área de trabajo se crea o actualiza, pero se omiten los parámetros de disco administrado.

Se produce un error ApplicationUpdateFail en la actualización del área de trabajo

El problema es que se produce un error en la operación de actualización o revisión de un área de trabajo habilitada para un disco administrado con el siguiente error:

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

Conceda al conjunto de cifrado de disco acceso a Key Vault, y realice operaciones de actualización del área de trabajo, como la agregación de etiquetas.

Falta la directiva de acceso

El problema es el siguiente error:

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

La directiva de acceso con el id. de objeto anterior no es válida en Key Vault. Tiene que quitarla para agregar nuevas directivas de acceso a Key Vault.

Las claves perdidas son irrecuperables

Las claves perdidas no se pueden recuperar. Si pierde o revoca la clave y no puede recuperarla, los recursos de procesos de Azure Databricks ya no funcionan. Otras funciones del área de trabajo no se ven afectadas.

Recursos