Share via


Autenticación para la CLI de Databricks

Nota:

Esta información se aplica a las versiones 0.205 y posteriores de la CLI de Databricks, que se encuentran en Versión preliminar pública. Para encontrar su versión de la CLI de Databricks, ejecute databricks -v.

En este artículo se describe cómo configurar la autenticación entre la CLI de Databricks y las cuentas y áreas de trabajo de Azure Databricks. Consulte ¿Qué es la CLI de Databricks?.

En este artículo se supone que ya ha instalado la CLI de Databricks. Consulte Instalación o actualización de la CLI de Databricks.

Para poder ejecutar comandos de la CLI de Databricks, debe configurar la autenticación entre la CLI de Databricks y las cuentas de Azure Databricks, las áreas de trabajo o una combinación de estos, en función de los tipos de comandos de la CLI que quiera ejecutar.

Debe autenticar la CLI de Databricks en los recursos pertinentes en tiempo de ejecución para ejecutar comandos de automatización de Azure Databricks dentro de una cuenta o área de trabajo de Azure Databricks. En función de si desea llamar a comandos de nivel de área de trabajo de Azure Databricks, comandos de nivel de cuenta de Azure Databricks, o ambos, debe autenticarse en el área de trabajo, la cuenta o ambos de Azure Databricks. Para obtener una lista de los grupos de comandos de la CLI de nivel de área de trabajo y de nivel de cuenta de Azure Databricks, ejecute el comando databricks -h. Para obtener una lista de las operaciones de api REST de nivel de área de trabajo y de nivel de cuenta de Azure Databricks que cubren los comandos de la CLI de Databricks, consulte la API REST de Databricks.

Nota:

El SDK de Databricks para Go implementa el estándar de autenticación unificada del cliente de Databricks, un enfoque arquitectónico y programático consolidado y coherente para la autenticación. Este enfoque ayuda a configurar y automatizar la autenticación con Azure Databricks de manera más centralizada y predecible. Permite configurar la autenticación de Azure Databricks una vez y, a continuación, usar esa configuración en varias herramientas y SDK de Azure Databricks sin cambios adicionales en la configuración de autenticación. Para más información sobre este estándar, consulte Autenticación unificada del cliente de Databricks.

En las secciones siguientes se proporciona información sobre cómo configurar la autenticación entre la CLI de Databricks y Azure Databricks:

Autenticación de token de acceso personal de Azure Databricks

La autenticación con token de acceso personal usa un token de acceso personal de Azure Databricks para autenticar la entidad de Azure Databricks de destino, como una cuenta de usuario de Azure Databricks o una entidad de servicio de Azure que actúa como entidad de servicio de Azure Databricks. Consulta Autenticación de token de acceso personal de Azure Databricks.

Nota:

No puede usar la autenticación de token de acceso personal de Azure Databricks para autenticarse con una cuenta de Azure Databricks, ya que los comandos de nivel de cuenta de Azure Databricks no usan tokens de acceso personal de Azure Databricks para la autenticación. Para autenticarse con una cuenta de Azure Databricks, considere la posibilidad de usar uno de los siguientes tipos de autenticación en su lugar:

Para crear un token de acceso personal, haga lo siguiente:

  1. En el área de trabajo de Azure Databricks, haga clic en el nombre de usuario de Azure Databricks de la barra superior y, a continuación, seleccione Configuración en la lista desplegable.
  2. Haga clic en Desarrollador.
  3. Junto a Tokens de acceso, haga clic en Administrar.
  4. Haga clic en Generate new token (Generar nuevo token).
  5. (Opcional) Escriba un comentario que le ayude a identificar este token en el futuro y cambie la duración predeterminada del token de 90 días. Para crear un token sin duración (no recomendado), deje el cuadro Duración (días) vacío (en blanco).
  6. Haga clic en Generar.
  7. Copie el token mostrado en una ubicación segura y, a continuación, haga clic en Listo.

Nota:

Asegúrese de guardar el token copiado en una ubicación segura. No comparta el token copiado con otros usuarios. Si pierde el token copiado, no podrá volver a generar ese mismo token. Debe repetir el procedimiento para crear un nuevo token. Si pierde el token copiado o cree que el token se ha visto comprometido, Databricks recomienda eliminar inmediatamente ese token del área de trabajo haciendo clic en el icono de papelera (Revocar) situado junto al token en la página Tokens de acceso.

