Databricks リソースへのアクセスの承認
このページでは、 Databricks CLIおよびREST APIsを使用してDatabricksリソース へのアクセスを承認する方法について説明します。 さまざまな認証方法、それらを使用するタイミング、ユースケースに合わせて認証を構成する方法について説明します。
CLIまたはREST APIsを使用してDatabricksリソースにアクセスするには、適切な権限を持つDatabricksアカウントを使用して認証する必要があります。 Databricks 管理者または管理者権限を持つユーザーがアカウントを構成します。
アカウントとAPIの種類
認証に使用できるアカウントには 2 種類あります。
- ユーザー アカウント: 対話型 CLI コマンドおよび API 呼び出し用。
- サービスシプリンパル: 人間の介入を必要としない自動化されたCLIコマンドおよびAPI呼び出し用。
Databricksは、異なる認証方法を必要とする 2 種類のAPIsがあります。
- アカウント レベルのAPIs : アカウントの所有者と管理者が利用でき、アカウント コンソール URL でホストされます。 アカウントレベルのAPIsを参照してください。
- ワークスペースレベルのAPIs : ワークスペースのユーザーと管理者が利用でき、ワークスペースの URL でホストされます。 「ワークスペースレベルのAPIsを参照してください。
認証方法
ユースケースに最適な認証方法を選択してください。Databricks ツールと SDK は複数の承認方法をサポートしているため、シナリオに最も適したものを選択できます。
メソッド | 説明 | ユースケース |
---|---|---|
OAuth トークンのフェデレーション (推奨) | ユーザーまたはサービスプリンシパルの ID プロバイダーからの OAuth トークン。 | Databricks シークレットを管理せずに Databricks に対して認証できます。 |
サービスプリンシパル向け短期OAuthトークン。 | 無人認証シナリオ (完全に自動化されたワークフローや CI/CD ワークフローなど)。 | |
ユーザーにとって有効期間の短い OAuth トークン。 | 有人認証シナリオでは、プロンプトが表示されたら、Web ブラウザーを使用して Databricks でリアルタイムに認証します。 |
Databricks のユーザー名とパスワードを使用した基本認証は、2024 年 7 月 10 日にサポートが終了しました。 Databricks で管理されるパスワードのサポート終了を参照してください。
統合認証
Databricks 統合認証は、サポートされているすべてのツールと SDK にわたって認証を構成するための一貫した方法を提供します。このアプローチでは、標準の環境変数と構成プロファイルを使用して資格情報の値を保存するため、認証を繰り返し構成せずにCLIコマンドを実行したり、 APIsを呼び出したりすることができます。
統合認証では、アカウントの種類ごとに異なる処理が行われます。
- ユーザー認証: OAuth 、統合認証をサポートするツールのアクセス許可を自動的に作成および管理します。 「OAuth を使用して Databricks へのユーザー アクセスを承認する」を参照してください。
- サービスシプリンパル認証: OAuthでは、サービスプリンシパルをワークスペースに割り当てた後にDatabricksが提供するクライアント資格情報 (クライアント ID とシークレット) が必要です。 OAuthを使用したDatabricksへのサービスプリンシパル アクセスの承認」を参照してください。
OAuthアクセス人権を使用するには、 Databricksワークスペースまたはアカウント管理者は、コードがアクセスするアカウントおよびワークスペース機能に対するCAN USE
権限をユーザー アカウントまたはサービスプリンシパルに付与する必要があります。
環境変数
統合認証を構成するには、次の環境変数を設定します。一部の変数はユーザーとサービスプリンシパルの両方の認可に適用されますが、その他の変数はサービスプリンシパルにのみ必要です。
環境変数 | 説明 |
---|---|
| Databricks アカウント コンソールの URL ( |
| Databricks アカウントの操作に使用されます。 これは Databricks アカウント ID です。 取得するには、「 アカウント ID を確認する」を参照してください。 |
| (サービスプリンシパル OAuth のみ) サービスプリンシパルの作成時に割り当てられたクライアント ID。 |
| (サービスプリンシパル OAuth のみ) サービスプリンシパルの作成時に生成したクライアントシークレット。 |
環境変数を手動で設定するのではなく、クライアント マシンのDatabricks 構成プロファイル( .databrickscfg
) で定義することを検討してください。
構成プロファイル
Databricks 構成プロファイルには、Databricks ツールと SDK がアクセスを承認するために必要な設定と資格情報が含まれています。これらのプロファイルは、ツール、SDK、スクリプト、アプリが使用できるように、ローカル クライアント ファイル (通常は.databrickscfg
という名前) に保存されます。
詳細については、「 Databricks 構成プロファイル」を参照してください。
サードパーティ統合
サードパーティのサービスやツールと統合する場合は、それらのサービスが提供する認証メカニズムを使用する必要があります。ただし、Databricks は一般的な統合のサポートを提供します。
- Databricks Terraformプロバイダー: Databricksユーザー アカウントを使用して、 TerraformからDatabricks APIsにアクセスします。 「 Terraformを使用したサービスプリンシパルのプロビジョニング」を参照してください。
- Gitプロバイダー: GitHub 、 GitLab 、およびBitbucket 、 Databricksサービス プリンシパルを使用してDatabricks APIsにアクセスできます。 CI/CDについてはサービスシプリンパルを参照してください。
- Jenkins: Databricksサービスプリンシパルを使用してDatabricks APIsにアクセスします。 Databricks 上の Jenkins を使用した CI/CD を参照してください。