Compartir a través de


Autorización del acceso a los recursos de Azure Databricks

En este tema se describen los enfoques básicos para realizar llamadas protegidas a la CLI de Azure Databricks o a la API REST mediante credenciales de cuenta de Azure Databricks, como cuentas de usuario o entidades de servicio.

Autorización para la CLI y las API de Azure Databricks

Para acceder a un recurso de Azure Databricks con la CLI de Databricks o las API REST, los clientes deben autorizar mediante una cuenta de Azure Databricks. Esta cuenta debe tener permisos para acceder al recurso, que puede configurar el administrador de Azure Databricks o una cuenta de usuario con privilegios de administrador.

Hay dos tipos de cuentas que puede usar, en función de cómo tenga previsto acceder a los recursos de Azure Databricks:

  • cuenta de usuario: Use esto para escribir interactivamente comandos de la CLI de Azure Databricks o llamadas a la API REST.
  • Principal de servicio: Utilice esto para automatizar los comandos de la CLI de Azure Databricks o las llamadas a la API REST sin interacción humana.

Una vez que haya decidido el tipo de cuenta de Azure Databricks, debe adquirir un token de acceso que represente las credenciales de la cuenta. Tendrás que proporcionar este token de acceso cuando accedas a los recursos de la cuenta en tus scripts o código, o en sesiones interactivas.

  • Si usa Azure Databricks, también puede usar una entidad de servicio de MS Entra para autorizar el acceso a su cuenta o área de trabajo de Azure Databricks. Sin embargo, Databricks recomienda que utilice un principal de servicio Databricks con nuestra autorización OAuth proporcionada en lugar de la autorización principal de servicio MS Entra. Esto se debe a que la autorización de Databricks usa tokens de acceso de OAuth que son más sólidos al autorizar solo con Azure Databricks.

Para obtener más información sobre el uso de una entidad de seguridad de servicio de MS Entra para acceder a los recursos de Databricks, consulte Autenticación de entidades de seguridad de servicio de MS Entra.

Adquirir un token de acceso

Las credenciales de la cuenta se representan mediante un token de acceso seguro, que proporciona directa o indirectamente al comando de la CLI o a la llamada API.

Para ejecutar de forma segura un comando o una solicitud de API de la CLI de Databricks que requiera acceso autorizado a una cuenta o área de trabajo, debe proporcionar un token de acceso basado en credenciales de cuenta de Azure Databricks válidas.

En la tabla siguiente se muestran los métodos de autorización disponibles para la cuenta de Azure Databricks.

Métodos de Autorización de Azure Databricks

Dado que las herramientas y LOS SDK de Azure Databricks funcionan con uno o varios métodos de autorización de Azure Databricks compatibles, puede seleccionar el mejor método de autorización para su caso de uso. Para obtener más información, consulte la documentación de la herramienta o el SDK en Herramientas de desarrollo local.

Los usuarios de Azure Databricks pueden requerir acceso a recursos específicos de Azure que no se administran directamente en la cuenta de Databricks. Los métodos para acceder a esos recursos también se incluyen en esta tabla. Para el acceso a recursos de Azure, use una identidad de servicio administrada (MSI) de Azure o un identificador de MS Entra (en función de su escenario) y no las credenciales de la cuenta de Azure Databricks.

Método Descripción Casos de uso
OAuth de Databricks para entidades de servicio Tokens OAuth de corta duración para las entidades de servicios. Escenarios de autorización desatendida, como flujos de trabajo totalmente automatizados y de CI/CD.
Databricks OAuth para usuarios Tokens OAuth de corta duración para usuarios. Escenarios de autorización asistida, en los que utiliza su navegador web u otro método interactivo para autorizarse con Databricks, cuando se le solicite.
Tokens de acceso personal (PAT) de Databricks Tokens de corta o larga duración para usuarios o titulares de servicios. Use esto solo en los casos en los que la herramienta de destino no admita OAuth.
Autorización de identidades de servicio administradas de Azure Tokens de Microsoft Entra ID para identidades administradas por Azure. Utilícelo únicamente con recursos de Azure que admitan identidades administradas, como las Azure Virtual Machines.
Autorización de entidad de servicio de Microsoft Entra ID Tokens de Microsoft Entra ID para las entidades de servicio Microsoft Entra ID. Úselo solo con recursos de Azure que admitan tokens de Microsoft Entra ID y no admitan identidades administradas, como Azure DevOps.
Autorización de la CLI de Azure Tokens de Microsoft Entra ID para usuarios o entidades de servicios de Microsoft Entra ID. Use para autorizar el acceso a recursos de Azure y Azure Databricks mediante la CLI de Azure.
Autorización de usuario de Microsoft Entra ID Tokens de Microsoft Entra para usuarios. Utilice solo con recursos de Azure que solo admitan tokens de Microsoft Entra ID. Databricks no recomienda crear de forma manual tokens de Microsoft Entra ID para los usuarios de Azure Databricks.

¿Qué opción de autorización debo elegir?

Azure Databricks proporciona 2 opciones para la autorización o autenticación con un token de acceso:

  • Tokens de acceso basados en OAuth 2.0.
  • Tokens de acceso personal (PAT).

Nota

