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

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

注:

Google ID トークンがツール、SDK、スクリプト、アプリでサポートされているかどうかについては、プロバイダのドキュメントをご覧ください。

Databricks アカウント レベルの機能を自動化するために、Databricks personal アクセストークンを使用することはできません。 代わりに、Databricks アカウント レベルの管理者の Google ID アカウント レベルのトークンを使用します。 Databricks アカウントレベルの管理者は、アカウントレベルの管理者ユーザーとして機能するアカウントレベルの Google サービス アカウントです。 詳しくは、Google ID トークンとアカウント API による認証をご覧ください。関連項目:

ワークスペースユーザー用の Databricksパーソナルアクセストークン

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

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

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

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

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

  5. (任意)今後このトークンを識別するのに役立つコメントを入力し、トークンのデフォルトの有効期間である90日を変更します。有効期間のないトークンを作成するには(非推奨)、[有効期間 (日) ] ボックスを空白のままにしてください。

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

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

注:

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

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

サービスプリンシパル用のDatabricks個人用アクセストークン

ワークスペース管理者は、次のように、サービスプリンシパルに代わって Databricks 個人アクセスマラソンを作成できます。

注:

Databricks ユーザー インターフェイスを使用して、Databricks サービスプリンシパルの Databricks 個人アクセス権を生成することはできません。 このプロセスでは、Databricks CLI バージョン 0.205 以降を使用して、Databricks サービス プリンシパルのアクセス ノートを生成します。 Databricks CLI がまだインストールされていない場合は、 「Databricks CLI のインストールまたは更新」を参照してください。

  1. Databricks CLI の認証をまだ設定していない場合は、設定します。 これを設定する 1 つの方法は、最初に Databricks ワークスペース ユーザーに対して Databricks 個人アクセス権認証を使用することです。 「Databricks の個人アクセス時の認証」を参照してください。

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

    1. ワークスペースの管理コンソールがまだ開いていない場合は、ワークスペースの上部バーでユーザー名をクリックし、 [管理設定]をクリックします。

    2. [ワークスペース管理者]で、 [ID とアクセス]をクリックします。

    3. 「サービスプリンシパル」の横にある「管理」をクリックします。

    4. Databricks サービスプリンパルシの名前をクリックして、その設定ページを開きます。 名前が表示されない場合は、フィルター サービスプリンパルシを使用して検索してください。

    5. [構成]タブで、アプリケーション ID の値をメモします。

  3. Databricks CLI を使用して次のコマンドを実行します。これにより、Databricks サービスプリンシパルのアクセス権が生成されます。

    次のコマンドで、次のプレースホルダーを置き換えます。

    • <application-id>を Databricks サービスプリンシパルのアプリケーション ID に置き換えます。

    • <lifetime-seconds>をアクセス墨が有効な秒数に置き換えます。 たとえば、1 日は 86400 秒です。

    • 必要に応じて、 <comment>アクセスアセトンの目的に関する意味のあるコメントに置き換えます。 --commentオプションを指定しない場合、コメントは生成されません。

    • 必要に応じて、 <profile-name>を、Databricks ユーザーとターゲット ワークスペースの認証情報を含む Databricks 構成プロファイルの名前に置き換えます。 たとえば、 「Databricks の個人アクセスすべて認証」を参照してください。 -pオプションが指定されていない場合、Databricks CLI は、 DEFAULTという名前の構成プロファイルを検索して使用しようとします。

    databricks token-management create-obo-token <application-id> --lifetime-seconds <lifetime-seconds> --comment <comment> -p <profile-name>
    
  4. 応答で、Databricks サービスプリンシパルのアクセス権であるtoken_valueの値をコピーします。

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

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

サービスプリンシパルは、次のように、独自の Databricks 個人アクセス権を使用して、それ自体に追加の Databricks 個人アクセス権を作成できます。

注:

