Pular para o conteúdo principal

Habilitar a federação de identidade de carga de trabalho para GitLab CI/CD

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 GitLab CI/CD:

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

Depois que o senhor ativar a federação de identidade da carga de trabalho, os SDKs do Databricks e a CLI do Databricks buscarão automaticamente os tokens de identidade da carga de trabalho do GitLab CI/CD e os trocarão por tokens OAuth do 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 GitLab CI/CD, defina os seguintes valores:

  • issuer: a URL da organização do GitLab
  • audiences: a URL da organização do GitLab
  • subject: uma concatenação de valores extraídos do contexto do trabalho

Por exemplo, dado um URL GitLab https://gitlab.com/example-group com um ID numérico da 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://gitlab.com/example-group",
"audiences": [
"https://gitlab.com/example-group"
],
"subject": "project_path:my-group/my-project:..."
}
}'

Configurar o arquivo YAML do GitLab

Em seguida, modifique o arquivo de configuração do GitLab. Além de definir a seguinte workspace variável de ambiente, armazena os tokens na DATABRICKS_OIDC_TOKEN Databricks variável de ambiente. Como alternativa, use uma variável de ambiente personalizada e defina DATABRICKS_OIDC_TOKEN_ENV.

  • DATABRICKS_AUTH_TYPE: env-oidc
  • DATABRICKS_HOST: seu URL Databricks workspace
  • DATABRICKS_CLIENT_IDID da entidade de serviço (aplicativo)
YAML
stages:
- my_script_using_wif

variables:
DATABRICKS_AUTH_TYPE: env-oidc
DATABRICKS_HOST: https://my-workspace.cloud.databricks.com/
DATABRICKS_CLIENT_ID: a1b2c3d4-ee42-1eet-1337-f00b44r

my_script_using_wif:
id_tokens:
DATABRICKS_OIDC_TOKEN:
aud: https://gitlab.com/example-group
stage: explore
image: ubuntu:latest
before_script:
- curl -fsSL https://raw.githubusercontent.com/databricks/setup-cli/main/install.sh | sh
script:
- databricks current-user me