個人用アクセス トークンの監視と取り消し
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 では、次の手順で個人用アクセス トークンの公開を最小限に抑えるようにすることをお勧めします。
- ワークスペースに作成されたすべての新しいトークンの有効期間を短く設定します。 有効期間は 90 日未満にする必要があります。
- Azure Databricks ワークスペースの管理者とユーザーと協力して、有効期間が短いトークンに切り替えます。
- 有効期間の長いトークンをすべて取り消して、これらの古いトークンが時間の経過と同時に誤用されるリスクを軽減します。 Databricks は、90 日以上使用されていない個人用アクセス トークンを自動的に取り消します。
独自の組織での AT の使用状況を評価し、AT から OAuth アクセス トークンへの移行を計画するには、「Databricks アカウントでの個人アクセス トークンの使用状況を評価する」を参照してください。
要件
- ワークスペースの個人用アクセス トークンを無効にし、トークンを監視および取り消し、トークンを作成してトークンを使用できる管理者以外のユーザーを制御し、新しいトークンの最長有効期間を設定するには、Azure Databricks ワークスペース管理者である必要があります。
- Azure Databricks ワークスペースは Premium プランである必要があります。
ワークスペースの個人アクセス トークン認証を有効または無効にする
個人アクセス トークン認証は、2018 年以降に作成されたすべての Azure Databricks ワークスペースでは、既定で有効になります。 この設定は、[ワークスペースの設定] ページで変更できます。
ワークスペースの個人アクセス トークンが無効になっている場合、個人アクセス トークンを Azure Databricks への認証に使用することはできず、ワークスペース ユーザーとサービス プリンシパルは新しいトークンを作成できません。 ワークスペースの個人アクセス トークン認証を無効にしても、トークンは削除されません。 後でトークンを再度有効にすると、有効期限が切れていないトークンは使用できるようになります。
ユーザーのサブセットに対してトークン アクセスを無効にする場合は、ワークスペースに対して個人アクセス トークン認証を有効にしたままにして、ユーザーとグループに対してきめ細かなアクセス許可を設定できます。 「 個人アクセス トークンを作成して使用できるユーザーの管理を参照してください。
警告
Partner Connect とパートナー統合では、ワークスペースで個人用アクセス トークンを有効にする必要があります。
ワークスペースの個人アクセス トークンを作成および使用する機能を無効にするには、次の手順を実行します。
[設定] ページに移動します。
[詳細設定] タブをクリックします。
[個人用アクセス トークン] トグルをクリックします。
[Confirm](確認) をクリックします。
この変更が有効になるまで、数秒かかることがあります。
ワークスペース構成 API を使用して、ワークスペースの個人用アクセス トークンを無効にすることもできます。
個人用アクセス トークンを作成して使用できるユーザーを制御する
ワークスペース管理者は、個人用アクセス トークンにアクセス許可を設定して、どのユーザー、サービス プリンシパル、グループがトークンを作成および使用できるかを制御できます。 個人用アクセス トークンのアクセス許可の構成方法について詳しくは、「個人用アクセス トークンのアクセス許可を管理する」をご覧ください。
新しい個人用アクセス トークンの最大有効期間を設定する
Databricks CLI または ワークスペース 構成 API を使用して、ワークスペース内の新しいトークンの最大有効期間を管理できます。 この制限は、新しいトークンにのみ適用されます。
Note
Databricks は、90 日以上使用されていない個人用アクセス トークンを自動的に取り消します。 Databricks は、トークンがアクティブに使用されている限り、有効期間が 90 日を超えるトークンを取り消しません。
セキュリティのベスト プラクティスとして、Databricks では、AT よりも OAuth トークンを使用することをお勧めします。 認証を AT から OAuth に移行する場合、Databricks では、セキュリティを強化するために有効期間の短いトークンを使用することをお勧めします。
maxTokenLifetimeDays
を、日単位の整数で、新しいトークンの最大トークン有効期間に設定します。 これを 0 に設定した場合、新しいトークンには有効期間の制限を設けないことが許可されます。 次に例を示します。
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"
}'
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