Pular para o conteúdo principal

Habilitar a federação de identidade de carga de trabalho para GitHub Actions

info

Visualização

A federação de tokens OAuth da Databricks está em Public Preview.

A federação de tokens OAuth do Databricks, também conhecida como OpenID Connect (OIDC), permite que suas cargas de trabalho automatizadas executadas fora do Databricks acessem o Databricks com segurança sem a necessidade de segredos do Databricks. Consulte Autenticar o acesso ao Databricks usando a federação de tokens OAuth.

Para habilitar a federação de identidade de carga de trabalho para GitHub Actions:

  1. Crie uma política de federação
  2. Configurar o arquivo YAML do GitHub Actions

Depois que o senhor ativar a federação de identidade da carga de trabalho, os SDKs da Databricks e a CLI da Databricks buscarão automaticamente os tokens de identidade da carga de trabalho do GitHub e os trocarão por tokens OAuth da Databricks.

Crie uma política de federação

Primeiro, use a CLI do Databricks para criar uma política de federação de identidade de carga de trabalho. Para o GitHub, defina os seguintes valores para a política:

  • issuer: https://token.actions.githubusercontent.com
  • audiences: o URL do repositório. Ou o senhor pode omitir esse campo e, em vez disso, usar a ID Databricks account .
  • subject: uma concatenação de valores extraídos do contexto do trabalho GitHub Actions
nota

Para garantir que o assunto GitHub Actions seja consistente, o site Databricks recomenda especificar um ambiente. Consulte Uso de ambientes para implantação e Filtragem para um ambiente específico.

Por exemplo, dado um repositório GitHub chamado my-repo que pertence a uma organização GitHub chamada my-org, com um ID numérico de entidade de serviço Databricks de 5581763342009999, crie uma política de federação usando o seguinte Databricks CLI comando:

Bash
databricks account service-principal-federation-policy create 5581763342009999 --json '{
"oidc_policy": {
"issuer": "https://token.actions.githubusercontent.com",
"audiences": [
"https://github.com/my-org"
],
"subject": "repo:my-github-org/my-repo:environment:prod"
}
}'

Configurar o arquivo YAML do GitHub Actions

Em seguida, configure o arquivo YAML do GitHub Actions. Defina as seguintes variáveis de ambiente:

  • DATABRICKS_AUTH_TYPE: github-oidc
  • DATABRICKS_HOST: seu URL Databricks workspace
  • DATABRICKS_CLIENT_IDID da entidade de serviço (aplicativo)
YAML
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