Compartir a través de


Configuración y uso de la autenticación de identidades administradas de Azure para la automatización de Azure Databricks

Siga los pasos de este artículo para autenticar identidades administradas para recursos de Azure (anteriormente Managed Service Identities (MSI)) para automatizar las cuentas y áreas de trabajo de Azure Databricks.

Azure administra automáticamente las identidades de Microsoft Entra ID (anteriormente Azure Active Directory) para que las aplicaciones lo usen al conectarse a recursos que admiten la autenticación de Microsoft Entra ID. Estos recursos incluyen cuentas y áreas de trabajo de Azure Databricks. La autenticación de identidades administradas de Azure para Azure Databricks usa identidades administradas para obtener tokens de Microsoft Entra ID sin tener que administrar credenciales.

Nota:

Las identidades administradas de los recursos de Azure son diferentes de las entidades de servicio administradas de Microsoft Entra ID, que Azure Databricks también admite para la autenticación. Para aprender a usar entidades de servicio administradas de Microsoft Entra ID para la autenticación de Azure Databricks en lugar de identidades administradas para recursos de Azure, vea:

En este artículo se muestra cómo configurar y usar la autenticación de identidades administradas de Azure de la siguiente manera:

  • Cree una identidad administrada asignada por el usuario. Azure admite identidades administradas asignadas por el sistema y por el usuario. Databricks recomienda usar identidades administradas asignadas por el usuario para la autenticación de identidades administradas de Azure con Azure Databricks.
  • Asigne la identidad administrada a la cuenta de Azure Databricks y a un área de trabajo de Azure Databricks en esa cuenta.
  • Cree e inicie sesión en una máquina virtual de Azure (VM de Azure). Debe usar un recurso que admita identidades administradas, como una máquina virtual de Azure, con una identidad administrada asignada a esa máquina virtual de Azure, para llamar mediante programación a operaciones de área de trabajo y cuenta de Azure Databricks.
  • Asignación de una identidad administrada asignada por el usuario a una máquina virtual de Azure.
  • Instale la CLI de Databricks en la máquina virtual de Azure y configure la CLI de Databricks para la autenticación de identidades administradas de Azure para Azure Databricks mediante la identidad administrada asignada.
  • Ejecute comandos con la CLI de Databricks para automatizar la cuenta y el área de trabajo de Azure Databricks mediante la autenticación de identidades administradas de Azure para Azure Databricks con la identidad administrada asignada.

Requisitos

Paso 1: Crear una identidad administrada asignada por el usuario

En este paso, creará una identidad administrada asignada por el usuario para los recursos de Azure. Azure admite identidades administradas asignadas por el sistema y por el usuario. Databricks recomienda usar identidades administradas asignadas por el usuario para la autenticación de identidades administradas de Azure con Azure Databricks. Consulte también Administración de identidades administradas asignadas por el usuario.

  1. Inicie sesión en Azure Portal.

    Nota:

    El portal que se va a usar es diferente en función de si usa la nube pública de Azure o una nube nacional o soberana. Para obtener más información, consulte Nubes nacionales.

  2. Si tiene acceso a varios inquilinos, suscripciones o directorios, haga clic en el icono de engranaje (Configuración) en el menú superior para cambiar al directorio en el que desea crear la identidad administrada.

  3. En Buscar recursos, servicios y documentos, busque y seleccione el servicio de Azure denominado Identidades administradas.

  4. Haz clic en + Crear.

  5. En la pestaña Aspectos básicos, vaya a grupo de recursos y elija un grupo de recursos existente al que agregar esta identidad administrada o haga clic en Crear nuevo para crear un nuevo grupo de recursos al que agregar esta identidad administrada. Para obtener información sobre los grupos de recursos, consulte Administración de grupos de recursos de Azure mediante Azure Portal.

  6. En Región, elija la región adecuada a la que agregar esta identidad administrada. Para obtener información sobre las regiones, consulte Elegir la región de Azure adecuada para el usuario.

  7. En Nombre, escriba un nombre único para esta identidad administrada que sea fácil de recordar.

  8. En la pestaña Review + create (Revisar y crear), haga clic en Create (Crear).

  9. Haga clic en Ir al recurso.

  10. Copie el valor del campo id. de cliente, ya que lo necesitará más adelante para los pasos 2, 3 y 8:

    Si olvida copiar este valor, puede obtenerlo en la página de información general de la identidad administrada más adelante. Para volver a la página de información general de la identidad administrada, busque y seleccione el nombre de la identidad administrada en Buscar recursos, servicios y documentos. A continuación, en la página de configuración de la identidad administrada, haga clic en Información general en la barra lateral.

