次の方法で共有


Terraform Cloud、Bitbucket Pipelines、または Jenkins のワークロード ID フェデレーションを有効にする

Databricks OAuth トークン フェデレーション (OpenID Connect (OIDC) とも呼ばれます) を使用すると、Databricks の外部で実行されている自動化されたワークロードは、Databricks シークレットを必要とせずに Databricks に安全にアクセスできます。 OAuth トークン フェデレーションを使用した Azure Databricks へのアクセスの認証に関するページを参照してください。

Terraform Cloud、Atlassian Bitbucket Pipelines、または Jenkins のワークロード ID フェデレーションを有効にするには:

  1. フェデレーション ポリシーを作成する
  2. ID プロバイダーを構成する

ワークロード ID フェデレーションを有効にすると、Databricks SDK と Databricks CLI によって、ID プロバイダーからワークロード ID トークンが自動的にフェッチされ、Databricks OAuth トークンと交換されます。

フェデレーション ポリシーを作成する

まず、カスタム ワークロード ID フェデレーション ポリシーを作成します。 手順については、「 サービス プリンシパルのフェデレーション ポリシーを構成する」を参照してください。 次の値を設定する必要があります。

  • 発行者 URL: 通常、プロバイダーのトークン URL
  • 観客: 通常、組織識別子
  • 件名: 通常、ジョブまたはプロジェクトのコンテキストを指定する値

たとえば、次の Databricks CLI コマンドは、GitHub URL https://gitlab.com/example-group のフェデレーション ポリシーと、 5581763342009999の Databricks サービス プリンシパルの数値 ID を作成します。

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:..."
  }
}'

ID プロバイダーを構成する

次に、ID プロバイダーの構成で、Databricks OIDC トークン環境変数をプロバイダーの既定の ID OIDC トークン環境変数に設定します。

Jenkins

Jenkins のワークロード ID フェデレーションを有効にするには、 DATABRICKS_OIDC_TOKENでトークンを設定します。 または、ファイル内のトークンを設定し、そのファイルを指すように DATABRICKS_OIDC_TOKEN_FILEPATH を設定します。

Terraform Cloud

Terraform Cloud のワークロード ID フェデレーションを有効にするには、 DATABRICKS_OIDC_TOKEN_ENV 環境変数を設定して、 TFC_WORKLOAD_IDENTITY_TOKENでトークンを検索するように Databricks SDK に指示します。

DATABRICKS_OIDC_TOKEN_ENV = TFC_WORKLOAD_IDENTITY_TOKEN

Atlassian Bitbucket Pipelines

Bitbucket Pipelines のワークロード ID フェデレーションを有効にするには、 DATABRICKS_OIDC_TOKEN_ENV 環境変数を設定して、 BITBUCKET_STEP_OIDC_TOKENでトークンを検索するように Databricks SDK に指示します。

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