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

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

備考

プレビュー

Databricks OAuth トークン フェデレーションは パブリック プレビュー段階です。

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 トークンと交換します。

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

まず、Databricks CLI を使用して、 ワークロード ID フェデレーション ポリシーを作成します。次の値を設定する必要があります。

  • issuer: 通常、プロバイダーのトークン URL
  • audiences: 通常は組織識別子
  • subject: 通常、ジョブまたはプロジェクトのコンテキストを指定する値

GitLabhttps://gitlab.com/example-groupたとえば、Databricks サービスプリンシパルの数値 ID が の URL の場合、次の5581763342009999 コマンドを使用してフェデレーションDatabricksCLI ポリシーを作成します。

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