Databricksの個人アクセスによる認証 (レガシー)
Databricks パーソナル アクセストークン (PAT) を使用すると、ワークスペース レベルでリソースと APIs に認証できます。 これらは、環境変数または Databricks 構成プロファイルに格納できます。各 PAT は 1 つのワークスペースに対してのみ有効であり、ユーザーはワークスペースごとに最大 600 個の PAT を作成できます。Databricks は、90 日間使用されていない PAT を自動的に取り消します。
ユーザー名とパスワードによる認証 (トークンなし) は、2024 年 7 月 10 日にサポートが終了しました。Databricks では、OAuth の方がセキュリティが強化されるため、ユーザー アカウント認証には PAT ではなく OAuth を使用することを強くお勧めします。OAuth を使用して Databricks ユーザー アカウントで認証する方法については、 OAuth を使用して Databricks へのユーザー アクセスを承認するを参照してください。
パーソナルアクセストークンを使用してDatabricksアカウント レベルの機能を自動化することはできません。 代わりに、 Databricksアカウント管理者ユーザー用のOAuthトークンまたはサービスプリンシパルのいずれかを使用してください。 詳細については、以下を参照してください。
ワークスペースユーザー用の個人アクセストークンを作成する
Databricksワークスペース ユーザー用の個人アクセストークンを作成するには、次の手順を実行します。
-
Databricks ワークスペースで、上部のバーにあるユーザー名をクリックし、 [設定] を選択します。
-
[開発者] をクリックします。
-
[アクセストークン] の横にある [管理] をクリックします。
-
[新規トークンを生成] をクリックします。
-
今後、このトークンを識別するのに役立つコメントを入力します。
-
トークンの有効期間を日数で設定します。「新しい個人アクセス権の最大有効期間を設定する」を参照してください。
-
[生成] をクリックします。
-
表示されたトークンを安全な場所にコピーし、 「完了」 をクリックします。トークンを安全に保存し、共有しないでください。紛失した場合は、新しいトークンを作成する必要があります。
トークンを作成または使用できない場合は、ワークスペース管理者がトークンを無効にしているか、権限を付与していない可能性があります。ワークスペース管理者または次の担当者に問い合わせてください。
サービスプリンシパルのパーソナルアクセストークンを作成する
ワークスペース管理者がサービスプリンシパルの初期 PAT を作成すると、サービスプリンシパルはそれ自体に追加のセキュリティを作成できます。
ステップ 1: サービスプリンシパルの PAT を作成する
ワークスペース管理者として、サービスプリンシパルに代わってDatabricks個人アクセス権を作成します。
-
まだ構成されていない場合は、Databricks CLI の認証を設定します。
-
Databricksサービスプリンパルシのアプリケーション ID を取得します。
- 上部のバーにあるユーザー名をクリックし、 [設定] をクリックします。
- [ワークスペース管理者] で、 [アイデンティティとアクセス] > [管理] ( サービスプリンシパル の横) をクリックします。
- Databricksサービスプリンシパル名をクリックして設定ページを開きます。
- [ 構成 ]タブで、 アプリケーションID の値を書き留めます。
-
次のコマンドを実行してアクセス許可を生成します。
Bashdatabricks token-management create-obo-token <application-id> --lifetime-seconds <lifetime-seconds> -p <profile-name>次の値を置き換えます。
<application-id>: DatabricksサービスプリンシパルのアプリケーションID。<lifetime-seconds>: トークンの有効期間(秒単位)。たとえば、1 日の場合は 86400 です。デフォルトではワークスペースの最大値 (通常は 730 日) に設定されます。<profile-name>: 認証情報を含む構成プロファイル。デフォルトはDEFAULTです。
-
応答で、 Databricksサービスプリンシパルのアクセス権である
token_valueをコピーします。 トークンを安全に保存し、共有しないでください。紛失した場合は、新しいトークンを作成する必要があります。
トークンを作成または使用できない場合は、ワークスペース管理者がトークンを無効にしているか、権限を付与していない可能性があります。ワークスペース管理者または次の担当者に問い合わせてください。
ステップ 2: サービスプリンシパルの追加の PAT を作成する
既存の PAT を使用して、サービスプリンシパル用の追加のウイルスを作成します。
-
次のコマンドを実行してアクセス許可を生成します。
Bashdatabricks tokens create --lifetime-seconds <lifetime-seconds> -p <profile-name>次の値を置き換えます。
<lifetime-seconds>: トークンの有効期間(秒単位)。たとえば、1 日の場合は 86400 です。デフォルトではワークスペースの最大値 (通常は 730 日) に設定されます。<profile-name>: 認証情報を含む構成プロファイル。デフォルトはDEFAULTです。
-
応答から
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は、トークン文字列に設定されます。
.databrickscfgファイル内の次のフィールドを使用して、Databricks構成プロファイルを作成または識別します。プロファイルを作成する場合は、プレースホルダーを適切な値に置き換えます。ツールまたは SDK でプロファイルを使用するには、 「Databricks リソースへのアクセスの承認」またはツールまたは SDK のドキュメントを参照してください。統合認証の環境変数とフィールド、および認証方法の優先順位も参照してください。
.databrickscfg ファイルに次の値を設定します。この場合、ホストは Databricks ワークスペースの URL です (例: https://dbc-a1b2345c-d6e7.cloud.databricks.com
[<some-unique-configuration-profile-name>]
host = <workspace-url>
token = <token>
手動で値を設定する代わりに、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 Connectバージョンでサポートされています。
- Pythonの場合、Databricks Connect for Databricks Runtime 13.3 LTS以降。
- Scalaの場合、Databricks Connect for Databricks Runtime 13.3 LTS以降。
Databricks Connect の場合、Databricks CLI を使用して、 プロファイル セクション で指定されている.databrickscfg Databricksワークスペース レベルの操作 の ファイルの値を設定します。
次の手順では、 DEFAULTという名前の Databricks 構成プロファイルを作成し、既存のDEFAULTプロファイルを上書きします。DEFAULTプロファイルが存在するかどうかを確認するには、 databricks auth env --profile DEFAULTを実行します。存在する場合は、別のプロファイル名を使用します。
-
次のコマンドを実行して、個人アクセス時の認証を使用する
DEFAULTという名前のDatabricks構成プロファイルを作成します。Bashdatabricks configure --configure-cluster --profile DEFAULT -
プロンプト Databricks Host には、Databricks ワークスペース インスタンスの URL を入力します (例:
https://dbc-a1b2345c-d6e7.cloud.databricks.com)。 -
プロンプト 「個人アクセストークン」 に対して、ワークスペースの個人アクセストークンを入力します。
-
使用可能なクラスターのリストで、ワークスペース内のターゲットDatabricksクラスターを選択します。 クラスターの表示名の任意の部分を入力して、使用可能なクラスターのリストをフィルター処理できます。
Databricks REST API を使用して個人用アクセス トークンを発行する
Databricks には、PAT を発行するための 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)