メインコンテンツまでスキップ

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

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

Terraform Cloud、Atlassian Bitbucket パイプライン、または Jenkins のワークロード ID フェデレーションを有効にするには、次の手順を実行します。

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

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

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

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

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

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

Bash
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 のワークロード ID フェデレーションを有効にするには、トークンを DATABRICKS_OIDC_TOKENに設定します。または、ファイルにトークンを設定し、そのファイルを指すように DATABRICKS_OIDC_TOKEN_FILEPATH を設定します。

Terraform クラウド

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

DATABRICKS_OIDC_TOKEN_ENV = TFC_WORKLOAD_IDENTITY_TOKEN

Atlassian Bitbucket パイプライン

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

YAML
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