Paso 2: Asignación de la identidad administrada a la cuenta de Azure Databricks

En este paso, dará acceso a la identidad administrada a su cuenta de Azure Databricks. Si no desea conceder acceso a la identidad administrada a su cuenta de Azure Databricks, vaya al paso 3.

  1. En el área de trabajo de Azure Databricks, haga clic en su nombre de usuario en la barra superior y, después, haga clic en Administrar cuenta.

    Como alternativa, vaya directamente a la consola de la cuenta de Azure Databricks, en https://accounts.azuredatabricks.net.

  2. Si se le solicita, inicie sesión en la cuenta de Azure Databricks.

  3. En la barra lateral, haga clic en Administración de usuarios.

  4. Haga clic en la pestaña Entidades de servicio.

    Nota:

    Aunque esta pestaña tiene la etiqueta Entidades de servicio, también sirve para las identidades administradas. Azure Databricks trata las identidades administradas como entidades de servicio en la cuenta de Azure Databricks.

  5. Haga clic en Agregar entidad de servicio.

  6. Escriba un nombre único para la entidad de servicio que sea fácil de recordar.

  7. En UUID, escriba el valor de id. de cliente de la identidad administrada del paso 1.

  8. Haga clic en Agregar. La identidad administrada se agrega como una entidad de servicio en la cuenta de Azure Databricks.

  9. Asigne los permisos de nivel de cuenta que quiera que tenga la entidad de servicio:

    1. En la pestaña entidad de servicio, haga clic en el nombre de la entidad de servicio.
    2. En la pestaña Roles, habilite o deshabilite cada rol de destino que quiera que tenga esta entidad de servicio.
    3. En la pestaña Permisos, conceda acceso a los usuarios, entidades de servicio y roles de grupo de cuentas de Azure Databricks que quiera administrar y use esta entidad de servicio. Consulte Administración de roles en una entidad de servicio.

Paso 3: Asignación de la identidad administrada al área de trabajo de Databricks

En este paso, dará acceso a la identidad administrada a su área de trabajo de Databricks.

Si el área de trabajo está habilitada para la federación de identidades:

  1. En el área de trabajo de Azure Databricks, haga clic en el nombre de usuario en la barra superior y haga clic en Configuración.

  2. Haga clic en Entidades de servicio.

    Nota:

    Aunque esta pestaña tiene la etiqueta Entidades de servicio, también sirve para las identidades administradas. Azure Databricks trata las identidades administradas como entidades de servicio en la cuenta de Azure Databricks.

  3. Haga clic en Agregar entidad de servicio.

  4. Seleccione la entidad de servicio del paso 2 y haga clic en Agregar. La entidad de servicio se agrega como tal en el área de trabajo de Databricks.

  5. Asigne los permisos de nivel de área que quiera que tenga la entidad de servicio:

    1. En la pestaña entidad de servicio, haga clic en el nombre de la entidad de servicio.
    2. En la pestaña Configuraciones, seleccione o desactive lo necesario para conceder o revocar cada estado de destino o derecho que desee que tenga esta entidad de servicio.
    3. En la pestaña Permisos, conceda acceso a los usuarios, entidades de servicio y roles de grupo de cuentas de Azure Databricks que quiera administrar y use esta entidad de servicio. Consulte Administración de roles en una entidad de servicio.

Vaya al paso 4.

