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

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

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

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

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

  1. ワークスペースで作成されたすべての新しいトークンの有効期間を短く設定します。 寿命は 90 日未満である必要があります。 デフォルトでは、すべての新しいトークンの最大有効期間は 730 日 (2 年) です。

  2. Databricks ワークスペースの管理者やユーザーと協力して、有効期間を短くしたトークンに切り替えます。

  3. これらの古いトークンが時間の経過とともに悪用されるリスクを減らすために、存続期間の長いトークンをすべて取り消します。 Databricks は、トークンが 90 日以上使用されていない場合、Databricks ワークスペースのすべての PAT を自動的に取り消します。

要件

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

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

Databricks ワークスペース管理者は、次の操作を実行できます。

  • ワークスペースの個人用アクセス トークンを無効にします。

  • トークンを作成して使用できる管理者以外のユーザーを制御します。

  • 新しいトークンの最大有効期間を設定します。

  • ワークスペース内のトークンを監視および取り消します。

ワークスペースでパーソナルアクセストークンを管理するには、プレミアムプラン以上が必要です。

アカウント内のパーソナルアクセストークンの監視および取り消し

プレビュー

この機能は パブリック プレビュー段階です。 このプレビューに参加するには、Databricks アカウント チームにお問い合わせください。

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

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

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

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

  4. トグル コントロールをオンに切り替えます。 を使用して 、アクセストークンレポートを有効にします。

    アクセストークンレポートを有効にします。
  5. サイドバーで、 設定トークンレポートをクリックします。

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

    個人用アクセス トークン レポートを表示します。
  6. レポートを CSV にエクスポートするには、エクスポート をクリックします。

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

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

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

個人用アクセストークン認証は、2018年以降に作成されたすべてのDatabricksワークスペースではデフォルトで有効になっています。この設定は、ワークスペース設定ページで変更できます。

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

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

警告

Partner Connectパートナー統合、およびサービスプリンシパルは、ワークスペースで有効にするために個人用アクセストークンが必要です。

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

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

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

  3. パーソナルアクセストークントグルをクリックします。

  4. 確認をクリックします。

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

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

パーソナルアクセストークンを作成および使用できるユーザーを制御する

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

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

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

maxTokenLifetimeDays を新しいトークンの最大トークン有効期間 (日数) に整数として設定します。例えば:

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

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

Databricks Terraform プロバイダーを使用してワークスペース内の新しいトークンの最大有効期間を管理するには、ワークスペース リソースを参照してください。

ワークスペース内のトークンの監視と取り消し

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

ワークスペースのトークンの取得

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

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'))
# 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

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

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

databricks token-management delete TOKEN_ID