Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Puede llamar a una aplicación de Databricks que exponga una API HTTP (por ejemplo, una aplicación FastAPI o Gradio) utilizando la autenticación con un token Bearer de OAuth 2.0. Este método funciona desde el entorno de desarrollo local, las aplicaciones externas y otras aplicaciones de Azure Databricks.
Nota:
Este método solo se aplica a las aplicaciones que exponen las API o los puntos de conexión (accesibles mediante /api/ rutas). En el caso de las aplicaciones que proporcionan solo una interfaz de usuario o un procesamiento en segundo plano, no se puede conectar mediante la autenticación de tokens.
Requisitos
Para conectarse a una aplicación de Databricks mediante la autenticación de tokens, debe cumplir los siguientes requisitos:
- La aplicación debe exponer al menos un punto de conexión de API accesible mediante
/api/rutas. - Debe tener permiso
CAN USEen la aplicación. Consulte Configuración de permisos para una aplicación de Databricks. - Debe poder generar un token de acceso de Azure Databricks mediante uno de los métodos de autenticación admitidos.
Métodos de autenticación
Nota:
No se puede llamar directamente a una aplicación de Databricks mediante un token de identificador de Azure Entra. La federación de tokens requiere un paso de intercambio de tokens del lado cliente, que Azure Databricks no realiza en el lado servidor. Para usar tokens de identificador de Azure Entra para la autenticación, primero debe intercambiarlos para tokens de OAuth. Consulte Autenticación con un token de proveedor de identidades.
Elija el método de autenticación que coincida con el escenario de conexión:
Desarrollo local
Para conectarse desde el entorno de desarrollo local, use la CLI de Azure Databricks o los SDK con sus credenciales de usuario.
Inicie sesión con la CLI:
databricks auth login --host https://<workspace-url> --profile my-envAzure Databricks recomienda usar la autenticación de usuario a máquina (U2M) de OAuth.
Generación de un token de acceso:
Interfaz de línea de comandos (CLI)
databricks auth token --profile my-envPitón
from databricks.sdk.core import Config config = Config(profile="my-env") token = config.oauth_token().access_token
Aplicaciones externas
Para el acceso mediante programación desde aplicaciones externas, use la autenticación de entidad de servicio con credenciales de máquina a máquina (M2M). Consulte Autorización del acceso de la entidad de servicio a Azure Databricks con OAuth.
Cree una entidad de servicio y obtenga el identificador de cliente y la clave secreta. Consulte entidades de servicio.
Genere un token de acceso mediante el SDK de Azure Databricks:
from databricks.sdk import WorkspaceClient import requests # Option 1: Explicit credentials wc = WorkspaceClient( host="https://<workspace-url>", client_id="<service-principal-client-id>", client_secret="<service-principal-client-secret>" ) # Option 2: Environment variables # Set DATABRICKS_HOST, DATABRICKS_CLIENT_ID, DATABRICKS_CLIENT_SECRET wc = WorkspaceClient() # Generate Bearer token headers = wc.config.authenticate()
Desde otras aplicaciones de Databricks
Cuando se conecta desde una aplicación de Databricks a otra, la aplicación controla la autenticación automáticamente mediante su entidad de servicio asignada.
from databricks.sdk import WorkspaceClient
import requests
# No explicit credentials needed, uses app's service principal
wc = WorkspaceClient()
headers = wc.config.authenticate()
Especificación de ámbitos de OAuth para la autorización de usuario
Cuando se usan la CLI o los SDK de Azure Databricks con autenticación unificada, como se muestra en la sección anterior, las herramientas solicitan automáticamente el ámbito básico all-apis . Sin embargo, si la aplicación usa la autorización de usuario, debe solicitar manualmente un token de acceso con ámbitos adicionales mediante un flujo de OAuth personalizado.
Asegúrese de que el token de acceso incluye los ámbitos configurados en Editar>autorización de usuario. Si el token no tiene los ámbitos necesarios, las solicitudes pueden producir errores 401 o 403.
Por ejemplo, la siguiente solicitud solicita explícitamente un token de acceso con los sql, file.files y dashboards.genie permisos.
curl --request POST \
https://<databricks-instance>/oidc/v1/token \
--data "client_id=databricks-cli" \
--data "grant_type=authorization_code" \
--data "redirect_uri=<redirect-url>" \
--data "code_verifier=<code-verifier>" \
--data "code=<authorization-code>" \
--data "scope=sql+file.files+dashboards.genie"
Para obtener instrucciones completas, consulte Generación manual de tokens de acceso U2M de OAuth.
Envío de solicitudes a la aplicación
Al llamar a los endpoints de la API de tu aplicación, incluye el Bearer token en el encabezado de autorización y reemplaza <your-endpoint> por el path real de la API de tu aplicación.
CURL
curl "https://<app-name>-<id>.<region>.databricksapps.com/api/<your-endpoint>" \
-H "Authorization: Bearer <YOUR_TOKEN>"
Python con solicitudes
import requests
response = requests.get(
"https://<app-name>-<id>.<region>.databricksapps.com/api/<your-endpoint>",
headers={"Authorization": f"Bearer {token}"}
)
Python con SDK
from databricks.sdk import WorkspaceClient
import requests
wc = WorkspaceClient()
headers = wc.config.authenticate()
response = requests.get(
"https://<app-name>-<id>.<region>.databricksapps.com/api/<your-endpoint>",
headers=headers
)
Consideraciones de seguridad
Al conectarse a aplicaciones desde el entorno local, siga estos procedimientos recomendados de seguridad:
- Nunca codifique de forma rígida los tokens de acceso en el código fuente. Use variables de entorno o almacenes de credenciales seguros.
- Actualice los tokens periódicamente para minimizar los riesgos de seguridad si están en peligro.
- Evite registrar tokens de acceso o datos confidenciales en los registros de aplicación.
Solución de problemas
Si tiene problemas al conectarse a la aplicación desde una máquina local, pruebe estas soluciones.
Errores de autenticación (errores 401)
Compruebe lo siguiente:
- El token es válido (ejecutar
databricks auth token --profile my-env) - El perfil está configurado correctamente con
databricks auth login - El token no ha expirado
- El token incluye los ámbitos de OAuth necesarios. Las herramientas CLI y SDK solo proporcionan ámbitos básicos como
all-apis, que podrían no ser suficientes para la autorización de los usuarios.
Permiso denegado (errores 403)
Compruebe lo siguiente:
- Tienes
CAN USEpermiso en aplicación - El token incluye los ámbitos de OAuth necesarios. Los ámbitos insuficientes pueden provocar errores 403 incluso con permisos válidos.
No se encontró la aplicación (errores 404)
Compruebe lo siguiente:
- El identificador y la dirección URL del área de trabajo son correctos.
- La aplicación se implementa y ejecuta
- La ruta de acceso del punto de conexión existe en la aplicación.
Problemas de conectividad de red
Compruebe lo siguiente:
- La red permite conexiones HTTPS salientes
- El
*.databricksapps.comdominio es accesible desde la red.
Además, compruebe si la organización usa un proxy que requiere configuración.
Recursos adicionales
Para obtener más información, consulte los siguientes recursos:
- Guía práctica: conectar desde una máquina local
- Cookbook: Conexión desde aplicaciones externas
- Cookbook: Conexión desde otras aplicaciones
- Configuración de permisos para una aplicación de Databricks
- Configuración del área de trabajo y el entorno de desarrollo de Databricks Apps
- Autenticación para la CLI de Databricks
- Autenticación unificada de Databricks