次の方法で共有


Azure Databricks個人用アクセス トークンを使用して認証する (レガシ)

Azure Databricks の個人用アクセス トークン (PAT) を使用すると、ワークスペース レベルでリソースおよび API に対して認証を行うことができます。 環境変数または Azure Databricks 構成プロファイルに格納できます。 各 PAT は 1 つのワークスペースに対してのみ有効であり、ユーザーはワークスペースごとに最大 600 個の PAT を作成できます。 Azure Databricksは、90 日間使用されていない AT を自動的に取り消します。

重要

可能な場合、Databricks では、ユーザー アカウント認証に AT ではなく OAuth を使用することをお勧めします。OAuth の方がセキュリティが強化されるためです。 OAuth を使用して Databricks ユーザー アカウントで認証する方法については、「Auth を使用してAzure Databricksへのユーザー アクセスを認証する」を参照してください。

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

ワークスペース ユーザーの個人用アクセス トークンを作成する

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

  1. Azure Databricks ワークスペースで、上部のバーでユーザー名をクリックし、Settings を選択します。
  2. [開発者] をクリックします。
  3. [アクセス トークン] の横にある [管理] をクリックします。
  4. [新しいトークンの生成] をクリックします。
  5. 将来このトークンを識別するのに役立つコメントを入力します。
  6. トークンの有効期間を日数で設定します。 新しい個人用アクセス トークンの最長有効期間の設定を参照してください。
  7. トークンのアクセス許可を制限するには、トークンの種類を選択し、API スコープを追加します。 スコープ付き個人用アクセス トークンを参照してください。
  8. [Generate](生成) をクリックします。
  9. 表示されたトークンを安全な場所にコピーし、[ 完了] をクリックします。 トークンを安全に保存し、共有しないでください。 紛失した場合は、新しいトークンを作成する必要があります。

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

スコープ付き個人用アクセス トークン

スコープ付き個人用アクセス トークンは、トークンのアクセス許可を特定の API 操作に制限します。 完全なワークスペース アクセスを許可する代わりに、トークンが呼び出すことができる REST API 操作を制限する 1 つ以上の API スコープ ( sqlunity-catalogscimなど) を割り当てます。

Warnung

authentication スコープを持つトークンは、任意のスコープで新しいトークンを作成できます。 このスコープは、他のトークンを管理する必要があるトークンにのみ付与します。

ワークスペース UI でスコープ付きトークンを作成するには、トークンの種類を選択し、新しいトークンを生成するときに API スコープを追加します。 スコープを割り当てない場合、トークンは作成 ID の完全なアクセス許可を保持します。

スコープとそれに関連する API 操作の完全な一覧については、 API スコープを参照してください。

サービス プリンシパルの個人用アクセス トークンを作成する

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

  1. 次のコマンドを実行して、アクセス トークンを生成します。

    databricks tokens create \
      --lifetime-seconds <lifetime-seconds> \
      -p <profile-name>
    

    次の値を置き換えます。

    • <lifetime-seconds>: トークンの有効期間 (1 日の場合は 86400 など)。 既定値はワークスペースの最大値 (通常は 730 日) です。
    • <profile-name>: 認証情報を含む構成プロファイル。 既定値は DEFAULT です。
  2. 応答から token_value をコピーします。これは、サービス プリンシパルのアクセス トークンです。 トークンを安全に保存し、共有しないでください。 紛失した場合は、新しいトークンを作成する必要があります。

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

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

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

  • Azure Databricks ホストは、ターゲットの Azure Databricks per-workspace URL (例: https://adb-1234567890123456.7.azuredatabricks.net)として指定されます。
  • Azure Databricks ユーザー アカウントのAzure Databricks個人用アクセス トークン。

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

環境

ツールまたは SDK で特定のAzure Databricks認証の種類に環境変数を使用するには、Azure Databricks リソースまたはツールまたは SDK のドキュメントへのアクセスを認証するを参照してください。 統合認証と認証方法の優先順位については、「環境変数とフィールド」も参照してください

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

  • DATABRICKS_HOST、 Azure Databricks per-workspace URL に設定します (例: https://adb-1234567890123456.7.azuredatabricks.net)。
  • DATABRICKS_TOKENトークン文字列に設定します。

プロファイル

Azure Databricks の 構成プロファイル を作成または特定し、.databrickscfg ファイルに次のフィールドを含めます。 プロファイルを作成する場合は、プレースホルダーを適切な値に置き換えます。 ツールまたは SDK でプロファイルを使用するには、Azure Databricks リソースまたはツールまたは SDK のドキュメントへのアクセスの認証を参照してください。 統合認証と認証方法の優先順位については、「環境変数とフィールド」も参照してください

.databrickscfg ファイルに次の値を設定してください。 この場合、ホストは Azure Databricks per-workspace 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 DEFAULTdatabricks configure の部分を構成プロファイルの別の名前に置き換えます。

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

    databricks configure --profile DEFAULT
    
  2. プロンプト Databricks Host に、Azure Databricks per-workspace URL を入力します (例: https://adb-1234567890123456.7.azuredatabricks.net)。

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

CLI

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

  • ターゲット Azure Databricks per-workspace 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 Runtime 13.3 LTS 以降を対象とした Databricks Connect。

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

次の手順では、DEFAULT という名前のAzure Databricks構成プロファイルを作成し、既存の DEFAULT プロファイルを上書きします。 DEFAULT プロファイルが存在するかどうかを確認するには、databricks auth env --profile DEFAULT実行します。 存在する場合は、別のプロファイル名を使用します。

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

    databricks configure \
      --configure-cluster \
      --profile DEFAULT
    
  2. プロンプト Databricks Host に、Azure Databricks per-workspace URL を入力します (例: https://adb-1234567890123456.7.azuredatabricks.net)。

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

  4. 使用可能なクラスターの一覧で、ワークスペース内のターゲット 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>: トークンの有効期間 (秒単位)。
  • <scopes>: トークンに割り当てるスコープの一覧。 スコープ付き個人用アクセス トークンを参照してください。
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>,
  "scopes": [
    "sql",
    "authentication"
  ]
}'

成功すると、次のような応答ペイロードが返されます。

{
  "token_value": "<your-newly-issued-pat>",
  "token_info": {
    "token_id": "<token-id>",
    "creation_time": <creation-timestamp>,
    "expiry_time": <expiry-timestamp>,
    "comment": "<comment>",
    "scopes": ["authentication", "sql"],
    "last_accessed_time": 0
  }
}

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)

個人用アクセス トークンのスコープを更新する

スコープ付きトークンに API 呼び出しに必要なスコープがない場合、要求は失敗し、不足しているスコープを示すエラーが表示されます。 トークンのスコープを更新するには、REST エンドポイント /api/2.0/token/<token_id>を使用します。 呼び出し元のトークンには、他のトークンの管理を許可する authentication スコープが必要です。 update_mask フィールドを使用して、更新するトークン フィールドを指定します。

curl -X PATCH https://<databricks-instance>/api/2.0/token/<token_id> \
-H "Authorization: Bearer <your-existing-access-token>" \
-H "Content-Type: application/json" \
-d '{
  "token": {
    "scopes": ["sql", "unity-catalog"]
  },
  "update_mask": "scopes"
}'

スコープの変更が反映されるまでに最大 10 分かかることがあります。

使用可能なすべてのスコープを表示するには、 GET /api/2.0/token-scopesを使用します。