Compartir vía


Autenticación del acceso a los recursos de Azure Databricks

Para acceder a un recurso de Azure Databricks con la CLI de Databricks o las API de REST, los clientes deben autenticarse mediante una cuenta de Azure Databricks con la autorización necesaria para acceder al recurso. Para ejecutar de forma segura un comando de la CLI de Databricks o llamar a una solicitud de API 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 este artículo se describen las opciones de autenticación para proporcionar esas credenciales y autorizar el acceso a un área de trabajo o una cuenta de Azure Databricks.

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

Métodos de autenticación de Azure Databricks

Dado que las herramientas y los SDK de Azure Databricks funcionan con uno o varios métodos de autenticación de Azure Databricks compatibles, puede seleccionar el mejor método de autenticació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.

Method Descripción Caso de uso
OAuth para entidades de servicio (OAuth M2M) Tokens de OAuth de corta duración para entidades de servicio. Escenarios de autenticación desatendidos, como flujos de trabajo de CI/CD y totalmente automatizados.
OAuth para usuarios (OAuth U2M) Tokens de OAuth de corta duración para los usuarios. Escenarios de autenticación atendido, donde se usa el explorador web para autenticarse con Azure Databricks en tiempo real, cuando se solicita.
Tokens de acceso personal (PAT) Tokens de corta o larga duración para usuarios o entidades de servicio. Escenarios en los que la herramienta de destino no admite OAuth.
Autenticación de identidades 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.
Autenticació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.
Autenticación de la CLI de Azure Tokens de Microsoft Entra ID para usuarios o entidades de servicio de Microsoft Entra ID. Uso para autenticar el acceso a los recursos de Azure y Azure Databricks mediante la CLI de Azure.
Autenticació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é método de autenticación debo elegir?

Tiene dos opciones para autenticar un comando de la CLI de Databricks o una llamada API para acceder a los recursos de Azure Databricks:

  • Use una cuenta de usuario de Azure Databricks (denominada autenticación "de usuario a máquina" o U2M). Elija esta opción solo cuando ejecute un comando de la CLI de Azure Databricks desde el entorno de cliente local o llame a una solicitud de API de Azure Databricks desde el código que posee y ejecute exclusivamente.
  • Utilice una entidad de servicio de Azure Databricks (denominada autenticación “de máquina a máquina” o M2M). Elija esta opción si otros usuarios ejecutarán el código (especialmente en el caso de una aplicación) o si va a compilar la automatización que llamará a comandos de la CLI de Azure Databricks o solicitudes de API.
  1. Si usa Azure Databricks, también puede usar una entidad de servicio de MS Entra para autenticar el acceso a su cuenta o área de trabajo de Azure Databricks. Sin embargo, Databricks recomienda usar una entidad de servicio de Databricks con nuestra autenticación de OAuth proporcionada a través de la autenticación de entidad de servicio de MS Entra. Esto se debe a que la autenticación Databricks usa tokens de acceso de OAuth que son más sólidos al autenticarse 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.

También debe tener un token de acceso vinculado a la cuenta que usará para llamar a la API de Databricks. Este token puede ser un token de acceso de OAuth 2.0 o un token de acceso personal (PAT). Sin embargo, 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 usted mismo. Las PAT exponen el riesgo de que los tokens de larga duración proporcionen oportunidades de salida si no se auditan y rotan o revocan periódicamente, o si las cadenas de token y las contraseñas no se administran de forma segura para su entorno de desarrollo.

Cómo usar OAuth para autenticarse con Azure Databricks

Azure Databricks ofrece la autenticación de cliente unificada para ayudarle con la autenticació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 autenticación de la cuenta de usuario (usuario a máquina), OAuth de Azure Databricks se controla automáticamente con la 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 autenticación de la entidad de servicio (máquina a máquina), Azure Databricks OAuth requiere que el autor de la llamada proporcione credenciales de cliente junto con una dirección URL del punto de conexión de token donde se pueda autorizar 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:

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 y un identificador de MS Entra. 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 autenticarse. 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.