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

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

注意

Azure Databricks アカウントレベルの機能を自動化するために、Azure Databricks 個人用アクセス トークンを使用することはできません。 代わりに、Azure Databricks アカウント管理者の Microsoft Entra ID (旧称 Azure Active Directory) トークンを使用する必要があります。 Azure Databricks アカウント管理者は、ユーザーまたはサービス プリンシパルになることができます。 詳細については、次を参照してください。

関連項目:

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

Azure Databricks ワークスペース ユーザーのために Azure Databricks 個人用アクセス トークンを作成するには、以下の操作を行います。

  1. Azure Databricks ワークスペースの上部バーで、目的の Azure Databricks ユーザー名をクリックし、次にドロップダウンから [設定] を選択します。
  2. [開発者] をクリックします。
  3. [アクセス トークン] の横にある [管理] をクリックします。
  4. [新しいトークンの生成] をクリックします。
  5. (省略可能) 将来このトークンを識別するのに役立つコメントを入力し、トークンの既定の有効期間 90 日を変更します。 有効期間のないトークンを作成するには (推奨されません)、[有効期間 (日)] ボックスを空のままにします。
  6. [Generate](生成) をクリックします。
  7. 表示されたトークンを安全な場所にコピーし、[完了] をクリックします。

Note

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

ワークスペースでトークンを作成することや使用することができない場合は、ワークスペース管理者によってトークンが無効にされているか、トークンを作成または使用する権限が作業者に付与されていない可能性があります。 ワークスペース管理者に連絡するか、以下の情報を参照してください。

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

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

Note

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

この手順では、OAuth マシン間 (M2M) 認証または Microsoft Entra ID サービス プリンシパル認証を使用して、サービス プリンシパル認証用の Databricks CLI を設定し、それ自体の Azure Databricks 個人用アクセス トークンを生成することを前提としています。 「OAuth マシン間 (M2M) 認証」または「 Microsoft Entra ID サービス プリンシパル認証」を参照してください。

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

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

    • オプションで、アクセス トークンの目的に関する意味のあるコメントで <comment> を置き換えます。 --comment オプションが指定されていない場合は、コメントは生成されません。
    • オプションで、アクセス トークンが有効になる秒数で <lifetime-seconds> を置き換えます。 たとえば、1 日は 86400 秒です。 --lifetime-seconds オプションが指定されていない場合、アクセス トークンは期限切れにならないように設定されます (推奨されません)。
    • オプションで、サービス プリンシパルとターゲット ワークスペースの認証情報を含む Azure Databricks 構成プロファイル名で <profile-name> を置き換えます。 -p オプションが指定されていない場合、Databricks CLI は DEFAULT という名前の構成プロファイルを検索して使用しようとします。
    databricks tokens create --comment <comment> --lifetime-seconds <lifetime-seconds> -p <profile-name>
    
  2. 応答では、サービス プリンシパルのアクセス トークンである token_value の値をコピーします。

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

    ワークスペースでトークンを作成することや使用することができない場合は、ワークスペース管理者によってトークンが無効にされているか、トークンを作成または使用する権限が作業者に付与されていない可能性があります。 ワークスペース管理者に連絡するか、以下の情報を参照してください。

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

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

  • Azure Databricks ホスト。対象の Azure Databricks のワークスペースごとの URL として指定されます (例: https://adb-1234567890123456.7.azuredatabricks.net)。
  • Azure Databricks ユーザー アカウント用の Azure Databricks 個人用アクセス トークン認証。

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

環境

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

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

  • DATABRICKS_HOST。対象の Azure Databricks のワークスペースごとの URL に設定されます (例: https://adb-1234567890123456.7.azuredatabricks.net)。
  • DATABRICKS_TOKEN

プロファイル

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

.databrickscfg ファイルに次の値を設定してください。 この場合、ホストは Azure Databricks のワークスペースごとの URL です (例: https://adb-1234567890123456.7.azuredatabricks.net)。

[<some-unique-configuration-profile-name>]
host  = <workspace-url>
token = <token>

.databrickscfg ファイルで上記の値を手動で設定する代わりに、次のように Databricks CLI を使用してこれらの値を設定できます。

Note

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

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

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

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

    databricks configure --profile DEFAULT
    
  2. プロンプト [Databricks Host] には、Azure Databricks のワークスペースごとの URL (例: https://adb-1234567890123456.7.azuredatabricks.net) を入力します。

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

Cli

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

  • Azure Databricks ホスト。対象の Azure Databricks のワークスペースごとの URL として指定されます (例: https://adb-1234567890123456.7.azuredatabricks.net)。
  • Azure Databricks ユーザー アカウント用の Azure Databricks 個人用アクセス トークン認証。

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

のインスタンスに接続するときには、

Note

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

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

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

Note

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

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

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

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

    databricks configure --configure-cluster --profile DEFAULT
    
  2. プロンプト [Databricks Host] には、Azure Databricks のワークスペースごとの URL (例: https://adb-1234567890123456.7.azuredatabricks.net) を入力します。

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

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

Databricks Connect でサポートされているその他の方法は次のとおりです。

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

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

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

VS Code

Visual Studio Code 用 Databricks 拡張機能の場合は、次を実行します。

  1. この記事の「プロファイル」セクションで指定されているように、Azure Databricks ワークスペース レベルの操作の .databrickscfg ファイル内の値を設定します。
  2. Visual Studio Code 用の Databricks 拡張機能の [構成] ペインで、[Databricks の構成] をクリックします。
  3. コマンド パレットDatabricks Host に、ワークスペースごとの URL (例: https://adb-1234567890123456.7.azuredatabricks.net) を入力し、Enter キーを押します。
  4. コマンド パレットで、URL の一覧からターゲット プロファイルの名前を選択します。

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

Terraform

既定の認証の場合:

provider "databricks" {
  alias = "workspace"
}

直接構成の場合 (retrieve プレースホルダーを独自の実装に置き換えて、コンソールまたは HashiCorp Vault などの他の構成ストアから値を取得します。Vault Provider もご覧ください)。 この場合、ホストは Azure Databricks のワークスペースごとの URL です (例: https://adb-1234567890123456.7.azuredatabricks.net)。

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

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

Python

既定の認証の場合:

from databricks.sdk import WorkspaceClient

w = WorkspaceClient()
# ...

直接構成の場合 (retrieve プレースホルダーを独自の実装に置き換えて、コンソールまたは Azure KeyVault のような他の構成ストアから値を取得します)。 この場合、ホストは Azure Databricks のワークスペースごとの URL です (例: https://adb-1234567890123456.7.azuredatabricks.net)。

from databricks.sdk import WorkspaceClient

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

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

Java

既定の認証の場合:

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

直接構成の場合 (retrieve プレースホルダーを独自の実装に置き換えて、コンソールまたは Azure KeyVault のような他の構成ストアから値を取得します)。 この場合、ホストは Azure Databricks のワークスペースごとの URL です (例: https://adb-1234567890123456.7.azuredatabricks.net)。

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 を使用した認証については、以下を参照してください。

Go

既定の認証の場合:

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

直接構成の場合 (retrieve プレースホルダーを独自の実装に置き換えて、コンソールまたは Azure KeyVault のような他の構成ストアから値を取得します)。 この場合、ホストは Azure Databricks のワークスペースごとの URL です (例: https://adb-1234567890123456.7.azuredatabricks.net)。

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

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