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

Databricks 個人用アクセス トークン認証

Databricks個人用アクセス トークン (PAT) は、Databricksワークスペース レベルでリソースとAPIへのアクセスを認証するために使用されます。資格情報と関連情報 (環境変数や Databricks 構成プロファイルなど) の多くのストレージ メカニズムは、Databricks の個人用アクセス トークンのサポートを提供します。 ユーザーは 1 つの Databricks ワークスペースに複数の個人用アクセス トークンを持つことができますが、各個人用アクセス トークンは 1 つの Databricks ワークスペースに対してのみ機能します。 ユーザーあたりの個人用アクセス トークンの数は、ワークスペースあたり 600 に制限されています。

Databricks は、90 日以上使用されていない個人用アクセス トークンを自動的に取り消します。

important

Databricks では、OAuth のセキュリティが向上しているため、ユーザー アカウント、クライアントの認証と承認に PAT の代わりに OAuth を使用することを強くお勧めします。OAuth を使用して Databricks ユーザーアカウントでクライアント認証を実行する方法については、「 OAuth を使用してユーザーアカウントで Databricks リソースへの対話型アクセスを承認する」を参照してください。

Databricks のユーザー名とパスワードを使用した基本 (トークンベースではない) 認証は、2024 年 7 月 10 日にサポートが終了しました。

Databricksアカウント レベルの機能を自動化するには、 Databricks個人用アクセストークンは使用できません。代わりに、Databricksアカウント管理者ユーザーまたはサービスプリンシパルのOAuthトークンを使用する必要があります。詳細については、以下を参照してください。

ワークスペース ユーザー用の Databricks 個人用アクセス トークン

DatabricksワークスペースユーザーのDatabricks個人用アクセストークンを作成するには、次の手順を実行します。

  1. Databricksワークスペースで、上部のバーに表示されているDatabricksユーザー名をクリックし、ドロップダウンから [ 設定 ] を選択します。

  2. [開発者] をクリックします。

  3. [アクセストークン] の横にある [管理] をクリックします。

  4. [新規トークンを生成] をクリックします。

  5. 今後、このトークンを識別するのに役立つコメントを入力します。

  6. トークンの有効期間を日数で設定します。

    [有効期間 (日)] ボックスを空のままにすると、トークンの有効期間はワークスペースの最大有効期間に設定されます。デフォルトでは、ワークスペースの最大トークン有効期間は 730 日です。 新しい個人用アクセス トークンの最大有効期間を設定するを参照してください。

  7. [生成] をクリックします。

  8. 表示されたトークンを安全な場所にコピーし、 [完了] をクリックします。

注記

コピーしたトークンは必ず安全な場所に保存してください。コピーしたトークンを他のユーザーと共有しないでください。コピーしたトークンを紛失した場合、まったく同じトークンを再生成することはできません。代わりに、この手順を繰り返して新しいトークンを作成する必要があります。コピーしたトークンを紛失した場合、またはトークンが漏洩したと思われる場合は、 [アクセストークン] ページでトークンの横にあるゴミ箱( [取り消し] )アイコンをクリックして、直ちにそのトークンをワークスペースから削除することを強くお勧めします。

ワークスペースでトークンを作成または使用できない場合は、ワークスペース管理者がトークンを無効にしているか、トークンを作成または使用する権限を付与していない可能性があります。 ワークスペース管理者または次のトピックを参照してください。

サービスプリンシパル向けDatabricksパーソナルアクセストークン

ステップ 1: Databricks Databricks管理者として、CLI から サービスプリンシパルの PAT を作成します

