Terraform Cloud、Bitbucket パイプライン、または Jenkins のワークロード ID フェデレーションを有効にする
プレビュー
Databricks OAuth トークン フェデレーションは パブリック プレビュー段階です。
Databricks OAuth トークン フェデレーション (OpenID Connect (OIDC) とも呼ばれます) を使用すると、Databricks の外部で実行されている自動化されたワークロードで、Databricks シークレットを必要とせずに Databricks に安全にアクセスできます。「OAuth トークン フェデレーションを使用して Databricks へのアクセスを認証する」を参照してください。
Terraform Cloud、Atlassian Bitbucket パイプライン、または Jenkins のワークロード ID フェデレーションを有効にするには、次の手順を実行します。
ワークロード ID フェデレーションを有効にすると、Databricks SDK と Databricks CLI は ID プロバイダーからワークロード ID トークンを自動的にフェッチし、それらを Databricks OAuth トークンと交換します。
フェデレーション ポリシーを作成する
まず、Databricks CLI を使用して、 ワークロード ID フェデレーション ポリシーを作成します。次の値を設定する必要があります。
issuer
: 通常、プロバイダーのトークン URLaudiences
: 通常は組織識別子subject
: 通常、ジョブまたはプロジェクトのコンテキストを指定する値
GitLabhttps://gitlab.com/example-group
たとえば、Databricks サービスプリンシパルの数値 ID が の URL の場合、次の5581763342009999
コマンドを使用してフェデレーションDatabricksCLI ポリシーを作成します。
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に指示します。
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