個人用アクセストークンへのアクセスを監視および管理する

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

オートメーションのサービスプリンシパルで使用する OAuth アクセストークン (PAT ではなく) を作成するには、「 サービスプリンシパルを使用して Databricks (OAuth M2M) で認証する」を参照してください。

OAuth の代わりに個人用アクセストークン (PAT) を使用して Databricks にアクセスする

Databricks では OAuth セキュリティと利便性を高めるために、PAT の代わりに アクセストークンを使用することをお勧めします。 Databricks は引き続き PAT をサポートしますが、セキュリティ リスクが大きいため、アカウントの現在の PAT の使用状況を監査し、ユーザーとサービスプリンシパルを OAuth アクセストークンに移行することをお勧めします。

パーソナルアクセストークン管理の概要

注:

次のドキュメントでは、コードをまだ移行していない顧客向けの PAT を使用して、代わりに OAuth の使用について説明します。 自分の組織での PAT の使用状況を評価し、PAT から OAuth アクセストークンへの移行を計画するには、「Databricks アカウントで個人用アクセストークンの使用状況を評価する」を参照してください。

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

ワークスペースで個人用アクセス トークンが有効になっている場合、CAN USE 権限を持つユーザーは、 Databricks REST APIsにアクセスするための個人用アクセス トークンを生成できます。また、無期限の有効期間を含む任意の有効期限でこれらのトークンを生成できます。 デフォルトでは、管理者以外のワークスペース ユーザーに CAN USE 権限がないため、個人用のアクセストークンを作成したり使用したりすることはできません。

Databricksワークスペース管理者は、ワークスペースの個人用アクセストークンの無効化、トークンの監視と取り消し、管理者以外のどのユーザーがトークンの作成と使用を行えるかを制御し、新しいトークンの最大有効期間を設定することができます。

ワークスペースでパーソナルアクセストークンを管理するには、プレミアムプラン以上が必要です。 個人用アクセストークンを作成するには, Databricks 個人用アクセストークン認証」を参照してください。

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

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

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

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

警告

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

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

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

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

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

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

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

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

誰がトークンを作成および使用できるかを制御する

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

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

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

Databricks は、90日以上使用されていないアクセストークンを自動的に取り消します。 このポリシーのため、トークンの有効期間を 90 日以下に設定します。

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を使用することもできます。

ワークスペースのトークンを取得してください

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

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

古いアクセストークンの自動取り消し

Databricks は、トークンが 90 日以上使用されていない場合、Databricks ワークスペースの PAT を自動的に取り消します。 ベスト プラクティスとして、Databricks アカウントの PAT を定期的に監査し、自動的に取り消される前に未使用の PAT を削除します。 「Databricks アカウントの個人用アクセストークンの使用状況を評価する」に記載されているノートブックをインポートして実行し、組織のDatabricksアカウント内の有効期限が切れていない PAT の数を確認します。

Databricks では、セキュリティと使いやすさを向上させるために、アクセス認証に PAT ではなく OAuth トークンを使用するように 組織の Databricks アカウントを構成することをお勧めします。