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 identidades de carga de trabajo para CircleCI:
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 CircleCI 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 Configuración de una directiva de federación de entidad de servicio. En CircleCI, establezca los valores siguientes para la directiva:
-
Dirección URL del emisor:
https://oidc.circleci.com/org/<org_id>, donde<org-id>es el identificador de la organización - Audiencias: Identificador de organización de CircleCI
- Asunto: Identificador del proyecto CircleCI
-
Notificación del firmante:
oidc.circleci.com/project-id
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 1234 numérico numérico de la entidad de servicio de Databricks de 5581763342009999:
databricks account service-principal-federation-policy create 5581763342009999 --json '{
"oidc_policy": {
"issuer": "https://oidc.circleci.com/org/1234",
"audiences": [
"1234"
],
"subject": "5678",
"subject_claim": "oidc.circleci.com/project-id"
}
}'
Configuración de CircleCI YAML
A continuación, modifique el archivo de configuración circleCI. Además de las siguientes variables, establezca DATABRICKS_OIDC_TOKEN_ENV en el archivo CircleCI config.yml para indicar a los SDK de Databricks o la CLI que busquen el token en CIRCLE_OIDC_TOKEN_V2. (También puede usar la variable de entorno anterior CIRCLE_OIDC_TOKEN ).
-
DATABRICKS_AUTH_TYPE:env-oidc -
DATABRICKS_HOST: dirección URL del área de trabajo de Databricks -
DATABRICKS_CLIENT_ID: el identificador de la entidad de servicio (aplicación)
version: 2.1
jobs:
build:
docker:
- image: cimg/base:current
environment:
DATABRICKS_HOST: https://my-workspace.cloud.databricks.com/
DATABRICKS_CLIENT_ID: a1b2c3d4-ee42-1eet-1337-f00b44r
DATABRICKS_OIDC_TOKEN_ENV: CIRCLE_OIDC_TOKEN
DATABRICKS_AUTH_TYPE: env-oidc
steps:
- checkout
- run:
name: Install Databricks CLI
command: |
curl -fsSL https://raw.githubusercontent.com/databricks/setup-cli/main/install.sh | sudo sh
databricks --version
- run:
name: Run Databricks CLI commands
command: databricks current-user me