Compartir a través de


Configuración de autenticación del controlador ODBC de Databricks

En este artículo se describe cómo configurar las opciones de autenticación de Azure Databricks para el controlador ODBC de Databricks.

El controlador ODBC de Databricks admite los siguientes tipos de autenticación de Azure Databricks:

Token de acceso personal de Azure Databricks

Para crear un token de acceso personal de Azure Databricks, siga los pasos descritos en Tokens de acceso personal de Azure Databricks para los usuarios del área de trabajo.

Para autenticarse mediante un token de acceso personal de Azure Databricks, agregue las siguientes configuraciones a la configuración de proceso y cualquier configuración de funcionalidad del controlador especial o avanzada:

Configuración Valor
AuthMech 3
UID token
PWD El token de acceso personal de Databricks para el usuario del área de trabajo

A fin de crear un DSN para sistemas que no son Windows, use el siguiente formato:

[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=3
UID=token
PWD=<personal-access-token>

Para crear una cadena de conexión sin DSN, use el siguiente formato. Se han agregado saltos de línea para mayor claridad. La cadena no debe contener estos saltos de línea:

Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=3;
UID=token;
PWD=<personal-access-token>

Token de Microsoft Entra ID

El controlador ODBC 2.6.15 y versiones posteriores admiten tokens de Microsoft Entra ID para un usuario de Azure Databricks o una entidad de servicio de Microsoft Entra ID.

Para crear un token de acceso de Microsoft Entra ID, haga lo siguiente:

Los tokens de acceso de Microsoft Entra ID tienen una duración predeterminada de aproximadamente 1 hora. Un token de acceso se puede actualizar mediante programación para una sesión existente sin que se interrumpa la conexión ejecutando el código descrito en Actualizar un token de acceso de Microsoft Entra ID. Para obtener instrucciones sobre cómo actualizar el token, vea la sección Configuring Authentication on Windows > Providing a New Access Token en la guía del controlador ODBC de Databricks.

Para autenticarse mediante un token de Microsoft Entra ID, agregue las siguientes configuraciones a la configuración de proceso y cualquier configuración de funcionalidad del controlador especial o avanzada:

Configuración Valor
AuthMech 11
Auth_Flow 0
Auth_AccessToken El token de Microsoft Entra ID

A fin de crear un DSN para sistemas que no son Windows, use el siguiente formato:

[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=11
Auth_Flow=0
Auth_AccessToken=<microsoft-entra-id-token>

Para crear una cadena de conexión sin DSN, use el siguiente formato. Se han agregado saltos de línea para mayor claridad. La cadena no debe contener estos saltos de línea:

Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=11;
Auth_Flow=0;
Auth_AccessToken=<microsoft-entra-id-token>

Para más información, vea las secciones Token Pass-through de la guía del controlador ODBC de Databricks.

tokens de OAuth 2.0 de

El controlador ODBC 2.7.5 y versiones posteriores admite un token de OAuth 2.0 para una entidad de servicio de Microsoft Entra ID. Esto también se conoce como autenticación de paso a través de tokens de OAuth 2.0.

Importante

El controlador ODBC 2.7.5 y versiones posteriores admiten el uso de secretos de OAuth de Azure Databricks para crear tokens de OAuth 2.0. No se admiten secretos de Microsoft Entra ID.

Los tokens de OAuth 2.0 tienen una duración predeterminada de 1 hora. Para generar un nuevo token de OAuth 2.0, repita este proceso.

Para autenticarse mediante la autenticación transferida de un token de OAuth 2.0, agregue las siguientes configuraciones a la configuración de proceso y cualquier configuración de funcionalidad del controlador especial o avanzada:

Configuración Valor
AuthMech 11
Auth_Flow 0
Auth_AccessToken Token de OAuth de Azure Databricks

(Los tokens de Microsoft Entra ID no se admiten para la autenticación de paso a través del token de OAuth 2.0).

A fin de crear un DSN para sistemas que no son Windows, use el siguiente formato:

[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=11
Auth_Flow=0
Auth_AccessToken=<databricks-oauth-token>

Para crear una cadena de conexión sin DSN, use el siguiente formato. Se han agregado saltos de línea para mayor claridad. La cadena no debe contener estos saltos de línea:

Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=11;
Auth_Flow=0;
Auth_AccessToken=<databricks-oauth-token>

Para más información, vea las secciones Token Pass-through de la guía del controlador ODBC de Databricks.

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

El controlador ODBC 2.8.2 y versiones posteriores admite la autenticación de usuario a máquina (U2M) de OAuth para un usuario de Azure Databricks. Esto también se conoce como autenticación basada en el explorador de OAuth 2.0.

La autenticación basada en el explorador de OAuth 2.0 o de usuario a máquina de OAuth no tiene requisitos previos. Los tokens de OAuth 2.0 tienen una duración predeterminada de 1 hora. La autenticación basada en el explorador de OAuth 2.0 o de usuario a máquina de OAuth debe actualizar automáticamente los tokens de OAuth 2.0 expirados.

Nota:

La autenticación basada en el explorador de OAuth 2.0 o de usuario a máquina de OAuth solo funciona con aplicaciones que se ejecutan localmente. No funciona con aplicaciones basadas en servidor o en la nube.

Para autenticarse mediante la autenticación basada en el explorador de OAuth 2.0 o la autenticación de usuario a máquina (U2M) de OAuth, agregue las siguientes configuraciones a la configuración de proceso y cualquier configuración de funcionalidad del controlador especial o avanzada:

Configuración Valor
AuthMech 11
Auth_Flow 2
PWD Una contraseña de su elección. El controlador usa esta clave para el cifrado de tokens de actualización.
Auth_Client_ID (opcional) databricks-sql-odbc (valor predeterminado) Puede encontrar todas las aplicaciones aplicables en Configuración de conexiones de aplicaciones en la consola de la cuenta de Databricks. Consulte Habilitación de aplicaciones de OAuth personalizadas mediante la interfaz de usuario de Azure Databricks.
Auth_Scope (opcional) sql offline_access (valor predeterminado)
OAuth2RedirectUrlPort (opcional) 8020 (valor predeterminado)

A fin de crear un DSN para sistemas que no son Windows, use el siguiente formato:

[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=11
Auth_Flow=2
PWD=<password>

Para crear una cadena de conexión sin DSN, use el siguiente formato. Se han agregado saltos de línea para mayor claridad. La cadena no debe contener estos saltos de línea:

Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=11;
Auth_Flow=2;
PWD=<password>

Para más información, vea las secciones Browser Based de la guía del controlador ODBC de Databricks.

autenticación de usuario a máquina (U2M) de OAuth de Microsoft Entra ID

El controlador ODBC 2.8.2 y versiones posteriores admite la autenticación de usuario a máquina (U2M) de OAuth de Microsoft Entra ID para un usuario de Azure Databricks.

Para usar la autenticación de usuario a máquina (U2M) de OAuth de Microsoft Entra ID, el cliente de OAuth (aplicación) debe estar registrado en Microsoft Entra ID. Consulte la instrucción.

Para usar la autenticación de usuario a máquina (U2M) de Microsoft Entra ID, agregue las siguientes configuraciones a la configuración de proceso y cualquier configuración de funcionalidad del controlador especial o avanzada:

Configuración Valor
AuthMech 11
Auth_Flow 2
PWD Una contraseña de su elección. El controlador usa esta clave para el cifrado de tokens de actualización.
Auth_Client_ID Id. de la aplicación (cliente) de la aplicación de Azure
Auth_Scope 2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/user_impersonation offline_access
OIDCDiscoveryEndpoint https://login.microsoftonline.com/<azureTenantId>/v2.0/.well-known/openid-configuration
OAuth2RedirectUrlPort Puerto de redirección de la aplicación de Azure

A fin de crear un DSN para sistemas que no son Windows, use el siguiente formato:

[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=11
Auth_Flow=1
Auth_Client_ID=<application-id-azure-application>
Auth_Scope=2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/user_impersonation offline_access
OIDCDiscoveryEndpoint=https://login.microsoftonline.com/<azureTenantId>/v2.0/.well-known/openid-configuration
OAuth2RedirectUrlPort=<redirect port of the Azure application>

Para crear una cadena de conexión sin DSN, use el siguiente formato. Se han agregado saltos de línea para mayor claridad. La cadena no debe contener estos saltos de línea:

Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=11;
Auth_Flow=1;
Auth_Client_ID=<application-id-azure-application>;
Auth_Scope=2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/user_impersonation offline_access;
OIDCDiscoveryEndpoint=https://login.microsoftonline.com/<azureTenantId>/v2.0/.well-known/openid-configuration;
OAuth2RedirectUrlPort=<redirect port of the Azure application>;

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

El controlador ODBC admite la autenticación de máquina a máquina (M2M) de OAuth para una entidad de servicio de Azure Databricks. Esto también se conoce como autenticación de credenciales de cliente de OAuth 2.0.

Para configurar la autenticación de credenciales de cliente de OAuth M2M o OAuth 2.0, haga lo siguiente:

  1. Cree una entidad de servicio de Azure Databricks en el área de trabajo de Azure Databricks y cree un secreto de OAuth para esa entidad de servicio.

    Para crear la entidad de servicio y su secreto de OAuth, consulte Autenticación del acceso a Azure Databricks con una entidad de servicio mediante OAuth (OAuth M2M). Anote los valores de UUID o Id. de la aplicación de la entidad de servicio, así como el valor de Secreto del secreto de OAuth de la entidad de servicio.

  2. Proporcione a la entidad de servicio acceso al clúster o al almacenamiento. Vea Permisos de proceso o Administración de un almacén de SQL.

Para autenticarse mediante la autenticación de credenciales de cliente de OAuth 2.0 o la autenticación de máquina a máquina (M2M) de OAuth, agregue las siguientes configuraciones a la configuración de proceso y cualquier configuración de funcionalidad del controlador especial o avanzada:

Configuración Valor
AuthMech 11
Auth_Flow 1
Auth_Client_ID El valor UUID/Id. de aplicación de la entidad de servicio.
Auth_Client_Secret El valor Secreto de OAuth de la entidad de servicio.
Auth_Scope (opcional) all-apis (valor predeterminado)

A fin de crear un DSN para sistemas que no son Windows, use el siguiente formato:

[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=11
Auth_Flow=1
Auth_Client_ID=<service-principal-application-ID>
Auth_Client_Secret=<service-principal-secret>
Auth_Scope=all-apis

Para crear una cadena de conexión sin DSN, use el siguiente formato. Se han agregado saltos de línea para mayor claridad. La cadena no debe contener estos saltos de línea:

Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=11;
Auth_Flow=1;
Auth_Client_ID=<service-principal-application-ID>;
Auth_Client_Secret=<service-principal-secret>;
Auth_Scope=all-apis

Para más información, vea las secciones Client Credentials de la guía del controlador ODBC de Databricks.

autenticación de máquina a máquina (M2M) de OAuth de Microsoft Entra ID

El controlador ODBC 2.8.2 y versiones posteriores admite la autenticación de máquina a máquina (M2M) de OAuth de Entra ID para una entidad de servicio de Microsoft Entra ID.

Para configurar la autenticación de máquina a máquina (M2M) de OAuth de  Entra ID, haga lo siguiente:

  1. Cree una entidad de servicio administrada de Microsoft Entra ID. Para ello, consulte Administración de entidades de servicio.
  2. Proporcione a la entidad de servicio acceso al clúster o al almacenamiento. Vea Permisos de proceso o Administración de un almacén de SQL.

Para usar la autenticación de máquina a máquina (M2M) de OAuth de Entra ID, agregue las siguientes configuraciones a la configuración de proceso y cualquier configuración de funcionalidad del controlador especial o avanzada:

Configuración Valor
AuthMech 11
Auth_Flow 1
Auth_Client_ID El identificador de aplicación de la entidad de servicio en Entra ID
Auth_Client_Secret El secreto de cliente de la entidad de servicio en Entra ID. Este es el secreto de cliente que crea en Certificados y secretos en Microsoft Entra ID.
Auth_Scope 2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/.default
OIDCDiscoveryEndpoint https://login.microsoftonline.com/<AzureTenantId>/v2.0/.well-known/openid-configuration

A fin de crear un DSN para sistemas que no son Windows, use el siguiente formato:

[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=11
Auth_Flow=1
Auth_Client_ID=<entra-id-service-principal-application-ID>
Auth_Client_Secret=<entra-id-service-principal-client-secret>
Auth_Scope=2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/.default
OIDCDiscoveryEndpoint=https://login.microsoftonline.com/<AzureTenantId>/v2.0/.well-known/openid-configuration

Para crear una cadena de conexión sin DSN, use el siguiente formato. Se han agregado saltos de línea para mayor claridad. La cadena no debe contener estos saltos de línea:

Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=11;
Auth_Flow=1;
Auth_Client_ID=<entra-id-service-principal-application-ID>>;
Auth_Client_Secret=<entra-id-service-principal-client-secret>;
Auth_Scope=2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/.default;
OIDCDiscoveryEndpoint=https://login.microsoftonline.com/<AzureTenantId>/v2.0/.well-known/openid-configuration

Autenticación de identidades administradas de Azure

ODBC driver 2.7.7 y versiones posteriores admiten la autenticación de identidades administradas de Azure, que usa identidades administradas para recursos de Azure (anteriormente Managed Service Identities (MSI)) para la autenticación con Azure Databricks. Las llamadas mediante programación a las operaciones de área de trabajo de Azure Databricks usan estas identidades administradas al trabajar con recursos de Azure que admiten identidades administradas, como máquinas virtuales de Azure.

Para autenticarse mediante la autenticación de identidades de Azure, agregue las siguientes configuraciones a la configuración de proceso y cualquier configuración de funcionalidad del controlador especial o avanzada:

Configuración Valor
AuthMech 11
Auth_Flow 3
Auth_Client_ID Identificador de la identidad administrada de Azure.
Azure_workspace_resource_id El identificador de recurso de Azure correspondiente al área de trabajo de Azure Databricks.

Para obtener este identificador, en la barra de navegación superior de su área de trabajo Azure Databricks, haga clic en su nombre de usuario y después en
Azure Portal. En la página de recursos del área de trabajo de Azure Databricks que aparece, haga clic en Propiedades en Configuración en la barra lateral. El identificador está en Identificador en Essentials.

A fin de crear un DSN para sistemas que no son Windows, use el siguiente formato:

[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=11
Auth_Flow=3
Auth_Client_ID=<azure-managed-identity-ID>
Azure_workspace_resource_id=<azure-workspace-resource-ID>

Para crear una cadena de conexión sin DSN, use el siguiente formato. Se han agregado saltos de línea para mayor claridad. La cadena no debe contener estos saltos de línea:

Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=11;
Auth_Flow=3;
Auth_Client_ID=<azure-managed-identity-ID>;
Azure_workspace_resource_id=<azure-workspace-resource-ID>