Si no puede crear o usar tokens en el área de trabajo, puede deberse a que el administrador del área de trabajo tiene tokens deshabilitados o no le ha concedido permiso para crear o usar tokens. Consulte el administrador del área de trabajo o lo siguiente:

Para configurar y usar la autenticación de token de acceso personal de Azure Databricks, haga lo siguiente:

Nota:

El siguiente procedimiento crea un perfil de configuración de Azure Databricks con el nombre DEFAULT. Si ya tiene un perfil de configuración DEFAULT que desea usar, omita este procedimiento. De lo contrario, este procedimiento sobrescribe el perfil de configuración DEFAULT existente. Para ver los nombres y hosts de los perfiles de configuración existentes, ejecute el comando databricks auth profiles.

Para crear un perfil de configuración con un nombre distinto DEFAULTde , agregue --profile <configuration-profile-name> o -p <configuration-profile-name> al final del comando siguiente databricks configure , reemplazando <configuration-profile-name> por el nombre del nuevo perfil de configuración.

  1. Use la CLI de Databricks para ejecutar el siguiente comando:

    databricks configure
    
  2. En la solicitud Host de Databricks, escriba la dirección URL por área de trabajo de Azure Databricks, por ejemplo, https://adb-1234567890123456.7.azuredatabricks.net.

  3. En el símbolo del sistema de token de accesopersonal, escriba el token de acceso personal de Azure Databricks para el área de trabajo.

    Después de escribir el token de acceso personal de Azure Databricks, se agrega un perfil de configuración correspondiente al .databrickscfg archivo. Si la CLI de Databricks no encuentra este archivo en su ubicación predeterminada, primero crea este archivo y, a continuación, agrega este perfil de configuración al nuevo archivo. De forma predeterminada, la CLI de Databricks busca este archivo en la carpeta ~ (su inicio de usuario) en Unix, Linux o macOS, o en la carpeta %USERPROFILE% (inicio del usuario) en Windows.

  4. Ahora puede usar las opciones o -p de --profile la CLI de Databricks seguidas del nombre del perfil de configuración, como parte de la llamada de comando de la CLI de Databricks, por ejemplo databricks clusters list -p <configuration-profile-name>.

Autenticación de máquina a máquina (M2M) de OAuth

En lugar de autenticarse con Azure Databricks usando la autenticación de token de acceso personal de Azure Databricks, puede usar la autenticación de OAuth. OAuth proporciona tokens con tiempos de expiración más rápidos que los tokens de acceso personal de Azure Databricks y ofrece una mejor invalidación y ámbito de sesión del lado servidor. Dado que los tokens de acceso de OAuth expiran en menos de una hora, esto reduce el riesgo asociado a la comprobación accidental de tokens en el control de código fuente. Consulte también Autenticación de máquina a máquina (M2M) de OAuth.

Para configurar y usar la autenticación M2M de OAuth, haga lo siguiente:

  1. Complete las instrucciones de configuración de autenticación M2M de OAuth. Vea autenticación de máquina a máquina (M2M) de OAuth

  2. Cree o identifique un perfil de configuración de Azure Databricks con los campos siguientes en el archivo .databrickscfg. Si crea el perfil, reemplace los marcadores de posición por los valores adecuados.

    Para las operaciones de nivel de cuenta, establezca los siguientes valores en el archivo .databrickscfg:

    [<some-unique-configuration-profile-name>]
    host          = <account-console-url>
    account_id    = <account-id>
    client_id     = <service-principal-client-id>
    client_secret = <service-principal-oauth-secret>
    

    Para los comandos a nivel de área de trabajo, establece los siguientes valores en el archivo .databrickscfg:

    [<some-unique-configuration-profile-name>]
    host          = <workspace-url>
    client_id     = <service-principal-client-id>
    client_secret = <service-principal-oauth-secret>
    

    Nota:

    La ubicación predeterminada del archivo .databrickscfg está en el directorio principal del usuario’. Esto es ~ para Linux y macOS y %USERPROFILE% para Windows.

  3. Use la opción --profile o -p de la CLI de Databricks seguida del nombre del perfil de configuración como parte de la llamada de comando de la CLI de Databricks, por ejemplo, databricks account groups list -p <configuration-profile-name> o databricks clusters list -p <configuration-profile-name>.

    Sugerencia

    Presione Tab después de --profile o -p para mostrar una lista de los perfiles de configuración disponibles existentes entre los que elegir, en lugar de escribir manualmente el nombre del perfil de configuración.

Autenticación de usuario a máquina (U2M) de OAuth