ワークスペース管理者は、次のようにCLIを使用して、サービスプリンシパルの代わりにDatabricks 個人用アクセストークンを作成できます。

  1. Databricks CLIの認証をまだ設定していない場合は、設定します。

  2. DatabricksサービスプリンシパルのアプリケーションIDを取得します(まだ取得していない場合)。

    1. ワークスペースの管理コンソールがまだ開いていない場合は、ワークスペースの上部バーでユーザー名をクリックし、[ 設定 ]をクリックします。
    2. [ ワークスペース管理 ]で、[ IDとアクセス ]をクリックします。
    3. サービスプリンシパル の横にある [ 管理 ] をクリックします。
    4. Databricksサービスプリンシパルの名前をクリックして、その設定ページを開きます。名前が表示されない場合は、 サービスプリンシパルのフィルター を使用して検索してください。
    5. [ 構成 ]タブで、 アプリケーションID の値を書き留めます。
  3. Databricks CLIを使用して次のコマンドを実行します。これにより、Databricksサービスプリンシパルのアクセストークンが生成されます。

    次のコマンドを実行します。

    Bash
    databricks 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という名前の構成プロファイルを検索して使用しようとします。
  4. レスポンス内の、Databricksサービスプリンシパルのアクセストークンであるtoken_valueの値をコピーします。

    コピーしたトークンは必ず安全な場所に保存してください。コピーしたトークンを他のユーザーと共有しないでください。コピーしたトークンを紛失した場合、まったく同じトークンを再生成することはできません。代わりに、この手順を繰り返して新しいトークンを作成する必要があります。

    ワークスペースでトークンを作成または使用できない場合は、ワークスペース管理者がトークンを無効にしたか、トークンを作成または使用する権限を与えていないことが原因である可能性があります。ワークスペース管理者に問い合わせるか、以下をご覧ください。

ステップ 2: サービスプリンシパルの追加の PAT を作成する

Databricks サービスプリンシパルの PAT を作成したら、その PAT を使用して、次のようにサービスプリンシパルの追加の Databricks パーソナルアクセストークンを作成できます。

この手順では、Databricks サービスプリンシパルの最初の Databricksパーソナルアクセストークンがすでに生成されていることを前提としています。このアクセス トークンを使用して、Databricksサービス プリンシパルを認証するようにDatabricks CLI を設定し、その後、サービスプリンシパル自体の追加のアクセス トークンを生成できるようにします。Databricks 個人用アクセス トークン認証を参照してください。

  1. Databricks CLIを使用して次のコマンドを実行すると、Databricksサービスプリンシパルに対する別のアクセストークンが生成されます。

    次のコマンドを実行します。

    Bash
    databricks 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という名前の構成プロファイルを検索して使用しようとします。
  2. レスポンス内の、Databricks サービスプリンシパルのアクセストークンであるtoken_valueの値をコピーします。

    コピーしたトークンは必ず安全な場所に保存してください。コピーしたトークンを他のユーザーと共有しないでください。コピーしたトークンを紛失した場合、まったく同じトークンを再生成することはできません。代わりに、この手順を繰り返して新しいトークンを作成する必要があります。

    ワークスペースでトークンを作成または使用できない場合は、ワークスペース管理者がトークンを無効にしたか、トークンを作成または使用する権限を与えていないことが原因である可能性があります。ワークスペース管理者に問い合わせるか、以下をご覧ください。

Databricks の個人用アクセス トークン認証を実行する

Databricks個人用アクセストークン認証を構成するには、以下に挙げられた関連する環境変数、.databrickscfgフィールド、Terraformフィールド、またはConfigフィールドを設定する必要があります。

  • ターゲット Databricks ワークスペース URL として指定される Databricks ホスト (例: https://dbc-a1b2345c-d6e7.cloud.databricks.com.
  • DatabricksユーザーアカウントまたはDatabricksサービスプリンシパルのDatabricks個人用アクセストークン。

Databricks個人用アクセストークン認証を実行するには、参加しているツールまたはSDKに基づいてコード内に以下を統合します。

ツールまたは SDK で特定の Databricks 認証の種類の環境変数を使用するには、「 Databricks リソースへのアクセスの承認 」またはツールまたは SDK のドキュメントを参照してください。統合クライアント認証の環境変数とフィールドおよびクライアント統合認証のデフォルト方式も参照してください。

次の環境変数を設定します。

  • DATABRICKS_HOSTで、Databricks ワークスペース URL ( https://dbc-a1b2345c-d6e7.cloud.databricks.comなど) に設定します。
  • DATABRICKS_TOKENは、トークン文字列に設定されます。

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: トークンの有効期間 (秒単位)。
Bash
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 ヘッダーに指定します。 例えば:

Bash
# 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>"
Python
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)