Habilitar a federação de identidades de carga de trabalho para o CircleCI
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:
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, crie uma política personalizada de federação de identidades de carga de trabalho. Para obter instruções, consulte Configurar uma política de federação de entidade de serviço. Para CircleCI, defina os seguintes valores para a política:
- URL do emissor:
https://oidc.circleci.com/org/<org_id>
, onde<org-id>
é o ID da sua organização - Públicos: seu ID de organização CircleCI
- Assunto: O ID do projeto CircleCI
- Assunto da reclamação:
oidc.circleci.com/project-id
Por exemplo, o seguinte Databricks CLI comando cria uma política de federação para um ID de organização 1234
e um ID numérico de entidade de serviço 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"
}
}'
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 workspaceDATABRICKS_CLIENT_ID
ID da entidade de serviço (aplicativo)
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