Habilite a federação de identidade de carga de trabalho para Terraform Cloud, Bitbucket pipeline ou Jenkins
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:
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:
issuer
URL de tokens do provedor: normalmente o URL de tokens do provedoraudiences
: normalmente um identificador de organizaçãosubject
: 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:
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
.
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