Freigeben über


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

Von Bedeutung

Der OAuth-Tokenverbund von Databricks befindet sich in der öffentlichen Vorschau.

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

Verwenden Sie zunächst die Databricks CLI, um eine Workload-Identitätsverbundrichtlinie zu erstellen. Sie müssen die folgenden Werte festlegen:

  • issuer: In der Regel die Token-URL des Anbieters
  • audiences: in der Regel ein Organisationsbezeichner
  • subject: In der Regel ein Wert, der den Auftrags- oder Projektkontext angibt

Erstellen Sie beispielsweise bei einer GitLab-URL https://gitlab.com/example-group mit einer numerischen Databricks-Dienstprinzipal-ID 5581763342009999eine Verbundrichtlinie mit dem folgenden Befehl Databricks CLI :

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