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.

  1. 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 usar un principal de servicio de Databricks con nuestra autorización de OAuth proporcionada en lugar de la autorización de principal de servicio de 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 servicio de MS Entra para acceder a los recursos de Databricks, consulte Autenticación de entidad de servicio de MS Entra.

Adquisición de 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.

Method Descripción Caso de uso
OAuth de Databricks para entidades de servicio Tokens de OAuth de corta duración para entidades de servicio. Escenarios de autorización desatendida, como flujos de trabajo totalmente automatizados y de CI/CD.
OAuth de Databricks para usuarios Tokens de OAuth de corta duración para los usuarios. Asistió a escenarios de autorización, donde se usa el explorador web u otro método interactivo para autorizar con Databricks, cuando se le solicite.
tokens de acceso personal (PAT) de Databricks Tokens de corta o larga duración para usuarios o entidades de servicio. 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 de Azure. Uso solo con recursos de Azure que admitan identidades administradas, como las máquinas virtuales de Azure.
Autorización de entidad de servicio de Microsoft Entra ID Tokens de Microsoft Entra ID para entidades de servicio de Microsoft Entra ID. Uso únicamente con recursos de Azure que admitan tokens de Microsoft Entra ID y no identidades administradas, como Azure DevOps.
Autorización de la CLI de Azure Tokens de Microsoft Entra ID para usuarios o entidades de servicio 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 ID para usuarios. Uso únicamente con recursos de Azure que solo admitan tokens de Microsoft Entra ID. Databricks no recomienda que cree tokens de Microsoft Entra ID para usuarios de Azure Databricks manualmente.

¿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 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 sencilla y segura, ya que estas variables de entorno son específicas del entorno que ejecutará los comandos de la CLI de Azure Databricks o llamará a las API de Azure Databricks.

  • Para la autorización de la cuenta de usuario, la parte de autenticación de Azure Databricks OAuth (la creación y administración de tokens de acceso) se controla por usted con autenticación unificada del cliente de Databricks, siempre y cuando las herramientas y los SDK implementen su estándar. Si no lo hacen, puede generar manualmente un par de desafío o verificador de código OAuth para usarlo directamente en los comandos de la CLI de Azure Databricks y las solicitudes de API. Consulte Paso 1: generar un par de desafío o verificador de código OAuth.
  • 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 se controla si usa herramientas y SDK de Azure Databricks que admiten la autenticación unificada de cliente de Databricks). Las credenciales incluyen un identificador de cliente único y un secreto de cliente. El cliente, que es la entidad de servicio de Databricks que ejecutará el código, se debe asignar a las áreas de trabajo de Databricks. Después de asignar la entidad de servicio a las áreas de trabajo a las que accederá, se le proporcionará un identificador de cliente y un secreto de cliente que establecerá 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 dirección URL de host en función del tipo de operaciones que va a realizar en el código. En concreto, si usa comandos de la CLI de nivel de cuenta de Azure Databricks o solicitudes de API de REST, establezca esta variable en la dirección URL de la cuenta de Azure Databricks. Si usa comandos de la CLI de nivel de área de trabajo de Azure Databricks o solicitudes de API de REST, use la dirección URL del área de trabajo de Azure Databricks.
DATABRICKS_ACCOUNT_ID Se usa para las operaciones de cuenta de Azure Databricks. Este es su identificador de cuenta de Azure Databricks. Para obtenerlo, consulte Localizar el identificador de la cuenta.
DATABRICKS_CLIENT_ID (Solo OAuth de entidad de servicio) El identificador de cliente que se le asignó al crear la entidad de servicio.
DATABRICKS_CLIENT_SECRET (Solo OAuth de entidad de servicio) Secreto de cliente que generó al crear la entidad de servicio.

Puede configurarlos directamente o mediante el uso de un perfil de configuración de Databricks (.databrickscfg) en el equipo de cliente.

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

Para obtener más información sobre cómo configurar la autorización de OAuth para el cliente y revisar las opciones de autorización específicas del proveedor de nube, consulte Autenticación de cliente unificada.

Autenticación a herramientas y servicios de terceros

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

  • Proveedor de Terraform de Databricks: esta herramienta puede acceder a las API de Azure Databricks desde Terraform en su nombre mediante la cuenta de usuario de Azure Databricks. Para obtener más información, consulte Aprovisionamiento de una entidad de servicio mediante Terraform.

  • Los proveedores de Git como GitHub, GitLab y Bitbucket pueden acceder a las API de Azure Databricks mediante una entidad de servicio de Databricks. Para obtener más información, consulte Entidades de servicio para CI/CD.

  • Jenkins puede acceder a las API de Azure Databricks mediante una entidad de servicio de Databricks. Para obtener más información, consulte CI/CD con Jenkins en Azure Databricks.

  • Azure DevOps puede acceder a las API de Azure Databricks mediante una entidad de servicio basada en MS Entra ID. Para obtener más información, consulte Autenticación con Azure DevOps en Databricks.

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 clientes locales para que los usen 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.