次の方法で共有


個人用アクセス トークンの監視と取り消し

Azure Databricks REST API に対して認証を行うために、ユーザーは個人用アクセス トークン (PAT) を作成し、REST API 要求でそれを使用できます。 ユーザーは、サービス プリンシパルを作成し、それを個人用アクセス トークンと共に使用して、CI/CD ツールと自動化で Azure Databricks REST API を呼び出すこともできます。 この記事では、Azure Databricks 管理者がワークスペースで個人用アクセス トークンを管理する方法について説明します。 個人アクセス トークンを作成するには、「Azure Databricks 個人アクセス トークン認証」をご覧ください。

個人用アクセス トークンの代わりに OAuth を使用する

Databricks では、セキュリティと利便性を高める目的で、AT の代わりに OAuth アクセス トークンを使用することをお勧めします。 Databricks は引き続き PAT をサポートしていますが、セキュリティ リスクが高いため、アカウントの現在の PAT 使用状況を監査し、ユーザーとサービス プリンシパルを OAuth アクセス トークンに移行することをお勧めします。 自動化でサービス プリンシパルと共に使用する OAuth アクセス トークン (PAT ではなく) を作成するには、「OAuth(OAuth M2M)を使用してサービスプリンシパルで Azure Databricks へのアクセスを認証する」を参照してください。

Databricks では、次の手順で個人用アクセス トークンの公開を最小限に抑えるようにすることをお勧めします。

  1. ワークスペースに作成されたすべての新しいトークンの有効期間を短く設定します。 有効期間は 90 日未満にする必要があります。 既定では、すべての新しいトークンの最大有効期間は 730 日 (2 年) です。
  2. Azure Databricks ワークスペースの管理者とユーザーと協力して、有効期間が短いトークンに切り替えます。
  3. 有効期間の長いトークンをすべて取り消して、これらの古いトークンが時間の経過と同時に誤用されるリスクを軽減します。 トークンが 90 日以上使用されていない場合、Databricks は Azure Databricks ワークスペースのすべての AT を自動的に取り消します。

要件

個人アクセス トークンを管理するには、管理者である必要があります。

Azure Databricks アカウント管理者は、アカウント全体で個人用アクセス トークンを監視および取り消すことができます。

Azure Databricks ワークスペース管理者は、次の操作を行うことができます。

  • ワークスペースの個人用アクセス トークンを無効にします。
  • トークンを作成してトークンを使用できる管理者以外のユーザーを制御します。
  • 新しいトークンの最大有効期間を設定します。
  • ワークスペース内のトークンを監視および取り消します。

ワークスペースで個人用アクセス トークンを管理するには、Premium プランのが必要です。

アカウント内の個人用アクセス トークンの監視と取り消し

重要

この機能は、プライベート プレビューにあります。 このプレビューに参加するには、Azure Databricks アカウント チームにお問い合わせください。

アカウント管理者は、アカウント コンソールから個人用アクセス トークンを監視および取り消すことができます。 トークンを監視するクエリは、アカウント管理者がトークン レポート ページを使用する場合にのみ実行されます。

  1. このプレビューに参加するには、まず Azure Databricks アカウント チームにお問い合わせください。

  2. アカウント管理者として、アカウント コンソールにログインします。

  3. サイドバーで、プレビューをクリックします。

  4. のトグルコントロールをオン位置で使用して、を有効にします。

    アクセス トークン レポートを有効にします。

  5. サイドバーで、設定 をクリックし、トークンレポートを開きます。

    トークン所有者、ワークスペース、作成日、有効期限、トークンが最後に使用された日付でフィルター処理できます。 レポートの上部にあるボタンを使用して、非アクティブなプリンシパル用のアクセス トークンや、期限が設定されていないアクセス トークンをフィルター処理します。

    個人用アクセス トークン レポートを表示します。

  6. レポートを CSV にエクスポートするには、[エクスポート] をクリックします。

  7. トークンを取り消すには、トークンを選択し、[取り消す] をクリックします。

    個人用アクセス トークンを取り消します。