Azure Databricks recomienda encarecidamente usar OAuth sobre PAT para la autorización, ya que los tokens de OAuth se actualizan automáticamente de forma predeterminada y no requieren la administración directa del token de acceso, lo que mejora la seguridad contra el secuestro de tokens y el acceso no deseado.

Dado que OAuth crea y administra el token de acceso automáticamente, proporciona una dirección URL de punto de conexión de token de OAuth, un identificador de cliente y un secreto que genera desde el área de trabajo de Azure Databricks en lugar de proporcionar directamente una cadena de token. Elija PAT solo cuando integre una herramienta o servicio de terceros que no sea compatible con la autenticación unificada de cliente de Azure Databricks o no tenga compatibilidad con OAuth.

¿Cómo uso OAuth para autorizar el acceso a los recursos de Azure Databricks?

Azure Databricks proporciona autenticación de cliente unificada para ayudarle con la autorización mediante el uso de un conjunto predeterminado de variables de entorno que puede establecer en valores de credenciales específicos. Esto le ayuda a trabajar de forma más fácil y segura, ya que estas variables de entorno son específicas del entorno que ejecutará los comandos CLI de Azure Databricks o llamará a las API de Azure Databricks.

  • Para la autorización de cuentas de usuario, la parte de autenticación de Azure Databricks OAuth -la creación y administración de tokens de acceso- es controlada por usted con la autenticación unificada de cliente Databricks, siempre y cuando las herramientas y SDK implementen su estándar. Si no lo hacen, puede generar de forma manual un verificador de código OAuth y un par de desafíos para utilizarlos directamente en sus comandos CLI y solicitudes API de Azure Databricks. Consulte Paso 1: generar un verificador de código OAuth y un par de desafío de código.
  • Para la autorización del principal de servicio, OAuth de Azure Databricks requiere que el solicitante proporcione las credenciales del cliente junto con una dirección URL del punto de conexión de token donde se pueda verificar la autorización de la solicitud. (Esto es controlado por usted si utiliza las herramientas y SDK de Azure Databricks que son compatibles con la autenticación de cliente unificada de Databricks). Las credenciales incluyen un id. de cliente y un secreto de cliente. El cliente, que es el servicio principal de Databricks que ejecutará su código, debe asignarse a las áreas de trabajo de Databricks. Una vez que haya asignado la entidad de seguridad del servicio a las áreas de trabajo a las que accederá, se le será proporcionado un id. de cliente y un secreto de cliente que configurará con variables de entorno específicas.

Estas variables de entorno son:

Variable de entorno Descripción
DATABRICKS_HOST Esta variable de entorno se establece en la dirección URL de la consola de la cuenta de Azure Databricks (http://accounts.cloud.databricks.com) o la dirección URL del área de trabajo de Azure Databricks (https://{workspace-id}.cloud.databricks.com). Elija un tipo de URL de host en función del tipo de operaciones que vaya a realizar en su código. Específicamente, si utiliza comandos CLI a nivel de cuenta de Azure Databricks o solicitudes de API REST, establezca esta variable en la URL de su cuenta de Azure Databricks. Si utiliza comandos CLI a nivel de área de trabajo de Azure Databricks o solicitudes de API REST, utilice la URL de su área de trabajo de Azure Databricks.
DATABRICKS_ACCOUNT_ID Se usa para las operaciones de cuenta de Azure Databricks. Este es el id. de su cuenta Azure Databricks. Para obtenerlo, consulte Localizar el id. de su cuenta.
DATABRICKS_CLIENT_ID (Solo OAuth de entidades de servicio) El id. de cliente que se le asignó al crear su entidad de seguridad principal.
DATABRICKS_CLIENT_SECRET (Solo OAuth de entidad de servicio) El secreto de cliente que generó al crear su principal de servicio.

Puede establecerlos directamente o mediante el uso de un perfil de configuración de Databricks (.databrickscfg) en su máquina cliente.

Para utilizar un token de acceso OAuth, el administrador del área de trabajo o de la cuenta de Azure Databricks debe haber concedido a su cuenta de usuario o al director del servicio el privilegio CAN USE para las características de la cuenta y del área de trabajo a las que accederá su código.

Para obtener más detalles sobre la configuración de la autorización OAuth para su cliente y para revisar las opciones de autorización específicas del proveedor de la nube, consulte Autenticación unificada del cliente.

Autenticación para servicios y herramientas de terceros

Si está escribiendo código que accede a servicios, herramientas o SDK de terceros, debe utilizar los mecanismos de autenticación y autorización proporcionados por el tercero. Sin embargo, si debe conceder a una herramienta, SDK o servicio de terceros acceso a su cuenta de Azure Databricks o a los recursos de su área de trabajo, Databricks proporciona la siguiente asistencia:

Perfiles de configuración de Azure Databricks

Un perfil de configuración de Azure Databricks contiene la configuración y otra información que Azure Databricks necesita para autorizar el acceso. Los perfiles de configuración de Azure Databricks se almacenan en archivos de cliente locales para que los utilicen sus herramientas, SDK, scripts y aplicaciones. El archivo de perfil de configuración estándar se denomina .databrickscfg.

Para obtener más información, consulte Perfiles de configuración de Azure Databricks.