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. La CLI de Databricks está en versión preliminar pública.
El uso de la CLI de Databricks está sujeto a la licencia de Databricks y al aviso de privacidad de Databricks, incluidas las disposiciones de datos de uso.
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.
Para obtener información específicamente sobre la autenticación de Microsoft Entra en Databricks con Azure DevOps, consulte Autenticación con Azure DevOps en 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
- autenticación de máquina a máquina (M2M) de OAuth
- Autenticación de usuario a máquina (U2M) de OAuth
- Autenticación de identidades administradas de Azure
- Autenticación de entidad de servicio de Microsoft Entra ID
- Autenticación de la CLI de Azure
- Orden de autenticación de evaluación
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:
- 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.
- Haga clic en Desarrollador.
- Junto a Tokens de acceso, haga clic en Administrar.
- Haga clic en Generate new token (Generar nuevo token).
- (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).
- Haga clic en Generar.
- 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 los siguientes temas:
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 DEFAULT
de , 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.
Use la CLI de Databricks para ejecutar el siguiente comando:
databricks configure
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
.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.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 ejemplodatabricks 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 del acceso a Azure Databricks con una entidad de servicio mediante OAuth (OAuth M2M).
Para configurar y usar la autenticación M2M de OAuth, haga lo siguiente:
Complete las instrucciones de configuración de autenticación M2M de OAuth. Consulte Autenticación del acceso a Azure Databricks con una entidad de servicio mediante OAuth (OAuth M2M)
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.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>
odatabricks 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én Autenticación del acceso a Azure Databricks con una cuenta de usuario mediante OAuth (OAuth M2M).
Para configurar y usar la autenticación U2M de OAuth, haga lo siguiente:
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:
- Reemplace
<account-console-url>
por Azure Databricks https://accounts.azuredatabricks.net. - Reemplace
<account-id>
por el identificador de cuenta de Azure Databricks. Consulta Localizar el identificador de la cuenta.
databricks auth login --host <account-console-url> --account-id <account-id>
- Reemplace
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 comandodatabricks auth env --profile <profile-name>
.En el explorador web, complete las instrucciones en pantalla para iniciar sesión en la cuenta de Azure Databricks.
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>
.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>
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 comandodatabricks auth env --profile <profile-name>
.En el explorador web, complete las instrucciones en pantalla para iniciar sesión en el área de trabajo de Azure Databricks.
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>
.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>
odatabricks 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:
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.
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 dehost
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.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>
odatabricks 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 MS Entra.
Para configurar y usar la autenticación de entidad de servicio de Microsoft Entra ID, debe tener la autenticación de la CLI de Azure instalada localmente. También debe hacer lo siguiente:
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 dehost
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.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>
odatabricks 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:
Tener la CLI de Azure instalada localmente.
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.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.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>
odatabricks 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.
- En cualquier comando ejecutado desde el directorio de trabajo del paquete (la raíz del paquete y cualquier ruta de acceso anidada), los valores de los campos dentro de los archivos de configuración del paquete de un proyecto. (Los archivos de configuración de agrupación no admiten la inclusión directa de los valores de credenciales de acceso).
- 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.
- 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 laDATABRICKS_TOKEN
variable de entorno y no busca el.databrickscfg
archivo. - El comando
databricks bundle deploy -t dev
necesita el valor de un token de acceso personal Azure Databricks. Se establece unaDATABRICKS_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 unadev
declaración de entorno que hace referencia a través de suprofile
campo un perfil de configuración denominadoDEV
. En este ejemplo, la CLI de Databricks busca en el.databrickscfg
archivo un perfil denominadoDEV
y usa el valor del campo detoken
ese perfil. - El comando
databricks bundle run -t dev hello-job
necesita el valor de un token de acceso personal Azure Databricks. Se establece unaDATABRICKS_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 unadev
declaración de entorno que hace referencia a través de su campohost
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 unhost
campo con una dirección URL del área de trabajo coincidente. La CLI de Databricks busca un campo coincidentehost
y, a continuación, usa el valor del campo deltoken
perfil.