Partilhar via


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

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

Para habilitar a federação de identidade de carga de trabalho para Terraform Cloud, Atlassian Bitbucket Pipelines ou Jenkins:

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

Depois de habilitar a federação de identidades de carga de trabalho, os SDKs do Databricks e a CLI do Databricks buscam automaticamente tokens de identidade de carga de trabalho do provedor de identidade e os trocam por tokens OAuth do Databricks.

Criar uma política de federação

Primeiro, crie uma política de federação de identidade de carga de trabalho personalizada. Para obter instruções, consulte Configurar uma política de federação da entidade de serviço. Você precisará definir os seguintes valores:

  • URL do emissor: Normalmente, a URL do token do provedor
  • Audiências: Normalmente, um identificador de organização
  • Assunto: Normalmente, um valor que especifica o contexto do trabalho ou do projeto

Por exemplo, o seguinte comando da CLI do Databricks cria uma política de federação para uma URL https://gitlab.com/example-group do GitHub e uma ID numérica da entidade de serviço do 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 fornecedor de identidade, ajuste as variáveis de ambiente do token OIDC do Databricks para corresponder às variáveis de ambiente de token OIDC de identidade padrão do fornecedor.

Jenkins •

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

Nuvem Terraform

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

DATABRICKS_OIDC_TOKEN_ENV = TFC_WORKLOAD_IDENTITY_TOKEN

Oleodutos Bitbucket da Atlassian

Para habilitar a federação de identidade de carga de trabalho para Bitbucket Pipelines, defina a DATABRICKS_OIDC_TOKEN_ENV variável de ambiente para instruir o SDK do Databricks a procurar o token no 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