En lugar de autenticarse con Azure Databricks mediante la autenticación de tokens, puede usar la autenticación de OAuth. OAuth proporciona tokens con tiempos de expiración más rápidos que los tokens de acceso personal de Azure Databricks y ofrece una mejor invalidación y ámbito de sesión del lado servidor. Dado que los tokens de acceso de OAuth expiran en menos de una hora, esto reduce el riesgo asociado a la comprobación accidental de tokens en el control de código fuente. Consulte tambiénAutenticación OAuth de usuario a máquina (U2M).

Para configurar y usar la autenticación U2M de OAuth, haga lo siguiente:

  1. Antes de llamar a los comandos de nivel de cuenta de Azure Databricks, debe iniciar la administración de tokens de OAuth localmente mediante la ejecución del comando siguiente. Este comando debe ejecutarse por separado para cada cuenta en la que quiera ejecutar comandos. Si no desea llamar a ninguna operación de nivel de cuenta, vaya al paso 5.

    En el siguiente comando, reemplace los siguientes marcadores de posición:

    databricks auth login --host <account-console-url> --account-id <account-id>
    
  2. La CLI de Databricks le pide que guarde localmente la dirección URL de la consola de la cuenta y el identificador de cuenta como un perfil de configuración de Azure Databricks. Presione Enter para aceptar el nombre del perfil sugerido o escriba el nombre de un perfil nuevo o existente. Cualquier perfil existente con el mismo nombre se sobrescribe con esta dirección URL de la consola de cuenta y el identificador de cuenta.

    Para obtener una lista de los perfiles existentes, en un terminal o símbolo del sistema independiente, ejecute el comando databricks auth profiles. Para ver la configuración existente de un perfil específico, ejecute el comando databricks auth env --profile <profile-name>.

  3. En el explorador web, complete las instrucciones en pantalla para iniciar sesión en la cuenta de Azure Databricks.

  4. Para ver el valor actual del token de OAuth y la próxima marca de tiempo de expiración, ejecute el comando databricks auth token --host <account-console-url> --account-id <account-id>.

  5. Antes de llamar a los comandos de nivel de área de trabajo de Azure Databricks, debe iniciar la administración de tokens de OAuth localmente mediante la ejecución del comando siguiente. Este comando debe ejecutarse por separado para cada área de trabajo en la que quiera ejecutar comandos.

    En el comando siguiente, reemplace <workspace-url> por la dirección URL de Azure Databricks por área de trabajo, por ejemplo, https://adb-1234567890123456.7.azuredatabricks.net.

    databricks auth login --host <workspace-url>
    
  6. La CLI de Databricks le pide que guarde la dirección URL del área de trabajo localmente como un perfil de configuración de Azure Databricks. Presione Enter para aceptar el nombre del perfil sugerido o escriba el nombre de un perfil nuevo o existente. Cualquier perfil existente con el mismo nombre se sobrescribe con esta dirección URL del área de trabajo.

    Para obtener una lista de los perfiles existentes, en un terminal o símbolo del sistema independiente, ejecute el comando databricks auth profiles. Para ver la configuración existente de un perfil específico, ejecute el comando databricks auth env --profile <profile-name>.

  7. En el explorador web, complete las instrucciones en pantalla para iniciar sesión en el área de trabajo de Azure Databricks.

  8. Para ver el valor actual del token de OAuth y la próxima marca de tiempo de expiración, ejecute el comando databricks auth token --host <workspace-url>.

  9. Use la opción o --profile la -p CLI de Databricks seguida del nombre del perfil de configuración, como parte de la llamada de comando de la CLI de Databricks, por ejemplodatabricks account groups list -p <configuration-profile-name> o databricks clusters list -p <configuration-profile-name>.

    Sugerencia

    Puede presionar Tab después de --profile o -p para mostrar una lista de perfiles de configuración disponibles entre los que elegir, en lugar de escribir manualmente el nombre del perfil de configuración.

Autenticación de identidades administradas de Azure

La autenticación de identidades administradas de Azure usa identidades administradas para recursos de Azure (anteriormente Managed Service Identities (MSI)) para la autenticación. Consulte ¿Qué son las identidades administradas de recursos de Azure? Consulte Autenticación de identidades administradas de Azure.