Si el área de trabajo está habilitada para la federación de identidades:

  1. En el área de trabajo de Azure Databricks, haga clic en el nombre de usuario en la barra superior y haga clic en Configuración.

  2. Haga clic en Entidades de servicio.

    Nota:

    Aunque esta pestaña tiene la etiqueta Entidades de servicio, también sirve para las identidades administradas. Azure Databricks trata las identidades administradas como entidades de servicio en el área de trabajo de Databricks.

  3. Haga clic en Agregar entidad de servicio.

  4. En la lista Entidad de servicio, seleccione Agregar nueva entidad de servicio.

  5. En ApplicationId, escriba el identificador de cliente para la identidad administrada del paso 1.

  6. Escriba un nombre para mostrar que sea fácil de recordar para la nueva entidad de servicio y haga clic en Agregar. La identidad administrada se agrega como una entidad de servicio en el área de trabajo de Databricks.

  7. Asigne los permisos de nivel de área que quiera que tenga la entidad de servicio:

    1. En la pestaña entidad de servicio, haga clic en el nombre de la entidad de servicio.
    2. En la pestaña Configuraciones, seleccione o desactive lo necesario para conceder o revocar cada estado de destino o derecho que desee que tenga esta entidad de servicio.
    3. En la pestaña Permisos, conceda acceso a los usuarios, entidades de servicio y roles de grupo de cuentas de Azure Databricks que quiera administrar y use esta entidad de servicio. Consulte Administración de roles en una entidad de servicio.

Paso 4: El identificador de recurso de Azure correspondiente al área de trabajo de Databricks

En este paso, obtendrá el identificador de recurso que Azure asigna al área de trabajo de Databricks. Necesitará este identificador de recurso de Azure más adelante para que la autenticación de identidades administradas de Azure determine el recurso de Azure específico que Azure asocia al área de trabajo de Databricks.

  1. En el área de trabajo de Azure Databricks, haga clic en el nombre de usuario en la barra superior y en Azure Portal.

  2. En el panel lateral, en la sección Configuración, haga clic en Propiedades.

  3. En la sección Essentials, copie el valor id., ya que lo necesitará más adelante en el paso 8. Debería tener un aspecto similar al siguiente:

    /subscriptions/<subscription-id>/resourceGroups/<resource-group-id>/providers/Microsoft.Databricks/workspaces/<workspace-id>
    

Paso 5: Creación e inicio de sesión en una máquina virtual de Azure

En este paso, creará e iniciará sesión en una máquina virtual de Azure (VM de Azure). Las máquinas virtuales de Azure son uno de los tipos de recursos que admiten identidades administradas. Consulte también Inicio rápido: Creación de una máquina virtual Linux en Azure Portal.

