Pular para o conteúdo principal

Habilitar a federação de identidades de carga de trabalho para o CircleCI

info

Visualização

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

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

Para habilitar a federação de identidades de carga de trabalho para o CircleCI:

  1. Crie uma política de federação
  2. Configurar o CircleCI YAML

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

Crie uma política de federação

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

  • issuer: https://oidc.circleci.com/org/<org_id>, em que <org-id> é substituído pelo ID da sua organização
  • audiences: seu ID de organização CircleCI
  • subject: o ID do projeto CircleCI
  • subject_claim: oidc.circleci.com/project-id

Por exemplo, se o senhor tiver um ID de organização 1234 e um ID de projeto 5678, 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://oidc.circleci.com/org/1234",
"audiences": [
"1234"
],
"subject": "5678",
"subject_claim": "oidc.circleci.com/project-id"
}
}'

Configurar o CircleCI YAML

Em seguida, modifique o arquivo de configuração do CircleCI. Além das variáveis a seguir, defina DATABRICKS_OIDC_TOKEN_ENV em seu arquivo CircleCI config.yml para instruir os SDKs Databricks ou CLI a procurar os tokens em CIRCLE_OIDC_TOKEN_V2. (O senhor também pode usar a antiga variável de ambiente CIRCLE_OIDC_TOKEN ).

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