共用方式為


啟用 Terraform Cloud、Bitbucket Pipelines 或 Jenkins 的工作負載身份辨識聯盟功能

Databricks OAuth 令牌聯邦,也稱為 OpenID Connect (OIDC),可讓您在 Databricks 外部執行的自動化工作負載安全地存取 Databricks,而無需使用 Databricks 憑證。 請參閱 使用 OAuth 令牌同盟驗證 Azure Databricks 的存取權。

若要啟用 Terraform Cloud、Atlassian Bitbucket Pipelines 或 Jenkins 的工作負載身分識別同盟:

  1. 建立同盟原則
  2. 設定識別提供者

啟用工作負載身分識別同盟之後,Databricks SDK 和 Databricks CLI 會自動從識別提供者擷取工作負載身分識別令牌,並將它們交換給 Databricks OAuth 令牌。

建立同盟原則

首先,建立自訂工作負載身分識別聯合政策。 如需指示,請參閱 設定服務主體同盟原則。 您必須設定下列值:

  • 發行人網址: 通常是提供者的權杖 URL
  • 受眾: 通常是組織識別碼
  • 題: 通常是指定工作或專案環境定義的值

例如,下列 Databricks CLI 命令會建立 GitHub URL https://gitlab.com/example-group 的同盟原則,以及 Databricks 服務主體數值識別碼 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:..."
  }
}'

設定識別提供者

接下來,在識別提供者設定中,將 Databricks OIDC 令牌環境變數設定為提供者的預設身分識別 OIDC 令牌環境變數。

Jenkins

若要啟用 Jenkins 的工作負載身分識別同盟,請在 中 DATABRICKS_OIDC_TOKEN設定令牌。 或者,在檔案中設定令牌,並將 DATABRICKS_OIDC_TOKEN_FILEPATH 設定為指向該檔案。

Terraform 雲端

若要啟用 Terraform Cloud 的工作負載身分識別同盟,請設定 DATABRICKS_OIDC_TOKEN_ENV 環境變數,指示 Databricks SDK 在TFC_WORKLOAD_IDENTITY_TOKEN中搜尋令牌。

DATABRICKS_OIDC_TOKEN_ENV = TFC_WORKLOAD_IDENTITY_TOKEN

Atlassian Bitbucket 管道

若要啟用 Bitbucket Pipelines 的工作負載身分識別聯盟,請設定 DATABRICKS_OIDC_TOKEN_ENV 環境變數以便指示 Databricks SDK 在 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