Databricks 個人用アクセス トークン認証
Databricks個人用アクセス トークン (PAT) は、Databricksワークスペース レベルでリソースとAPIへのアクセスを認証するために使用されます。資格情報と関連情報 (環境変数や Databricks 構成プロファイルなど) の多くのストレージ メカニズムは、Databricks の個人用アクセス トークンのサポートを提供します。 ユーザーは 1 つの Databricks ワークスペースに複数の個人用アクセス トークンを持つことができますが、各個人用アクセス トークンは 1 つの Databricks ワークスペースに対してのみ機能します。 ユーザーあたりの個人用アクセス トークンの数は、ワークスペースあたり 600 に制限されています。
Databricks は、90 日以上使用されていない個人用アクセス トークンを自動的に取り消します。
Databricks では、OAuth のセキュリティが向上しているため、ユーザー アカウント、クライアントの認証と承認に PAT の代わりに OAuth を使用することを強くお勧めします。OAuth を使用して Databricks ユーザーアカウントでクライアント認証を実行する方法については、「 OAuth を使用してユーザーアカウントで Databricks リソースへの対話型アクセスを承認する」を参照してください。
Databricks のユーザー名とパスワードを使用した基本 (トークンベースではない) 認証は、2024 年 7 月 10 日にサポートが終了しました。
Databricksアカウント レベルの機能を自動化するには、 Databricks個人用アクセストークンは使用できません。代わりに、Databricksアカウント管理者ユーザーまたはサービスプリンシパルのOAuthトークンを使用する必要があります。詳細については、以下を参照してください。
- Databricks リソースへの無人アクセスをOAuthを用いたサービスプリンシパルで承認する
- OAuth を使用して、ユーザーアカウントで Databricks リソースへの対話型アクセスを承認します
ワークスペース ユーザー用の Databricks 個人用アクセス トークン
DatabricksワークスペースユーザーのDatabricks個人用アクセストークンを作成するには、次の手順を実行します。
-
Databricksワークスペースで、上部のバーに表示されているDatabricksユーザー名をクリックし、ドロップダウンから [ 設定 ] を選択します。
-
[開発者] をクリックします。
-
[アクセストークン] の横にある [管理] をクリックします。
-
[新規トークンを生成] をクリックします。
-
今後、このトークンを識別するのに役立つコメントを入力します。
-
トークンの有効期間を日数で設定します。
[有効期間 (日)] ボックスを空のままにすると、トークンの有効期間はワークスペースの最大有効期間に設定されます。デフォルトでは、ワークスペースの最大トークン有効期間は 730 日です。 新しい個人用アクセス トークンの最大有効期間を設定するを参照してください。
-
[生成] をクリックします。
-
表示されたトークンを安全な場所にコピーし、 [完了] をクリックします。
コピーしたトークンは必ず安全な場所に保存してください。コピーしたトークンを他のユーザーと共有しないでください。コピーしたトークンを紛失した場合、まったく同じトークンを再生成することはできません。代わりに、この手順を繰り返して新しいトークンを作成する必要があります。コピーしたトークンを紛失した場合、またはトークンが漏洩したと思われる場合は、 [アクセストークン] ページでトークンの横にあるゴミ箱( [取り消し] )アイコンをクリックして、直ちにそのトークンをワークスペースから削除することを強くお勧めします。
ワークスペースでトークンを作成または使用できない場合は、ワークスペース管理者がトークンを無効にしているか、トークンを作成または使用する権限を付与していない可能性があります。 ワークスペース管理者または次のトピックを参照してください。
サービスプリンシパル向けDatabricksパーソナルアクセストークン
ステップ 1: Databricks Databricks管理者として、CLI から サービスプリンシパルの PAT を作成します
ワークスペース管理者は、次のようにCLIを使用して、サービスプリンシパルの代わりにDatabricks 個人用アクセストークンを作成できます。
-
Databricks CLIの認証をまだ設定していない場合は、設定します。
-
DatabricksサービスプリンシパルのアプリケーションIDを取得します(まだ取得していない場合)。
- ワークスペースの管理コンソールがまだ開いていない場合は、ワークスペースの上部バーでユーザー名をクリックし、[ 設定 ]をクリックします。
- [ ワークスペース管理 ]で、[ IDとアクセス ]をクリックします。
- サービスプリンシパル の横にある [ 管理 ] をクリックします。
- Databricksサービスプリンシパルの名前をクリックして、その設定ページを開きます。名前が表示されない場合は、 サービスプリンシパルのフィルター を使用して検索してください。
- [ 構成 ]タブで、 アプリケーションID の値を書き留めます。
-
Databricks CLIを使用して次のコマンドを実行します。これにより、Databricksサービスプリンシパルのアクセストークンが生成されます。
次のコマンドを実行します。
Bashdatabricks token-management create-obo-token <application-id> --lifetime-seconds <lifetime-seconds> --comment <comment> -p <profile-name>
<application-id>
をDatabricksサービスプリンシパルのアプリケーションIDに置き換えます。--lifetime-seconds
:<lifetime-seconds>
を、アクセス トークンの有効期間を秒数に置き換えます。 たとえば、1 日は 86400 秒です。--lifetime-seconds
オプションが指定されていない場合、アクセス トークンはワークスペースの最大有効期間に設定されます。デフォルトでは、ワークスペースの最大トークン有効期間は 730 日です。--comment
:<comment>
をアクセス トークンの目的に関する意味のあるコメントに置き換えます。--comment
オプションが指定されていない場合、コメントは生成されません。--profile-name
:<profile-name>
を、Databricks サービスプリンシパルとターゲット ワークスペースの認証情報を含む Databricks 構成プロファイルの名前に置き換えます。-p
オプションが指定されていない場合、Databricks CLI はDEFAULT
という名前の構成プロファイルを検索して使用しようとします。
-
レスポンス内の、Databricksサービスプリンシパルのアクセストークンである
token_value
の値をコピーします。コピーしたトークンは必ず安全な場所に保存してください。コピーしたトークンを他のユーザーと共有しないでください。コピーしたトークンを紛失した場合、まったく同じトークンを再生成することはできません。代わりに、この手順を繰り返して新しいトークンを作成する必要があります。
ワークスペースでトークンを作成または使用できない場合は、ワークスペース管理者がトークンを無効にしたか、トークンを作成または使用する権限を与えていないことが原因である可能性があります。ワークスペース管理者に問い合わせるか、以下をご覧ください。
ステップ 2: サービスプリンシパルの追加の PAT を作成する
Databricks サービスプリンシパルの PAT を作成したら、その PAT を使用して、次のようにサービスプリンシパルの追加の Databricks パーソナルアクセストークンを作成できます。
この手順では、Databricks サービスプリンシパルの最初の Databricksパーソナルアクセストークンがすでに生成されていることを前提としています。このアクセス トークンを使用して、Databricksサービス プリンシパルを認証するようにDatabricks CLI を設定し、その後、サービスプリンシパル自体の追加のアクセス トークンを生成できるようにします。Databricks 個人用アクセス トークン認証を参照してください。
-
Databricks CLIを使用して次のコマンドを実行すると、Databricksサービスプリンシパルに対する別のアクセストークンが生成されます。
次のコマンドを実行します。
Bashdatabricks tokens create --comment <comment> --lifetime-seconds <lifetime-seconds> -p <profile-name>
--comment
:<comment>
をアクセス トークンの目的に関する意味のあるコメントに置き換えます。--comment
オプションが指定されていない場合、コメントは生成されません。--lifetime-seconds
:<lifetime-seconds>
を、アクセス トークンの有効期間を秒数に置き換えます。 たとえば、1 日は 86400 秒です。--lifetime-seconds
オプションが指定されていない場合、アクセス トークンはワークスペースの最大有効期間に設定されます。デフォルトでは、ワークスペースの最大トークン有効期間は 730 日です。--profile-name
:<profile-name>
を、Databricks サービスプリンシパルとターゲット ワークスペースの認証情報を含む Databricks 構成プロファイルの名前に置き換えます。-p
オプションが指定されていない場合、Databricks CLI はDEFAULT
という名前の構成プロファイルを検索して使用しようとします。
-
レスポンス内の、Databricks サービスプリンシパルのアクセストークンである
token_value
の値をコピーします。コピーしたトークンは必ず安全な場所に保存してください。コピーしたトークンを他のユーザーと共有しないでください。コピーしたトークンを紛失した場合、まったく同じトークンを再生成することはできません。代わりに、この手順を繰り返して新しいトークンを作成する必要があります。
ワークスペースでトークンを作成または使用できない場合は、ワークスペース管理者がトークンを無効にしたか、トークンを作成または使用する権限を与えていないことが原因である可能性があります。ワークスペース管理者に問い合わせるか、以下をご覧ください。
Databricks の個人用アクセス トークン認証を実行する
Databricks個人用アクセストークン認証を構成するには、以下に挙げられた関連する環境変数、.databrickscfg
フィールド、Terraformフィールド、またはConfig
フィールドを設定する必要があります。
- ターゲット Databricks ワークスペース URL として指定される Databricks ホスト (例:
https://dbc-a1b2345c-d6e7.cloud.databricks.com
. - DatabricksユーザーアカウントまたはDatabricksサービスプリンシパルのDatabricks個人用アクセストークン。
Databricks個人用アクセストークン認証を実行するには、参加しているツールまたはSDKに基づいてコード内に以下を統合します。
- Environment
- Profile
- CLI
- Connect
ツールまたは SDK で特定の Databricks 認証の種類の環境変数を使用するには、「 Databricks リソースへのアクセスの承認 」またはツールまたは SDK のドキュメントを参照してください。統合クライアント認証の環境変数とフィールド、およびクライアント統合認証のデフォルト方式も参照してください。
次の環境変数を設定します。
DATABRICKS_HOST
で、Databricks ワークスペース URL (https://dbc-a1b2345c-d6e7.cloud.databricks.com
など) に設定します。DATABRICKS_TOKEN
は、トークン文字列に設定されます。
Databricks 構成プロファイル を作成または識別し、 .databrickscfg
ファイルに次のフィールドを含めます。プロファイルを作成する場合は、プレースホルダを適切な値に置き換えます。ツールまたは SDK でプロファイルを使用するには、「 Databricks リソースへのアクセスの承認 」またはツールまたは SDK のドキュメントを参照してください。統合クライアント認証の環境変数とフィールド、およびクライアント統合認証のデフォルト方式も参照してください。
.databrickscfg
ファイルに次の値を設定します。この場合、ホストは Databricks ワークスペースの URL です (例: https://dbc-a1b2345c-d6e7.cloud.databricks.com
[<some-unique-configuration-profile-name>]
host = <workspace-url>
token = <token>
.databrickscfg
ファイルに前述の値を手動で設定する代わりに、次のようにDatabricks CLIを使用してこれらの値を設定できます。
次の手順では、Databricks CLI を使用して、DEFAULT
という名前で Databricks 構成プロファイルを作成します。DEFAULT
構成プロファイルが既にある場合は、この手順によって既存のDEFAULT
構成プロファイルが上書きされます。
DEFAULT
構成プロファイルが既にあるかどうかを確認し、このプロファイルの設定が存在する場合は表示するには、Databricks CLI を使用してコマンド databricks auth env --profile DEFAULT
を実行します。
DEFAULT
以外の名前の構成プロファイルを作成するには、次のdatabricks configure
コマンドの --profile DEFAULT
の DEFAULT
の部分を、構成プロファイルの別の名前に置き換えてください。
-
Databricks CLI を使用して、Databricks パーソナル アクセス トークン認証を使用する
DEFAULT
という名前の Databricks 構成プロファイルを作成します。これを行うには、次のコマンドを実行します。Bashdatabricks configure --profile DEFAULT
-
プロンプト Databricks Host には、Databricks ワークスペース インスタンスの URL を入力します (例:
https://dbc-a1b2345c-d6e7.cloud.databricks.com
)。 -
プロンプトの Personal Access Token に、ワークスペースのDatabricks個人用アクセストークンを入力します。
Databricks CLIの場合は、databricks configure
コマンドを実行します。プロンプトで、次の設定を入力します。
- ターゲット Databricks ワークスペース URL として指定される Databricks ホスト (例:
https://dbc-a1b2345c-d6e7.cloud.databricks.com
. - DatabricksユーザーアカウントまたはDatabricksサービスプリンシパルのDatabricks個人用アクセストークン。
詳細については、「 Databricks 個人用アクセス トークン認証」を参照してください。
Databricks個人用アクセストークン認証は、次の Databricks Connectバージョンでサポートされています。
- Pythonの場合、Databricks Connect for Databricks Runtime 13.3 LTS以降。
- Scalaの場合、Databricks Connect for Databricks Runtime 13.3 LTS以降。
Databricks Connect では、Databricks CLI を使用して、この記事の「プロファイル」セクションで指定されている Databricks ワークスペース レベルの操作に対して、次のように Databricks CLI を使用して .databrickscfg
ファイル内の値を設定できます。
次の手順では、Databricks CLI を使用して、DEFAULT
という名前で Databricks 構成プロファイルを作成します。DEFAULT
構成プロファイルが既にある場合は、この手順によって既存のDEFAULT
構成プロファイルが上書きされます。
DEFAULT
構成プロファイルが既にあるかどうかを確認し、このプロファイルの設定が存在する場合は表示するには、Databricks CLI を使用してコマンド databricks auth env --profile DEFAULT
を実行します。
DEFAULT
以外の名前の設定プロファイルを作成するには、次のステップに示すようにdatabricks configure
コマンドの--profile DEFAULT
のDEFAULT
の部分を、設定プロファイルの別の名前に置き換えてください。
-
Databricks CLI を使用して、Databricks パーソナル アクセス トークン認証を使用する
DEFAULT
という名前の Databricks 構成プロファイルを作成します。これを行うには、次のコマンドを実行します。Bashdatabricks configure --configure-cluster --profile DEFAULT
-
プロンプト Databricks Host には、Databricks ワークスペース インスタンスの URL を入力します (例:
https://dbc-a1b2345c-d6e7.cloud.databricks.com
)。 -
プロンプトの Personal Access Token に、ワークスペースのDatabricks個人用アクセストークンを入力します。
-
表示される使用可能なクラスターの一覧で、上方向キーと下方向キーを使用してワークスペース内のターゲット Databricks クラスターを選択し、
Enter
キーを押します。 クラスターの表示名の任意の部分を入力して、使用可能なクラスターの一覧をフィルター処理することもできます。
Databricks REST API を使用して個人用アクセス トークンを発行する
Databricks には、PAT を発行するための REST エンドポイント /api/2.0/token/create
が用意されています。 API の詳細については、「ユーザー トークンの作成 」を参照してください。
REST API には特定の値を指定する必要があります。 次の例では、次の値を設定します。
<databricks-instance>
を Databricks ワークスペースの URL に置き換えます。たとえば、dbc-abcd1234-5678.cloud.databricks.com
。<your-existing-access-token>
を、新しいトークンを作成する権限を持つ既存の有効な PAT (文字列) に置き換えます。
次のパラメーターの値を指定します。
comment
: 新しいトークンの説明。lifetime_seconds
: トークンの有効期間 (秒単位)。
curl -X POST https://<databricks-instance>/api/2.0/token/create \
-H "Authorization: Bearer <your-existing-access-token>" \
-H "Content-Type: application/json" \
-d '{
"comment": "New PAT using DB API",
"lifetime_seconds": <lifetime-of-pat-in-seconds>
}'
-d
フラグは、要求の JSON ペイロードを提供します。
成功すると、次のような応答ペイロードが生成されます。
{
"access_token": "<your-newly-issued-pat>",
"token_type": "Bearer",
"expires_in": <the-duration-of-the-new-pat>
}
応答からの新しいトークンを、後続の Databricks REST APIへの呼び出しの Authorization ヘッダーに指定します。 例えば:
# This example uses a simple GET. For POST or other REST verbs, you may need to provide additional parameters.
curl -X GET "https://<databricks-instance>/api/2.0/<path-to-endpoint>" \
-H "Authorization: Bearer <your-new-pat>"
import requests
headers = {
'Authorization': 'Bearer <your-new-pat>'
}
# This example is for an HTTP GET operation.
response = requests.get('https://<databricks-instance>/api/2.0/<path-to-endpoint>', headers=headers)