個人用アクセストークンの監視と取り消し
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 では、次の手順で個人用アクセストークンの露出を最小限に抑えることをお勧めします。
ワークスペースで作成されたすべての新しいトークンの有効期間を短く設定します。 寿命は 90 日未満である必要があります。
Databricks ワークスペースの管理者やユーザーと協力して、有効期間を短くしたトークンに切り替えます。
これらの古いトークンが時間の経過とともに悪用されるリスクを減らすために、存続期間の長いトークンをすべて取り消します。 Databricks は、90 日以上使用されていない個人用アクセストークンを自動的に取り消します。
自分の組織での PAT の使用状況を評価し、PAT から OAuth アクセストークンへの移行を計画するには、「Databricks アカウントで個人用アクセストークンの使用状況を評価する」を参照してください。
要件
ワークスペースの個人用アクセストークンを無効にしたり、トークンを監視および取り消したり、トークンを作成して使用できる管理者以外のユーザーを制御したり、新しいトークンの最大有効期間を設定したりするには、 Databricks ワークスペース管理者である必要があります。
Databricksワークスペースは、プレミアムプラン以上である必要があります。
ワークスペースの個人用アクセストークン認証を有効または無効にする
個人用アクセストークン認証は、2018年以降に作成されたすべてのDatabricksワークスペースではデフォルトで有効になっています。この設定は、ワークスペース設定ページで変更できます。
ワークスペースの個人用アクセストークンが無効になっている場合、個人用アクセストークンをDatabricksおよびワークスペースユーザーへの認証に使用することはできず、サービスプリンシパルは新しいトークンを作成できません。ワークスペースの個人用アクセストークン認証を無効にしても、トークンは削除されません。後でトークンを再度有効にすると、有効期限が切れていないトークンは使用できるようになります。
一部のユーザーに対してトークン アクセスを無効にする場合は、ワークスペースに対して個人用アクセス トークン認証を有効にし、ユーザーとグループに対してきめ細かなアクセス許可を設定できます。 「個人用アクセストークンを作成および使用できるユーザーの制御」を参照してください。
警告
Partner Connect、パートナー統合、およびサービスプリンシパルは、ワークスペースで有効にするために個人用アクセストークンが必要です。
ワークスペースの個人用アクセストークンを作成および使用する機能を無効にするには、次の手順を実行します:
設定ページに移動します。
[詳細設定]タブをクリックします。
[パーソナルアクセストークン]トグルをクリックします。
[確認]をクリックします。
この変更が有効になるまで数秒かかる場合があります。
ワークスペース構成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