Esta máquina virtual de Azure solo está pensada para fines de demostración. Esta máquina virtual de Azure usa una configuración que no está necesariamente optimizada para sus necesidades de uso actuales. Una vez que haya terminado de experimentar con esta máquina virtual de Azure, debe eliminarla como se muestra más adelante en el paso 11.

  1. En la instancia de Azure Portal en la que inició sesión en el paso 1, en Buscar recursos, servicios y documentos, busque y seleccione el servicio de Azure denominado Máquinas virtuales.

  2. Haga clic en + Crear > máquina virtual de Azure.

  3. En la pestaña Aspectos básicos, elija para grupo de recursos un grupo de recursos existente al que agregar esta máquina virtual de Azure o haga clic en Crear nuevo para crear un nuevo grupo de recursos al que agregar esta máquina virtual de Azure. Para obtener información sobre los grupos de recursos, consulte Administración de grupos de recursos de Azure mediante Azure Portal.

  4. En nombre de máquina virtual, escriba un nombre único para esta máquina virtual de Azure que sea fácil de recordar.

  5. En Región, elija la región adecuada a la que agregar esta máquina virtual de Azure. Para obtener información sobre las regiones, consulte Elegir la región de Azure adecuada para el usuario.

  6. En Imagen, elija Ubuntu Server 22.04 LTS - x64 Gen 2.

  7. En Tipo de autenticación, seleccione Clave pública SSH.

  8. En Username (Nombre de usuario), escriba azureuser.

  9. En origen de clave pública SSH, deje el valor predeterminado de Generar nuevo par de claves.

  10. En nombre del par clave, escriba myKey.

  11. En puertos de entrada públicos, seleccione Permitir puertos seleccionados.

  12. En Seleccionar puertos de entrada, seleccione HTTP (80) y SSH (22).

  13. Deje los valores predeterminados restantes.

  14. En la pestaña Review + create (Revisar y crear), haga clic en Create (Crear).

  15. Haga clic en Descargar la clave privada y crear el recurso. El archivo de clave se descarga en la máquina de desarrollo local como myKey.pem. Anote dónde se descarga este archivo myKey.pem, ya que lo necesitará para iniciar sesión en la máquina virtual de Azure más adelante en este paso.

    Si pierde el archivo de claves, puede volver a la página de configuración de la máquina virtual de Azure más adelante para obtener un archivo de clave de reemplazo. Para volver a la página de configuración de la máquina virtual de Azure, en Buscar recursos, servicios y documentos busque y seleccione el nombre de la máquina virtual de Azure. Para obtener un archivo de clave de reemplazo de la página de configuración de la máquina virtual de Azure, haga lo siguiente:

    1. En la sección Ayuda del panel lateral, haga clic en Restablecer contraseña.
    2. Seleccione Agregar clave pública SSH.
    3. En nombre del par de claves, escriba un nombre único.
    4. Haga clic en Update(Actualizar).
    5. Haga clic en Descargar + crear. El archivo de clave se descarga con una extensión .pem. Anote dónde se descarga el archivo .pem, ya que lo necesitará para iniciar sesión en la máquina virtual de Azure más adelante en este paso.
  16. Una vez creada la máquina virtual de Azure, haga clic en Ir al recurso.

  17. Copie el valor del campo Dirección IP pública, ya que lo necesitará para iniciar sesión en la máquina virtual de Azure más adelante en este paso.

    Si olvida copiar este valor, puede volver a la página de información general de la máquina virtual de Azure más adelante para obtenerlo. Para volver a la página de información general de la máquina virtual de Azure, en Buscar recursos, servicios y documentos busque y seleccione el nombre de la máquina virtual de Azure. A continuación, en la página de configuración de la máquina virtual de Azure, haga clic en Información general en la barra lateral y busque el campo dirección IP pública.

  18. Si la máquina de desarrollo local ejecuta Linux, macOS o WSL en Windows, compruebe que tiene acceso de solo lectura a la clave privada que acaba de descargar. Para ello, ejecute el siguiente comando desde el terminal o el símbolo del sistema del equipo de desarrollo local. En este comando, reemplace los valores siguientes:

    • Reemplace </path/to> por la ruta de acceso al archivo .pem descargado.
    • Replacce myKey.pem por el nombre del archivo .pem descargado.
    chmod 400 </path/to>/myKey.pem
    
  19. Inicie sesión en la máquina virtual de Azure. Para ello, ejecute el siguiente comando desde el terminal o el símbolo del sistema del equipo de desarrollo local. En este comando, reemplace los valores siguientes:

    • Reemplace </path/to> por la ruta de acceso al archivo .pem descargado.
    • Replacce myKey.pem por el nombre del archivo .pem descargado.
    • Reemplace <public-ip-address> por el valor del campo Dirección IP pública que copió anteriormente en este paso.
    ssh -i </path/to>/myKey.pem azureuser@<public-ip-address>
    

    Por ejemplo:

    ssh -i ./myKey.pem azureuser@192.0.2.0
    
  20. Si nunca se ha conectado a esta máquina virtual de Azure, se le pedirá que compruebe la huella digital del host. Para ello, siga las instrucciones que aparecen en pantalla. Databricks recomienda validar siempre la huella digital del host.

  21. El terminal o símbolo del sistema cambia a azureuser@<your-azure-vm-name>:~$.

  22. Para salir de la máquina virtual de Azure en cualquier momento, ejecute el comando logout o exit. A continuación, el terminal o el símbolo del sistema vuelven a cambiar a la normalidad.

Paso 6: Asignación de la identidad administrada a la máquina virtual de Azure

En este paso, asociará la identidad administrada a la máquina virtual de Azure. Esto permite a Azure usar la identidad administrada para la autenticación según sea necesario mientras se ejecuta la máquina virtual de Azure. Consulte también Asignación de una identidad administrada asignada por el usuario a una máquina virtual existente.

  1. En la instancia de Azure Portal donde inició sesión en el paso 1, vaya a la página de configuración de la máquina virtual de Azure y, en la sección Configuración del panel lateral, haga clic en Identity.

    Si cerró anteriormente la página de información general de la máquina virtual de Azure, puede volver a ella en Buscar recursos, servicios y documentos. Una vez allí, busque y seleccione el nombre de la máquina virtual de Azure.

  2. En la pestaña Usuario asignado, haga clic en + Agregar.

  3. Seleccione la identidad administrada asignada por el usuario que creó en el paso 1 y haga clic en Agregar.

