Azure Databricks 個人用アクセス トークン (AT) を使用すると、ワークスペース レベルでリソースと API に対して認証を行うことができます。 環境変数または Azure Databricks 構成プロファイルに格納できます。 各 PAT は 1 つのワークスペースに対してのみ有効であり、ユーザーはワークスペースごとに最大 600 個の PAT を作成できます。 Azure Databricks は、90 日間使用されていない AT を自動的に取り消します。
重要
ユーザー名とパスワードの認証 (トークンなし) は、2024 年 7 月 10 日に終了しました。 Databricks では、ユーザー アカウント認証に AT の代わりに OAuth を使用することを強くお勧めします。OAuth の方がセキュリティが強化されるためです。 OAuth を使用して Databricks ユーザー アカウントで認証する方法については、「OAuth を使用して Azure Databricks へのユーザー アクセスを承認する」を参照してください。
個人用アクセス トークンを使用して Azure Databricks アカウント レベルの 機能を自動化することはできません。 代わりに、Azure Databricks アカウント管理者の Microsoft Entra ID トークンを使用します。 Azure Databricks アカウント管理者は、ユーザーまたはサービス プリンシパルになることができます。 詳細については、次を参照してください。
ワークスペース ユーザーの個人用アクセス トークンを作成する
Azure Databricks ワークスペース ユーザーの個人用アクセス トークンを作成するには、次の操作を行います。
Azure Databricks ワークスペースで、上部のバーでユーザー名をクリックし、[ 設定] を選択します。
[開発者] をクリックします。
[アクセス トークン] の横にある [管理] をクリックします。
[新しいトークンの生成] をクリックします。
将来このトークンを識別するのに役立つコメントを入力します。
トークンの有効期間を日数で設定します。 「新しい個人用アクセス トークンの最大有効期間を設定する」を参照してください。
[Generate](生成) をクリックします。
表示されたトークンを安全な場所にコピーし、[ 完了] をクリックします。 トークンを安全に保存し、共有しないでください。 紛失した場合は、新しいトークンを作成する必要があります。
トークンを作成または使用できない場合は、ワークスペース管理者がトークンを無効にしているか、アクセス許可が付与されていない可能性があります。 ワークスペース管理者に連絡するか、以下の情報を参照してください。
サービス プリンシパルの個人用アクセス トークンを作成する
サービス プリンシパルは、それ自体の個人用アクセス トークンを作成できます。
次のコマンドを実行して、アクセス トークンを生成します。
databricks tokens create --lifetime-seconds <lifetime-seconds> -p <profile-name>次の値を置き換えます。
-
<lifetime-seconds>: トークンの有効期間 (1 日の場合は 86400 など)。 既定値はワークスペースの最大値 (通常は 730 日) です。 -
<profile-name>: 認証情報を含む構成プロファイル。 既定値はDEFAULTです。
-
応答から
token_valueをコピーします。これは、サービス プリンシパルのアクセス トークンです。 トークンを安全に保存し、共有しないでください。 紛失した場合は、新しいトークンを作成する必要があります。
トークンを作成または使用できない場合は、ワークスペース管理者がトークンを無効にしているか、アクセス許可が付与されていない可能性があります。 ワークスペース管理者に連絡するか、以下の情報を参照してください。
個人用アクセス トークン認証を実行する
Azure Databricks 個人用アクセス トークン認証を構成するには、次の関連する環境変数、 .databrickscfg フィールド、Terraform フィールド、または Config フィールドを設定します。
- Azure Databricks ホスト。対象の Azure Databricks のワークスペースごとの URL として指定されます (例:
https://adb-1234567890123456.7.azuredatabricks.net)。 - Azure Databricks ユーザー アカウント用の Azure Databricks 個人用アクセス トークン認証。
Azure Databricks 個人用アクセス トークン認証を実行するには、関係ツールまたは SDK に基づいて、コード内に以下を統合します。
環境
ツールまたは SDK で特定の Azure Databricks 認証の種類に環境変数を使用するには、 Azure Databricks リソース またはツールまたは SDK のドキュメントへのアクセスの承認に関するページを参照してください。 統合認証と認証方法の優先順位については、「環境変数とフィールド」も参照してください。
以下の環境変数を設定します。
-
DATABRICKS_HOST。対象の Azure Databricks のワークスペースごとの URL に設定されます (例:https://adb-1234567890123456.7.azuredatabricks.net)。 -
DATABRICKS_TOKENトークン文字列に設定します。
プロファイル
ファイルで次のフィールドを使用して、Azure Databricks .databrickscfgを作成または識別します 。 プロファイルを作成する場合は、プレースホルダーを適切な値に置き換えます。 ツールまたは SDK でプロファイルを使用するには、 Azure Databricks リソース またはツールまたは SDK のドキュメントへのアクセスを承認する方法に関するページを参照してください。
統合認証と認証方法の優先順位については、「環境変数とフィールド」も参照してください。
.databrickscfg ファイルに次の値を設定してください。 この場合、ホストは Azure Databricks のワークスペースごとの URL です (例: https://adb-1234567890123456.7.azuredatabricks.net)。
[<some-unique-configuration-profile-name>]
host = <workspace-url>
token = <token>
値を手動で設定する代わりに、Databricks CLI を使用してこれらの値を設定できます。
注
次の手順では、Databricks CLI を使って、 という名前で Azure Databricks DEFAULTを作成します。
DEFAULT 構成プロファイルが既にある場合、この手順により既存の DEFAULT 構成プロファイルは上書きされます。
DEFAULT構成プロファイルが既に存在するかどうかを確認し、そのプロファイルの設定が存在する場合は、Databricks CLI を使用してコマンド databricks auth env --profile DEFAULTを実行します。
DEFAULT 以外の名前で構成プロファイルを作成するには、次の DEFAULT コマンドの --profile DEFAULT の databricks configure の部分を構成プロファイルの別の名前に置き換えます。
Databricks CLI を使って、Azure Databricks 個人用アクセス トークン認証を使う という名前の Azure Databricks
DEFAULTを作成します。 そのためには、次のコマンドを実行します。databricks configure --profile DEFAULTプロンプト [Databricks Host] には、Azure Databricks のワークスペースごとの URL (例:
https://adb-1234567890123456.7.azuredatabricks.net) を入力します。プロンプト [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 の個人用アクセス トークン認証は、次の Databricks Connect バージョンでサポートされています。
- Python の場合、Databricks Connect for Databricks Runtime 13.3 LTS 以降。
- Scala の場合、Databricks Connect for Databricks Runtime 13.3 LTS 以降。
Databricks Connect の場合は、Databricks CLI を使用して、 .databrickscfg ファイル内の値を設定します。Azure Databricks ワークスペース レベルの操作 については、「 プロファイル」セクションで指定されています。
次の手順では、 DEFAULTという名前の Azure Databricks 構成プロファイルを作成し、既存の DEFAULT プロファイルを上書きします。
DEFAULT プロファイルが存在するかどうかを確認するには、databricks auth env --profile DEFAULT実行します。 存在する場合は、別のプロファイル名を使用します。
次のコマンドを実行して、個人用アクセス トークン認証を使用する
DEFAULTという名前の Azure Databricks 構成プロファイルを作成します。databricks configure --configure-cluster --profile DEFAULTプロンプト [Databricks Host] には、Azure Databricks のワークスペースごとの URL (例:
https://adb-1234567890123456.7.azuredatabricks.net) を入力します。プロンプト 「 個人用アクセス トークン」に、ワークスペースの個人用アクセス トークンを入力します。
使用可能なクラスターの一覧で、ワークスペース内のターゲット Azure Databricks クラスターを選択します。 クラスターの表示名の任意の部分を入力して、使用可能なクラスターの一覧をフィルター処理できます。
Azure Databricks REST API を使用して個人用アクセス トークンを発行する
Azure Databricks には、AT を発行するための REST エンドポイント /api/2.0/token/create が用意されています。 API の詳細については、「 ユーザー トークンの作成 」を参照してください。
次の例では、これらの値を設定します。
-
<databricks-instance>: Databricks ワークスペースの URL。 たとえば、dbc-abcd1234-5678.cloud.databricks.comのようにします。 -
<your-existing-access-token>: 新しいトークンを作成するアクセス許可を持つ既存の有効な PAT (文字列)。 -
<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 '{
"lifetime_seconds": <lifetime-seconds>
}'
成功すると、次のような応答ペイロードが返されます。
{
"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)