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.
La federación de tokens de OAuth de Databricks, también conocida como OpenID Connect (OIDC), permite que las cargas de trabajo automatizadas que se ejecutan fuera de Databricks accedan de forma segura a Databricks sin necesidad de secretos de Databricks. Consulte Autenticación del acceso a Azure Databricks mediante la federación de tokens de OAuth.
Para habilitar la federación de identidad para las canalizaciones de Azure DevOps:
Después de habilitar la federación de identidades de carga de trabajo, los SDK de Databricks y la CLI de Databricks capturan automáticamente los tokens de identidad de carga de trabajo de Azure DevOps Pipelines y los intercambian para tokens de OAuth de Databricks.
Creación de una directiva de federación
En primer lugar, cree una directiva de federación de identidades de carga de trabajo personalizada. Para obtener instrucciones, consulte Configurar una política de federación del principal del servicio. Para Azure DevOps, establezca los valores siguientes para la directiva:
-
URL del emisor:
https://vstoken.dev.azure.com/<org_id>, donde<org-id>es el GUID de tu organización de Azure DevOps -
Audiencias:
api://AzureADTokenExchange -
Asunto:
p://<org-name>/<project-name>/<pipeline-name>donde<org-name>es el nombre de la organización de Azure DevOps,<project-name>es el nombre del proyecto de Azure DevOps y<pipeline-name>es el nombre de la canalización de Azure DevOps.
Por ejemplo, el siguiente comando de la CLI de Databricks crea una directiva de federación para un identificador de organización y un identificador numérico de la entidad de servicio de Databricks de 7f1078d6-b20d-4a20-9d88-05a2f0d645a3.
databricks account service-principal-federation-policy create 5581763342009999 --json '{
"oidc_policy": {
"issuer": "https://vstoken.dev.azure.com/7f1078d6-b20d-4a20-9d88-05a2f0d645a3",
"audiences": [
"api://AzureADTokenExchange"
],
"subject": "p://my-org/my-project/my-pipeline"
}
}
'
Configurar YAML de la canalización de Azure DevOps
A continuación, configure el archivo "YAML" de pipeline de Azure DevOps. Establezca estas variables de entorno:
-
DATABRICKS_AUTH_TYPE:azure-devops-oidc -
DATABRICKS_HOST: dirección URL del área de trabajo de Databricks -
DATABRICKS_CLIENT_ID: identificador de la entidad de servicio (aplicación) -
SYSTEM_ACCESSTOKEN: Asigne la variable de tubería$(System.AccessToken)a esta variable de entorno.
trigger: none
pool: test # my self-hosted pool name
variables:
DATABRICKS_HOST: https://my-workspace.cloud.databricks.com/
DATABRICKS_AUTH_TYPE: azure-devops-oidc
DATABRICKS_CLIENT_ID: a1b2c3d4-ee42-1eet-1337-f00b44r
steps:
- script: |
databricks current-user me
displayName: 'Display Databricks current user information'
env:
SYSTEM_ACCESSTOKEN: $(System.AccessToken)