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

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

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

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

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

  1. ワークスペースで作成されたすべての新しいトークンの有効期間を短く設定します。 寿命は 90 日未満である必要があります。

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

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

自分の組織での PAT の使用状況を評価し、PAT から OAuth アクセストークンへの移行を計画するには、「Databricks アカウントで個人用アクセストークンの使用状況を評価する」を参照してください。

要件

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

  • Databricksワークスペースは、プレミアムプラン以上である必要があります。

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

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

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

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

警告

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

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

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

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

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

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

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

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

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

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

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

ワークスペース内の新しいトークンの最大有効期間は、 Databricks CLI または ワークスペース設定 APIを使用して管理できます。 この制限は、新しいトークンにのみ適用されます。

注:

Databricks は、90 日以上未使用の個人用アクセストークンを自動的に取り消します。 Databricks は、トークンがアクティブに使用されている限り、有効期間が 90 日を超えるトークンを取り消すことはありません。

セキュリティのベストプラクティスとして、Databricks では PAT よりも OAuth トークンを使用することをお勧めします。 認証を PAT から OAuth に移行する場合、Databricks では、セキュリティを強化するために有効期間の短いトークンを使用することをお勧めします。

maxTokenLifetimeDaysを、新しいトークンの最大トークン有効期間 (日数) の整数に設定します。 ゼロに設定すると、新しいトークンに有効期間の制限がなくなります。 例えば:

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

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