Para crear una identidad administrada asignada por el usuario de Azure, haga lo siguiente:

  1. Cree o identifique una máquina virtual de Azure e instale la CLI de Databricks en ella y, a continuación, asigne la identidad administrada a la máquina virtual de Azure y las cuentas de Azure Databricks, las áreas de trabajo o ambas. Consulte Configuración y uso de la autenticación de identidades administradas de Azure para la automatización de Azure Databricks.

  2. En la máquina virtual de Azure, cree o identifique un perfil de configuración de Azure Databricks con los campos siguientes en el archivo .databrickscfg. Si crea el perfil, reemplace los marcadores de posición por los valores adecuados.

    Para las operaciones de nivel de cuenta, establezca los siguientes valores en el archivo .databrickscfg:

    [<some-unique-configuration-profile-name>]
    host            = <account-console-url>
    account_id      = <account-id>
    azure_client_id = <azure-managed-identity-application-id>
    azure_use_msi   = true
    

    Para los comandos a nivel de área de trabajo, establece los siguientes valores en el archivo .databrickscfg:

    [<some-unique-configuration-profile-name>]
    host            = <workspace-url>
    azure_client_id = <azure-managed-identity-application-id>
    azure_use_msi   = true
    

    Para comandos de nivel de área de trabajo, si la identidad de destino aún no se ha agregado al área de trabajo, especifique azure_workspace_resource_id junto con el identificador de recurso de Azure, en lugar de host junto con la dirección URL del área de trabajo. En este caso, la identidad de destino debe tener al menos permisos de Colaborador o Propietario en el recurso Azure.

    Nota:

    La ubicación predeterminada del archivo .databrickscfg está en el directorio principal del usuario’. Esto es ~ para Linux y macOS y %USERPROFILE% para Windows.

  3. En la máquina virtual de Azure, use la opción --profile o -p de la CLI de Databricks seguida del nombre del perfil de configuración para establecer el perfil para que Databricks use, por ejemplo, databricks account groups list -p <configuration-profile-name> o databricks clusters list -p <configuration-profile-name>.

    Sugerencia

    Puede presionar Tab después de --profile o -p para mostrar una lista de perfiles de configuración disponibles entre los que elegir, en lugar de escribir manualmente el nombre del perfil de configuración.

Autenticación de entidad de servicio de Microsoft Entra ID

La autenticación de la entidad de servicio de Microsoft Entra ID usa las credenciales de una entidad de servicio de Azure para la autenticación. Para crear y administrar entidades de servicio para Azure Databricks, vea Administración de entidades de servicio. Consulte también Autenticación de la entidad de servicio de Microsoft Entra ID.

Para configurar y usar la autenticación de entidad de servicio de Microsoft Entra ID, debe tener la CLI de Azure instalada localmente. También debe hacer lo siguiente:

  1. Cree o identifique un perfil de configuración de Azure Databricks con los campos siguientes en el archivo .databrickscfg. Si crea el perfil, reemplace los marcadores de posición por los valores adecuados.

    Para las operaciones de nivel de cuenta, establezca los siguientes valores en el archivo .databrickscfg:

    [<some-unique-configuration-profile-name>]
    host                = <account-console-url>
    account_id          = <account-id>
    azure_tenant_id     = <azure-service-principal-tenant-id>
    azure_client_id     = <azure-service-principal-application-id>
    azure_client_secret = <azure-service-principal-client-secret>
    

    Para los comandos a nivel de área de trabajo, establece los siguientes valores en el archivo .databrickscfg:

    [<some-unique-configuration-profile-name>]
    host                = <workspace-url>
    azure_tenant_id     = <azure-service-principal-tenant-id>
    azure_client_id     = <azure-service-principal-application-id>
    azure_client_secret = <azure-service-principal-client-secret>
    

    En el caso de las operaciones de nivel de área de trabajo, si la entidad de servicio de Microsoft Entra ID aún no se ha agregado al área de trabajo, especifique azure_workspace_resource_id junto con el id. de recurso del área de trabajo de Azure, en lugar de host junto con la dirección URL del área de trabajo. En este caso, la entidad de servicio de Microsoft Entra ID de destino debe tener al menos permisos de colaborador o propietario en el recurso de Azure.

    Nota:

    La ubicación predeterminada del archivo .databrickscfg está en el directorio principal del usuario’. Esto es ~ para Linux y macOS y %USERPROFILE% para Windows.

  2. Use la opción o --profile la -p CLI de Databricks seguida del nombre del perfil de configuración, como parte de la llamada de comando de la CLI de Databricks, por ejemplodatabricks account groups list -p <configuration-profile-name> o databricks clusters list -p <configuration-profile-name>.

    Sugerencia

    Puede presionar Tab después de --profile o -p para mostrar una lista de perfiles de configuración disponibles entre los que elegir, en lugar de escribir manualmente el nombre del perfil de configuración.

