Pular para o conteúdo principal

Habilite a federação de identidade de carga de trabalho para Terraform Cloud, Bitbucket pipeline ou Jenkins

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 ativar a federação de identidade de carga de trabalho para Terraform Cloud, Atlassian Bitbucket pipeline ou Jenkins:

  1. Crie uma política de federação
  2. Configurar o provedor de identidade

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 provedor de identidade 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. Você precisará definir os seguintes valores:

  • issuerURL de tokens do provedor: normalmente o URL de tokens do provedor
  • audiences: normalmente um identificador de organização
  • subject: normalmente um valor que especifica o contexto do trabalho ou do projeto

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 provedor de identidade

Em seguida, na configuração do provedor de identidade, defina Databricks OIDC tokens variável de ambiente como default identity OIDC tokens variável de ambiente do provedor.

Jenkins

Para ativar a federação de identidade da carga de trabalho para o Jenkins, defina os tokens em DATABRICKS_OIDC_TOKEN. Como alternativa, defina os tokens em um arquivo e defina DATABRICKS_OIDC_TOKEN_FILEPATH para apontar para esse arquivo.

Terraform Cloud

Para ativar a federação de identidade de carga de trabalho para Terraform Cloud, defina a DATABRICKS_OIDC_TOKEN_ENV variável de ambiente para instruir Databricks SDK a procurar os tokens em TFC_WORKLOAD_IDENTITY_TOKEN.

DATABRICKS_OIDC_TOKEN_ENV = TFC_WORKLOAD_IDENTITY_TOKEN

Atlassian Bitbucket pipeline

Para ativar a federação de identidade de carga de trabalho para o pipeline Bitbucket, defina a variável de ambiente DATABRICKS_OIDC_TOKEN_ENV para instruir o Databricks SDK a procurar os tokens em BITBUCKET_STEP_OIDC_TOKEN.

YAML
image: atlassian/default-image

pipelines:
default:
- step:
oidc: true
script:
- export DATABRICKS_CLIENT_ID=a1b2c3d4-ee42-1eet-1337-f00b44r
- export DATABRICKS_HOST=https://my-workspace.cloud.databricks.com/
- export DATABRICKS_OIDC_TOKEN_ENV=BITBUCKET_STEP_OIDC_TOKEN
- export DATABRICKS_AUTH_TYPE=env-oidc
- curl -fsSL https://raw.githubusercontent.com/databricks/setup-cli/main/install.sh | sh
- databricks --version
- databricks current-user me