Freigeben über


Aktivieren des Workload-Identitätsverbunds für Terraform Cloud, Bitbucket-Pipelines oder Jenkins

Der OAuth-Tokenverbund von Databricks, auch als OpenID Connect (OIDC) bezeichnet, ermöglicht Es Ihren automatisierten Workloads, die außerhalb von Databricks ausgeführt werden, sicher auf Databricks zuzugreifen, ohne dass Databricks geheime Schlüssel erforderlich sind. Siehe Authentifizieren des Zugriffs auf Azure Databricks mithilfe des OAuth-Tokenverbunds.

So aktivieren Sie den Workload-Identitätsverbund für Terraform Cloud, Atlassian Bitbucket Pipelines oder Jenkins:

  1. Erstellen einer Verbundrichtlinie
  2. Konfigurieren des Identitätsanbieters

Nachdem Sie den Workload-Identitätsverbund aktiviert haben, rufen die Databricks-SDKs und die Databricks CLI automatisch Arbeitsauslastungsidentitätstoken vom Identitätsanbieter ab und tauschen sie für Databricks OAuth-Token aus.

Erstellen einer Verbundrichtlinie

Erstellen Sie zunächst eine benutzerdefinierte Workload-Identitätsverbundrichtlinie. Anweisungen finden Sie unter Konfigurieren einer Dienstprinzipalverbundrichtlinie. Sie müssen die folgenden Werte festlegen:

  • Aussteller-URL: In der Regel die Token-URL des Anbieters
  • Leserkreis: In der Regel ein Organisationsbezeichner
  • Betreff: In der Regel ein Wert, der den Auftrags- oder Projektkontext angibt

Der folgende Cli-Befehl für Databricks erstellt z. B. eine Verbundrichtlinie für eine GitHub-URL https://gitlab.com/example-group und eine Numerische ID des Databricks-Dienstprinzipals von 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:..."
  }
}'

Konfigurieren des Identitätsanbieters

Legen Sie als Nächstes in der Konfiguration des Identitätsanbieters die Databricks-OIDC-Tokenumgebungsvariablen auf die Standardidentitäts-OIDC-Tokenumgebungsvariablen des Anbieters fest.

Jenkins

Um den Workload-Identitätsverbund für Jenkins zu aktivieren, legen Sie das Token in DATABRICKS_OIDC_TOKENfest. Alternativ können Sie das Token in einer Datei festlegen und DATABRICKS_OIDC_TOKEN_FILEPATH auf diese Datei verweisen.

Terraform Cloud

Um den Workload-Identitätsverbund für Terraform Cloud zu aktivieren, legen Sie die DATABRICKS_OIDC_TOKEN_ENV Umgebungsvariable so fest, dass das Databricks SDK nach dem Token in TFC_WORKLOAD_IDENTITY_TOKEN sucht.

DATABRICKS_OIDC_TOKEN_ENV = TFC_WORKLOAD_IDENTITY_TOKEN

Atlassian Bitbucket-Pipelines

Um den Workload-Identitätsverbund für Bitbucket-Pipelines zu aktivieren, legen Sie die DATABRICKS_OIDC_TOKEN_ENV Umgebungsvariable fest, um das Databricks SDK anzuweisen, nach dem Token in BITBUCKET_STEP_OIDC_TOKEN zu suchen.

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