Paso 7: Instalación de la CLI de Databricks en la máquina virtual de Azure

En este paso, instalará la CLI de Databricks, con la que ejecutar comandos que automaticen las cuentas y áreas de trabajo de Azure Databricks.

Sugerencia

También puede usar el proveedor de Terraform de Databricks o el SDK de Databricks para Go junto con la autenticación de identidades administradas de Azure para automatizar las cuentas y áreas de trabajo de Azure Databricks mediante la ejecución de código en HCL o Go. Consulte SDK de Databricks para Go y Autenticación de identidades administradas de Azure.

  1. Con el terminal o el símbolo del sistema abierto y la sesión iniciada en la máquina virtual de Azure desde el paso 5, instale la CLI de Databricks mediante la ejecución de los dos comandos siguientes:

    sudo apt install unzip
    curl -fsSL https://raw.githubusercontent.com/databricks/setup-cli/main/install.sh | sudo sh
    
  2. Confirme que la CLI de Databricks está instalada mediante la ejecución del comando siguiente, que imprime la versión instalada de la CLI de Databricks:

    databricks -v
    

Paso 8: Configuración de la CLI de Databricks para la autenticación de identidades administradas de Azure

En este paso, configurará la CLI de Databricks para usar la autenticación de identidades administradas de Azure para Azure Databricks con la configuración de la identidad administrada. Para ello, cree un archivo con un nombre de archivo predeterminado en una ubicación predeterminada donde la CLI de Databricks espera encontrar la configuración de autenticación que necesita.

  1. Con el terminal o el símbolo del sistema abierto y la sesión iniciada en la máquina virtual de Azure desde el paso 5, use el editor de texto vi para crear y abrir un archivo denominado .databrickscfg y editarlo en el directorio principal del usuario que ha iniciado sesión. Para ello, ejecute el siguiente comando:

    vi ~/.databrickscfg
    
  2. Empiece a editar el archivo .databrickscfg presionando la combinación de teclas del editor Esc seguida de i. El símbolo del sistema desaparecerá, se iniciará el editor de vi y la palabra -- INSERT -- aparecerá en la parte inferior del editor para indicar que el archivo .databrickscfg está en modo de edición.

  3. Escriba el siguiente contenido. En este contenido, reemplace los valores siguientes:

    • Reemplace <account-console-url> por la dirección URL de la consola de la cuenta de Azure Databricks, como https://accounts.azuredatabricks.net.
    • Reemplace <account-id> por el identificador de cuenta de Azure Databricks. Consulta Localizar el identificador de la cuenta.
    • Reemplace <azure-managed-identity-application-id> por el valor de id. de cliente para la identidad administrada del paso 1.
    • Reemplace <workspace-url> por la dirección URL por área de trabajo; por ejemplo, https://adb-1234567890123456.7.azuredatabricks.net.
    • Reemplace <azure-workspace-resource-id> por el identificador de recurso de Azure del paso 4.
    • Si lo desea, puede reemplazar los nombres de perfil de configuración sugeridos AZURE_MI_ACCOUNT y AZURE_MI_WORKSPACE por nombres de perfil de configuración diferentes. Estos nombres específicos no son necesarios.

    Si no desea ejecutar operaciones de nivel de cuenta, puede omitir la sección [AZURE_MI_ACCOUNT] en el siguiente contenido.

    [AZURE_MI_ACCOUNT]
    host            = <account-console-url>
    account_id      = <account-id>
    azure_client_id = <azure-managed-identity-application-id>
    azure_use_msi   = true
    
    [AZURE_MI_WORKSPACE]
    host                        = <workspace-url>
    azure_workspace_resource_id = <azure-workspace-resource-id>
    azure_client_id             = <azure-managed-identity-application-id>
    azure_use_msi               = true
    
  4. Guarde las modificaciones en el archivo .databrickscfg. Para ello, presione la combinación de teclas del editor Esc, escriba :wq y presione Enter. El editor de vi se cerrará y volverá a aparecer el símbolo del sistema.