Autenticación de la CLI de Azure

La autenticación de la CLI de Azure usa la CLI de Azure para autenticar la entidad que ha iniciado sesión. Ver también Autenticación de Interfaz de la línea de comandos de Azure.

Para configurar la autenticación de la CLI de Azure, debe hacer lo siguiente:

  1. Tener la CLI de Azure instalada localmente.

  2. Usar la CLI de Azure para iniciar sesión en Azure Databricks mediante la ejecución del comando az login. Consulte Inicio de sesión de la CLI de Azure con una cuenta de usuario de Azure Databricks.

  3. Cree o identifique un perfil de configuración de Azure Databricks con los campos siguientes en el archivo .databrickscfg. Si crea el perfil, reemplace los marcadores de posición por los valores adecuados.

    Para las operaciones de nivel de cuenta, establezca los siguientes valores en el archivo .databrickscfg:

    [<some-unique-configuration-profile-name>]
    host       = <account-console-url>
    account_id = <account-id>
    

    Para los comandos a nivel de área de trabajo, establece los siguientes valores en el archivo .databrickscfg:

    [<some-unique-configuration-profile-name>]
    host = <workspace-url>
    

    Nota:

    La ubicación predeterminada del archivo .databrickscfg está en el directorio principal del usuario’. Esto es ~ para Linux y macOS y %USERPROFILE% para Windows.

  4. Use la opción o --profile la -p CLI de Databricks seguida del nombre del perfil de configuración, como parte de la llamada de comando de la CLI de Databricks, por ejemplodatabricks account groups list -p <configuration-profile-name> o databricks clusters list -p <configuration-profile-name>.

    Sugerencia

    Puede presionar Tab después de --profile o -p para mostrar una lista de perfiles de configuración disponibles entre los que elegir, en lugar de escribir manualmente el nombre del perfil de configuración.

Orden de autenticación de evaluación

Siempre que la CLI de Databricks necesite recopilar la configuración necesaria para intentar autenticarse con un área de trabajo o una cuenta de Azure Databricks, busca esta configuración en las siguientes ubicaciones, en el orden siguiente.

  1. Para los comandos de agrupación, los valores de los campos dentro de los archivos de configuración de agrupación de un proyecto. (Los archivos de configuración de agrupación no admiten la inclusión directa de los valores de credenciales de acceso).
  2. Los valores de las variables de entorno, tal y como se enumeran en este artículo y en Variables de entorno y campos para la autenticación unificada del cliente.
  3. Valores de campo de perfil de configuración dentro del .databrickscfg archivo, como se incluyó anteriormente en este artículo.

Cada vez que la CLI de Databricks encuentra la configuración necesaria que necesita, deja de buscar en otras ubicaciones. Por ejemplo:

  • La CLI de Databricks necesita el valor de un token de acceso personal de Azure Databricks. Se establece una DATABRICKS_TOKEN variable de entorno y el .databrickscfg archivo también contiene varios tokens de acceso personal. En este ejemplo, la CLI de Databricks usa el valor de la DATABRICKS_TOKEN variable de entorno y no busca el .databrickscfg archivo.
  • El comando databricks bundle deploy -e development necesita el valor de un token de acceso personal Azure Databricks. Se establece una DATABRICKS_TOKEN variable de entorno y el .databrickscfg archivo también contiene varios tokens de acceso personal. El archivo de configuración de agrupación del proyecto contiene una development declaración de entorno que hace referencia a través de su profile campo un perfil de configuración denominado DEV. En este ejemplo, la CLI de Databricks busca en el .databrickscfg archivo un perfil denominado DEV y usa el valor del campo de token ese perfil.
  • El comando databricks bundle run -e development hello-job necesita el valor de un token de acceso personal Azure Databricks. Se establece una DATABRICKS_TOKEN variable de entorno y el .databrickscfg archivo también contiene varios tokens de acceso personal. El archivo de configuración del paquete del proyecto contiene una developmentdeclaración de entorno que hace referencia a través de su campo host a una URL específica del área de trabajo de Azure Databricks. En este ejemplo, la CLI de Databricks busca en los perfiles de configuración del .databrickscfg archivo un perfil que contiene un host campo con una dirección URL del área de trabajo coincidente. La CLI de Databricks busca un campo coincidente host y, a continuación, usa el valor del campo del token perfil.