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 cargas de trabajo para GitHub Actions:
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 GitHub 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. Para obtener instrucciones, consulte Configuración de una directiva de federación de entidad de servicio. En GitHub, establezca los valores siguientes para la directiva:
-
Organización: Nombre de la organización de GitHub. Por ejemplo, si la dirección URL del repositorio es
https://github.com/databricks-inc/data-platform, la organización esdatabricks-inc. -
Depósito: Nombre del repositorio único que se va a permitir, como
data-platform. -
Tipo de entidad: El tipo de entidad de GitHub representada en la
subnotificación (subject) del token. El valor predeterminado es Branch. Databricks recomienda usar Environment, que puede habilitar estableciendo el atributo en elenvironmentarchivo YAML de Acciones de GitHub. Consulte Implementación en un entorno específico. -
Dirección URL del emisor:
https://token.actions.githubusercontent.com - Asunto: Cadena formada por la concatenación de valores del contexto del trabajo acciones de GitHub.
- Audiencias: Databricks recomienda establecerlo en el identificador de la cuenta de Azure Databricks. Si se omite, el identificador de cuenta se usa de forma predeterminada.
-
Notificación de asunto: (opcional) La notificación JWT que contiene el valor de identidad de carga de trabajo (
sub) del token OIDC. En GitHub, deje el campo comosub, que codifica el repositorio, la rama, la etiqueta, la solicitud de extracción y combinación o el entorno que desencadenó el flujo de trabajo.
Por ejemplo, el siguiente comando de la CLI de Databricks crea una directiva de federación para una organización denominada my-org y un identificador 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://token.actions.githubusercontent.com",
"audiences": [
"a2222dd9-33f6-455z-8888-999fbbd77900"
],
"subject": "repo:my-github-org/my-repo:environment:prod"
}
}'
Configuración del archivo YAML de Acciones de GitHub
A continuación, configure el archivo YAML de Acciones de GitHub. Establezca estas variables de entorno:
-
DATABRICKS_AUTH_TYPE:github-oidc -
DATABRICKS_HOST: dirección URL del área de trabajo de Databricks -
DATABRICKS_CLIENT_ID: identificador de la entidad de servicio (aplicación)
name: GitHub Actions Demo
run-name: ${{ github.actor }} is testing out GitHub Actions 🚀
on: workflow_dispatch
permissions:
id-token: write
contents: read
jobs:
my_script_using_wif:
runs-on: ubuntu-latest
environment: prod
env:
DATABRICKS_AUTH_TYPE: github-oidc
DATABRICKS_HOST: https://my-workspace.cloud.databricks.com/
DATABRICKS_CLIENT_ID: a1b2c3d4-ee42-1eet-1337-f00b44r
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Databricks CLI
uses: databricks/setup-cli@main
- name: Run Databricks CLI commands
run: databricks current-user me