Habilite a federação de identidade de carga de trabalho para Terraform Cloud, Bitbucket pipeline ou Jenkins
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, 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. Você precisará definir os seguintes valores:
- URL do emissor: Normalmente, o URL dos tokens do provedor
- Públicos: normalmente, um identificador de organização
- Assunto: Normalmente, um valor que especifica o contexto do trabalho ou do projeto
Por exemplo, o seguinte Databricks CLI comando cria uma política de federação para um URL GitHub https://gitlab.com/example-group
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://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