Condividi tramite


Abilitare la federazione delle identità del carico di lavoro per Terraform Cloud, Pipeline Bitbucket o Jenkins

La federazione dei token OAuth di Databricks, nota anche come OpenID Connect (OIDC), consente ai carichi di lavoro automatizzati in esecuzione all'esterno di Databricks di accedere in modo sicuro a Databricks senza la necessità di segreti di Databricks. Vedere Autenticare l'accesso ad Azure Databricks usando la federazione dei token OAuth.

Per abilitare la federazione delle identità del carico di lavoro per Terraform Cloud, Pipelines di Atlassian Bitbucket o Jenkins:

  1. Creare un criterio federativo
  2. Configurare il provider di identità

Dopo aver abilitato la federazione dell'identità del carico di lavoro, gli SDK di Databricks e l'interfaccia della riga di comando di Databricks recuperano automaticamente i token di identità del carico di lavoro dal provider di identità e li scambiano per i token OAuth di Databricks.

Creare una politica di federazione

Creare prima di tutto un criterio di federazione dell'identità del carico di lavoro personalizzato. Per istruzioni, vedere Configurare un criterio di federazione dell'entità servizio. Sarà necessario impostare i valori seguenti:

  • URL autorità di certificazione: In genere l'URL del token del provider
  • Pubblico: In genere un identificatore dell'organizzazione
  • Oggetto: In genere un valore che specifica il contesto del processo o del progetto

Ad esempio, il comando dell'interfaccia della riga di comando di Databricks seguente crea un criterio di federazione per un URL https://gitlab.com/example-group GitHub e un ID numerico dell'entità servizio Databricks di 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:..."
  }
}'

Configurare il provider di identità

Nella configurazione del provider di identità impostare quindi le variabili di ambiente del token OIDC di Databricks sulle variabili di ambiente del token OIDC di identità predefinite del provider.

Jenkins

Per abilitare la federazione dell'identità del carico di lavoro per Jenkins, impostare il token in DATABRICKS_OIDC_TOKEN. In alternativa, imposta il token in un file e configura DATABRICKS_OIDC_TOKEN_FILEPATH per puntare a quel file.

Terraform Cloud

Per abilitare la federazione delle identità del carico di lavoro per Terraform Cloud, impostare la DATABRICKS_OIDC_TOKEN_ENV variabile di ambiente per indicare a Databricks SDK di cercare il token in TFC_WORKLOAD_IDENTITY_TOKEN.

DATABRICKS_OIDC_TOKEN_ENV = TFC_WORKLOAD_IDENTITY_TOKEN

Pipeline di Atlassian Bitbucket

Per abilitare la federazione dell'identità di elaborazione per Bitbucket Pipelines, impostare la variabile di ambiente DATABRICKS_OIDC_TOKEN_ENV per indicare al Databricks SDK di cercare il token in 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