ワークスペースの個人アクセス トークン認証を有効または無効にする

個人アクセス トークン認証は、2018 年以降に作成されたすべての Azure Databricks ワークスペースでは、既定で有効になります。 この設定は、[ワークスペースの設定] ページで変更できます。

ワークスペースの個人アクセス トークンが無効になっている場合、個人アクセス トークンを Azure Databricks への認証に使用することはできず、ワークスペース ユーザーとサービス プリンシパルは新しいトークンを作成できません。 ワークスペースの個人アクセス トークン認証を無効にしても、トークンは削除されません。 後でトークンを再度有効にすると、有効期限が切れていないトークンは使用できるようになります。

ユーザーのサブセットに対してトークン アクセスを無効にする場合は、ワークスペースに対して個人アクセス トークン認証を有効にしたままにして、ユーザーとグループに対してきめ細かなアクセス許可を設定できます。 「 個人アクセス トークンを作成して使用できるユーザーの管理を参照してください。

警告

Partner Connectパートナー統合では、ワークスペースで個人用アクセス トークンを有効にする必要があります。

ワークスペースの個人アクセス トークンを作成および使用する機能を無効にするには、次の手順を実行します。

  1. [設定] ページに移動します。

  2. [詳細設定] タブをクリックします。

  3. [個人用アクセス トークン] トグルをクリックします。

  4. [Confirm](確認) をクリックします。

    この変更が有効になるまで、数秒かかることがあります。

ワークスペース構成 API を使用して、ワークスペースの個人用アクセス トークンを無効にすることもできます。

個人用アクセス トークンを作成して使用できるユーザーを制御する

ワークスペース管理者は、個人用アクセス トークンにアクセス許可を設定して、どのユーザー、サービス プリンシパル、グループがトークンを作成および使用できるかを制御できます。 個人用アクセス トークンのアクセス許可の構成方法について詳しくは、「個人用アクセス トークンのアクセス許可を管理する」をご覧ください。

新しい個人用アクセス トークンの最大有効期間を設定する

既定では、新しいトークンの最大有効期間は 730 日 (2 年) です。 Databricks CLI または ワークスペース構成 APIを使用して、ワークスペースでトークンの有効期間を短く設定できます。 この制限は、新しいトークンにのみ適用されます。

maxTokenLifetimeDays を、日単位の整数で、新しいトークンの最大トークン有効期間に設定します。 次に例を示します。

Databricks CLI

databricks workspace-conf set-status --json '{
  "maxTokenLifetimeDays": "90"
}'

ワークスペース構成API

curl -n -X PATCH "https://<databricks-instance>/api/2.0/workspace-conf" \
  -d '{
  "maxTokenLifetimeDays": "90"
  }'

maxTokenLifetimeDays を 0 に設定すると、有効期間が最大 730 日 (2 年) の新しいトークンを作成できます。

Databricks Terraformプロバイダを使用してワークスペース内の新しいトークンの最大ライフタイムを管理するには、databricks_workspace_conf Resourceを参照してください。

ワークスペースでトークンを監視し、取り消す

このセクションでは、ワークスペース管理者が Databricks CLI を使用してワークスペース内の既存のトークンを管理する方法について説明します。 トークン管理 API を使用することもできます。 Databricks は、90 日以上使用されていない個人用アクセス トークンを自動的に取り消します。

ワークスペースのトークンを取得する

ワークスペースのトークンを取得するには:

Python

from databricks.sdk import WorkspaceClient

w = WorkspaceClient()

spark.createDataFrame([token.as_dict() for token in w.token_management.list()]).createOrReplaceTempView('tokens')

display(spark.sql('select * from tokens order by creation_time'))

Bash

# Filter results by a user by using the `created-by-id` (to filter by the user ID) or `created-by-username` flags.
databricks token-management list

トークンを削除する (取り消す)

トークンを削除するには、TOKEN_ID を削除するトークンの ID に置き換えます。

databricks token-management delete TOKEN_ID