Databricks ユーザー インターフェイスを使用して、Databricks サービスプリンシパルの Databricks 個人アクセス権を生成することはできません。 このプロセスでは、Databricks CLI バージョン 0.205 以降を使用して、Databricks サービス プリンシパルのアクセス ノートを生成します。 Databricks CLI がまだインストールされていない場合は、 「Databricks CLI のインストールまたは更新」を参照してください。

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

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

    次のコマンドで、次のプレースホルダーを置き換えます。

    • 必要に応じて、 <comment>アクセスアセトンの目的に関する意味のあるコメントに置き換えます。 --commentオプションを指定しない場合、コメントは生成されません。

    • 必要に応じて、 <lifetime-seconds>アクセス教訓が有効な秒数に置き換えます。 たとえば、1 日は 86400 秒です。 --lifetime-secondsオプションが指定されていない場合、アクセスマラソンは無期限に設定されます (推奨されません)。

    • 必要に応じて、 <profile-name>を、Databricks サービスプリンシパルとターゲット ワークスペースの認証情報を含む Databricks 構成プロファイルの名前に置き換えます。 -pオプションが指定されていない場合、Databricks CLI は、 DEFAULTという名前の構成プロファイルを検索して使用しようとします。

    databricks tokens create --comment <comment> --lifetime-seconds <lifetime-seconds> -p <profile-name>
    
  2. 応答で、Databricks サービスプリンシパルのアクセス権であるtoken_valueの値をコピーします。

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

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

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

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

  • ターゲットの Databricks ワークスペース URL として指定される Databricks ホスト (例: https://1234567890123456.7.gcp.databricks.com.

  • Databricks ユーザー アカウントの Databricks 個人用アクセストークン。

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

ツールまたは SDK で特定の Databricks 認証の種類の環境変数を使用するには、「 Databricks ツールまたは SDK でサポートされている認証の種類」、またはツールまたは SDK のドキュメントを参照してください。 「クライアント 統合認証の環境変数とフィールド 」および 「クライアント統合認証方法と資格情報の評価のデフォルト順序」も参照してください。

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

  • DATABRICKS_HOSTで、Databricks ワークスペースの URL (例: https://1234567890123456.7.gcp.databricks.com) に設定します。

  • DATABRICKS_TOKEN

.databrickscfg ファイルで次のフィールドを使用して Databricks 構成プロファイルを作成または識別します。プロファイルを作成する場合は、プレースホルダーを適切な値に置き換えます。 ツールまたは SDK でプロファイルを使用するには、「 Databricks ツールまたは SDK でサポートされている認証の種類」、またはツールまたは SDK のドキュメントを参照してください。 「クライアント 統合認証の環境変数とフィールド 」および 「クライアント統合認証方法と資格情報の評価のデフォルト順序」も参照してください。

.databrickscfg ファイルで次の値を設定します。この場合、ホストは Databricks ワークスペースの URL です (例: https://1234567890123456.7.gcp.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 DEFAULTDEFAULT部分を構成プロファイルの別の名前に置き換えます。

  1. Databricks CLI を使用して、Databricks 個人用アクセストークン認証を使用する DEFAULT という名前の Databricks 構成プロファイルを作成します。これを行うには、次のコマンドを実行します。

    databricks configure --profile DEFAULT
    
  2. プロンプト Databricks Host に、Databricks ワークスペース インスタンスの URL を入力します (例: https://1234567890123456.7.gcp.databricks.com)。

  3. プロンプトの Personal Access Tokenに、ワークスペースの Databricks 個人用アクセストークンを入力します。

Databricks CLI の場合は、 databricks configure コマンドを実行します。 プロンプトで、次の設定を入力します。

  • ターゲットの Databricks ワークスペース URL として指定される Databricks ホスト (例: https://1234567890123456.7.gcp.databricks.com.

  • Databricks ユーザー アカウントの Databricks 個人用アクセストークン。

詳細については、「 Databricks 個人用アクセストークン認証」を参照してください。

注:

Databricks 個人用アクセストークン認証は、次の Databricks Connect バージョンでサポートされています。

  • Python の場合、Databricks Runtime 13.3 LTS 以降用の Databricks Connect。

  • Scala の場合、Databricks Connect for Databricks Runtime 13.3 LTS 以降。

Databricks Connect では、Databricks CLI を使用して、この記事の「プロファイル」セクションで指定されている Databricks ワークスペース レベルの操作に対して、次のように .databrickscfg ファイルの値を設定できます。

注:

次の手順では、Databricks CLI を使用して、DEFAULTという名前の Databricks 構成プロファイルを作成します。DEFAULT構成プロファイルが既にある場合は、この手順によって既存のDEFAULT構成プロファイルが上書きされます。

DEFAULT構成プロファイルが既にあるかどうかを確認し、このプロファイルの設定が存在する場合は表示するには、Databricks CLI を使用してコマンド databricks auth env --profile DEFAULTを実行します。

DEFAULT以外の名前で構成プロファイルを作成するには、次の手順に示すように、databricks configure コマンドの --profile DEFAULTDEFAULT部分を構成プロファイルの別の名前に置き換えます。

  1. Databricks CLI を使用して、Databricks 個人用アクセストークン認証を使用する DEFAULT という名前の Databricks 構成プロファイルを作成します。これを行うには、次のコマンドを実行します。

    databricks configure --configure-cluster --profile DEFAULT
    
  2. プロンプト Databricks Host に、Databricks ワークスペース インスタンスの URL を入力します (例: https://1234567890123456.7.gcp.databricks.com)。

  3. プロンプトの Personal Access Tokenに、ワークスペースの Databricks 個人用アクセストークンを入力します。

  4. 表示される使用可能なクラスターの一覧で、上方向キーと下方向キーを使用してワークスペース内のターゲット Databricks クラスターを選択し、 Enterを押します。 また、クラスターの表示名の任意の部分を入力して、使用可能なクラスターの一覧をフィルター処理することもできます。

Databricks Connect でサポートされているその他のアプローチには、次のものがあります。

  • この記事の「プロファイル」セクションで指定されているように、Databricks ワークスペース レベルの操作の .databrickscfg ファイルの値を手動で設定します。 また、プロファイルの cluster_id 環境変数を ワークスペース インスタンスの URL に設定します (例: https://1234567890123456.7.gcp.databricks.com)。

  • この記事の「環境」セクションで指定されているように、Databricks ワークスペース レベルの操作の環境変数を設定します。 また、 DATABRICKS_CLUSTER_ID 環境変数を ワークスペース インスタンスの URL (例: https://1234567890123456.7.gcp.databricks.com) に設定します。

.databrickscfg ファイル内の値は、常に環境変数よりも優先されます。

.databrickscfg ファイル内のこれらの環境変数または値を使用して Databricks Connect クライアントを初期化するには、次のいずれかを参照してください。

Visual Studio Code の Databricks 拡張機能の場合は、次の操作を行います。

  1. この記事の「プロファイル」セクションで指定されているように、Databricks ワークスペース レベルの操作の .databrickscfg ファイルの値を設定します。

  2. Visual Studio Code の Databricks 拡張機能の [ 構成 ] ウィンドウで、 [ Databricks の構成] をクリックします。

  3. コマンド パレット[Databricks Host] に、ワークスペースの URL (例: https://1234567890123456.7.gcp.databricks.com) を入力し、Enterを押します。

  4. コマンド パレットで、URL の一覧からターゲット プロファイルの名前を選択します。

詳細については、「 Visual Studio Code の Databricks 拡張機能の認証設定」を参照してください。

デフォルトの認証の場合:

provider "databricks" {
  alias = "workspace"
}

直接構成の場合 ( retrieve プレースホルダーを独自の実装に置き換えて、コンソールまたは他の構成ストア ( HashiCorp Vault など) から値を取得します。 「Vault プロバイダ」も参照してください)。この場合、ホストは Databricks ワークスペースの URL です (例: https://1234567890123456.7.gcp.databricks.com)。

provider "databricks" {
  alias = "workspace"
  host  = <retrieve-workspace-url>
  token = <retrieve-token>
}

Databricks Terraform プロバイダーでの認証の詳細については、「 認証」を参照してください。

デフォルトの認証の場合:

from databricks.sdk import WorkspaceClient

w = WorkspaceClient()
# ...

直接構成の場合 ( retrieve プレースホルダーを独自の実装に置き換えて、コンソールまたは他の構成ストア ( Google クラウド Secret Manager など) から値を取得します)。 この場合、ホストは Databricks ワークスペースの URL です (例: https://1234567890123456.7.gcp.databricks.com)。

from databricks.sdk import WorkspaceClient

w = WorkspaceClient(
  host  = retrieve_workspace_url(),
  token = retrieve_token()
)
# ...

Python を使用し、Databricks クライアント統合認証を実装する Databricks ツールと SDK での認証の詳細については、以下を参照してください。

デフォルトの認証の場合:

import com.databricks.sdk.WorkspaceClient;
// ...
WorkspaceClient w = new WorkspaceClient();
// ...

直接構成の場合 ( retrieve プレースホルダーを独自の実装に置き換えて、コンソールまたは他の構成ストア ( Google クラウド Secret Manager など) から値を取得します)。 この場合、ホストは Databricks ワークスペースの URL です (例: https://1234567890123456.7.gcp.databricks.com)。

import com.databricks.sdk.WorkspaceClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
  .setHost(retrieveWorkspaceUrl())
  .setToken(retrieveToken());
WorkspaceClient w = new WorkspaceClient(cfg);
// ...

Java を使用し、Databricks クライアント統合認証を実装する Databricks ツールと SDK での認証の詳細については、以下を参照してください。

デフォルトの認証の場合:

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient())
// ...

直接構成の場合 ( retrieve プレースホルダーを独自の実装に置き換えて、コンソールまたは他の構成ストア ( Google クラウド Secret Manager など) から値を取得します)。 この場合、ホストは Databricks ワークスペースの URL です (例: https://1234567890123456.7.gcp.databricks.com)。

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient(&databricks.Config{
  Host:  retrieveWorkspaceUrl(),
  Token: retrieveToken(),
}))
// ...

Go を使用し、Databricks クライアント統合認証を実装する Databricks ツールと SDK での認証の詳細については、「Databricks アカウントまたはワークスペースで Databricks SDK for Go を認証する」を参照してください。