Paso 9: Ejecución de un comando de nivel de cuenta

En este paso, usará la CLI de Databricks para ejecutar un comando que automatice la cuenta de Azure Databricks que se configuró en el paso 8.

Si no desea ejecutar comandos de nivel de cuenta, vaya al paso 10.

Con el terminal o el símbolo del sistema abierto y la sesión iniciada en la máquina virtual de Azure desde el paso 5, ejecute el siguiente comando para enumerar todos los usuarios disponibles en la cuenta de Azure Databricks. Si cambió el nombre de AZURE_MI_ACCOUNT en el paso 8, asegúrese de reemplazarlo aquí.

databricks account users list -p AZURE_MI_ACCOUNT

Paso 10: Ejecución de un comando de nivel de área de trabajo

En este paso, usará la CLI de Databricks para ejecutar un comando que automatice el área de trabajo de Databricks que se configuró en el paso 8.

Con el terminal o el símbolo del sistema abierto y la sesión iniciada en la máquina virtual de Azure desde el paso 5, ejecute el siguiente comando para enumerar todos los usuarios disponibles en el área de trabajo de Databricks. Si cambió el nombre de AZURE_MI_WORKSPACE en el paso 8, asegúrese de reemplazarlo aquí.

databricks users list -p AZURE_MI_WORKSPACE

Paso 11: Limpieza

Este paso es opcional. Aquí se elimina la máquina virtual de Azure para ahorrar costos y también la identidad administrada si ya no quiere seguir usándola. En este paso también se quita la identidad administrada eliminada de la cuenta de Azure Databricks y el área de trabajo.

Eliminación de la máquina virtual de Azure

  1. Si el terminal o el símbolo del sistema siguen abiertos y la sesión iniciada en la máquina virtual de Azure desde el paso 5, salga de la máquina virtual de Azure con el comando logout o exit. A continuación, el terminal o el símbolo del sistema vuelven a cambiar a la normalidad.
  2. En la instancia de Azure Portal en la que inició sesión en el paso 1, vuelva a la página de información general de la máquina virtual de Azure si la cerró anteriormente. Para ello, en Buscar recursos, servicios y documentos, busque y seleccione el nombre de la máquina virtual de Azure.
  3. En la barra de menús de la página de información general de la máquina virtual de Azure, haga clic en Eliminar.
  4. Active la casilla He leído y comprendido y haga clic en Eliminar.

Eliminación de la identidad administrada de la suscripción de Azure

  1. En la instancia de Azure Portal en la que inició sesión en el paso 1, vuelva a la página de información general de la identidad administrada si la cerró anteriormente. Para ello, en Buscar recursos, servicios y documentos, busque y seleccione el nombre de la identidad administrada.
  2. En la barra de menús de la página de información general de la identidad administrada, haga clic en Eliminar.
  3. Active la casilla He leído y comprendido y haga clic en Eliminar.

Eliminación de la identidad administrada de la cuenta de Azure Databricks

  1. En la cuenta de Azure Databricks, en la barra lateral, haga clic en Administración de usuarios.
  2. Haga clic en la pestaña Entidades de servicio.
  3. Haga clic en el nombre de la entidad de servicio que agregó en el paso 2. Si el nombre de la entidad de servicio no está visible, use Filtrar entidades de servicio para encontrarlo.
  4. Haga clic en el botón de puntos suspensivos y, a continuación, haga clic en Eliminar.
  5. Haga clic en Confirmar eliminación.

Eliminación de la identidad administrada del área de trabajo de Databricks

  1. En el área de trabajo de Azure Databricks, haga clic en el nombre de usuario en la barra superior y haga clic en Configuración.
  2. Haga clic en la pestaña Entidades de servicio.
  3. Haga clic en el nombre de la entidad de servicio que agregó en el paso 3. Si el nombre de la entidad de servicio no está visible, use Filtrar entidades de servicio para encontrarlo.
  4. Haga clic en Eliminar.
  5. En el cuadro de diálogo de confirmación, haga clic en Eliminar.