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
- token de Microsoft Entra ID
- tokens de OAuth 2.0
- autenticación de usuario a máquina (U2M) de Databricks OAuth
- autenticación de usuario a máquina (U2M) de OAuth de Microsoft Entra ID
- autenticación de máquina a máquina (M2M) de OAuth
- autenticación de máquina a máquina (M2M) de OAuth de Microsoft Entra ID
- Autenticación de identidades administradas de Azure
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>
- A fin de obtener el valor para
<path-to-driver>
, vea Descarga e instalación del controlador ODBC de Databricks. - Para obtener los valores de
<server-hostname>
y<http-path>
, vea Configuración de proceso del controlador ODBC de Databricks. - También puede agregar valores de funcionalidad de controlador especiales o avanzados.
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:
- Para un usuario de Azure Databricks, puede usar la CLI de Azure. Consulte Obtención de tokens de Microsoft Entra ID para usuarios mediante la CLI de Azure.
- Para obtener una entidad de servicio de Microsoft Entra ID, consulte Obtener un token de acceso de Microsoft Entra ID con la CLI de Azure. Para crear una entidad de servicio administrada de Microsoft Entra ID, consulte Administrar entidades de servicio.
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>
- A fin de obtener el valor para
<path-to-driver>
, vea Descarga e instalación del controlador ODBC de Databricks. - Para obtener los valores de
<server-hostname>
y<http-path>
, vea Configuración de proceso del controlador ODBC de Databricks. - También puede agregar valores de funcionalidad de controlador especiales o avanzados.
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.
- Para crear un token de OAuth 2.0 para la autenticación transferida de tokens para una entidad de servicio de Microsoft Entra ID, consulte Generación manual y uso de tokens de acceso para la autenticación M2M de OAuth. Anote el valor de OAuth
access_token
de la entidad de servicio. - Para crear una entidad de servicio administrada de Microsoft Entra ID, consulte Administrar entidades de servicio.
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>
- A fin de obtener el valor para
<path-to-driver>
, vea Descarga e instalación del controlador ODBC de Databricks. - Para obtener los valores de
<server-hostname>
y<http-path>
, vea Configuración de proceso del controlador ODBC de Databricks. - También puede agregar valores de funcionalidad de controlador especiales o avanzados.
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>
- A fin de obtener el valor para
<path-to-driver>
, vea Descarga e instalación del controlador ODBC de Databricks. - Para obtener los valores de
<server-hostname>
y<http-path>
, vea Configuración de proceso del controlador ODBC de Databricks. - También puede agregar valores de funcionalidad de controlador especiales o avanzados.
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>;
- A fin de obtener el valor para
<path-to-driver>
, vea Descarga e instalación del controlador ODBC de Databricks. - Para obtener los valores de
<server-hostname>
y<http-path>
, vea Configuración de proceso del controlador ODBC de Databricks. - También puede agregar valores de funcionalidad de controlador especiales o avanzados.
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:
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.
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
- A fin de obtener el valor para
<path-to-driver>
, vea Descarga e instalación del controlador ODBC de Databricks. - Para obtener los valores de
<server-hostname>
y<http-path>
, vea Configuración de proceso del controlador ODBC de Databricks. - También puede agregar valores de funcionalidad de controlador especiales o avanzados.
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:
- Cree una entidad de servicio administrada de Microsoft Entra ID. Para ello, consulte Administración de entidades de servicio.
- 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
- A fin de obtener el valor para
<path-to-driver>
, vea Descarga e instalación del controlador ODBC de Databricks. - Para obtener los valores de
<server-hostname>
y<http-path>
, vea Configuración de proceso del controlador ODBC de Databricks. - También puede agregar valores de funcionalidad de controlador especiales o avanzados.
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 obtener más información sobre las identidades administradas, consulte el artículo sobre Qué son las identidades administradas para recursos de Azure.
- Para aprender a crear una identidad administrada y concederle permiso de acceso a las áreas de trabajo de Azure Databricks, consulte Configuración y uso de la autenticación de identidades administradas de Azure para la automatización de Azure Databricks.
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>
- A fin de obtener el valor para
<path-to-driver>
, vea Descarga e instalación del controlador ODBC de Databricks. - Para obtener los valores de
<server-hostname>
y<http-path>
, vea Configuración de proceso del controlador ODBC de Databricks. - También puede agregar valores de funcionalidad de controlador especiales o avanzados.