個人アクセストークンへのアクセスを監視および管理する
ユーザーは、Azure Databricks REST API に対して認証するために、個人用アクセス トークンを作成し、それを REST API 要求で使用することができます。 ユーザーは、サービス プリンシパルを作成し、それを個人用アクセス トークンと共に使用して、CI/CD ツールと自動化で Azure Databricks REST API を呼び出すこともできます。 この記事では、Azure Databricks ワークスペース管理者がワークスペース内でこれらのアクセス トークンを管理する方法について説明します。
自動化でサービス プリンシパルと共に使用する OAuth アクセス トークン (PAT ではなく) を作成するには、「サービス プリンシパルを使用して Azure Databricks(OAuth M2M) による認証を行う」で認証する方法」を参照してください。
Azure Databricks へのアクセスに OAuth の代わりに個人用アクセス トークン (AT) を使用する
Databricks では、セキュリティと利便性を高める目的で、AT の代わりに OAuth アクセス トークンを使用することをお勧めします。 Databricks は引き続き PAT をサポートしますが、セキュリティ リスクが高いため、アカウントの現在の PAT 使用状況を監査し、ユーザーとサービス プリンシパルを OAuth アクセス トークンに移行することを提案しています。
パーソナルアクセストークン管理の概要
Note
次のドキュメントでは、代わりに OAuth を使用するためにコードをまだ移行していないお客様に対する AT の使用について説明します。 独自の組織での AT の使用状況を評価し、AT から OAuth アクセス トークンへの移行を計画するには、「Databricks アカウントでの個人アクセス トークンの使用状況を評価する」を参照してください。
個人用アクセス トークンは、2018 年以降に作成されたすべての Azure Databricks ワークスペースで、既定で有効になっています。
ワークスペースで個人アクセス トークンが有効になっている場合、使用可能アクセス許可を持つユーザーは、Azure Databricks REST API にアクセスするための個人アクセス トークンを生成でき、無期限の有効期限など、任意の有効期限を設定してこれらのトークンを生成できます。 既定では、管理者以外のワークスペース ユーザーには使用可能アクセス許可は付与されません。つまり、これらのユーザーは個人用アクセス トークンを作成または使用できません。
Azure Databricks ワークスペース管理者は、ワークスペースの個人用アクセス トークンを無効にしたり、トークンを監視および取り消したり、管理者以外のユーザーがトークンを作成してトークンを使用できるユーザーを制御したり、新しいトークンの最大有効期間を設定したりできます。
ワークスペースで個人用アクセス トークンを管理するには、Premium プランが必要です。 個人アクセス トークンを作成するには、「Azure Databricks 個人アクセス トークン認証」をご覧ください。
ワークスペースの個人アクセス トークン認証を有効または無効にする
個人アクセス トークン認証は、2018 年以降に作成されたすべての Azure Databricks ワークスペースでは、既定で有効になります。 この設定は、[ワークスペースの設定] ページで変更できます。
ワークスペースの個人アクセス トークンが無効になっている場合、個人アクセス トークンを Azure Databricks への認証に使用することはできず、ワークスペース ユーザーとサービス プリンシパルは新しいトークンを作成できません。 ワークスペースの個人アクセス トークン認証を無効にしても、トークンは削除されません。 後でトークンを再度有効にすると、有効期限が切れていないトークンは使用できるようになります。
ユーザーのサブセットに対してトークン アクセスを無効にする場合は、ワークスペースに対して個人アクセス トークン認証を有効にしたままにして、ユーザーとグループに対してきめ細かなアクセス許可を設定できます。 「トークンを作成および使用できるユーザーを制御する」をご覧ください。
警告
Partner Connect とパートナー統合では、ワークスペースで個人用アクセス トークンを有効にする必要があります。
ワークスペースの個人アクセス トークンを作成および使用する機能を無効にするには、次の手順を実行します。
[設定] ページに移動します。
[詳細設定] タブをクリックします。
[個人用アクセス トークン] トグルをクリックします。
[Confirm](確認) をクリックします。
この変更が有効になるまで、数秒かかることがあります。
ワークスペース構成 API を使用して、ワークスペースの個人用アクセス トークンを無効にすることもできます。
トークンを作成および使用できるユーザーを制御する
ワークスペース管理者は、個人用アクセス トークンにアクセス許可を設定して、どのユーザー、サービス プリンシパル、グループがトークンを作成および使用できるかを制御できます。 個人用アクセス トークンのアクセス許可の構成方法について詳しくは、「個人用アクセス トークンのアクセス許可を管理する」をご覧ください。
新しいトークンの最大有効期間を設定する
Databricks CLI を使用して、ワークスペース内の新しいトークンの最大有効期間を管理できます。 この制限は、新しいトークンにのみ適用されます。
Databricks では、90 日以上使用されていないアクセス トークンが自動的に取り消されます。 このポリシーがあるため、トークンの有効期間は 90 日以下に設定します。
maxTokenLifetimeDays
を、日単位の整数で、新しいトークンの最大トークン有効期間に設定します。 これを 0 に設定した場合、新しいトークンには有効期間の制限を設けないことが許可されます。 次に例を示します。
databricks workspace-conf set-status --json '{
"maxTokenLifetimeDays": "90"
}'
ワークスペース内の新しいトークンの最大有効期間を管理するには、ワークスペース構成 API を使うこともできます。
トークンの監視と取り消しを行う
このセクションでは、Databricks CLI を使用して、ワークスペース内の既存のトークンを管理する方法について説明します。 トークン管理 API を使用することもできます。
ワークスペースのトークンを取得する
ワークスペースのトークンを取得するには:
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
古いアクセス トークンの自動失効
トークンが 90 日以上使用されていない場合、Databricks は Azure Databricks ワークスペースの PAT を自動的に取り消します。 ベスト プラクティスとして、Azure Databricks アカウントの PAT を定期的に監査し、自動的に取り消される前に未使用の PAT を削除します。 Databricks アカウントの個人アクセス トークンの使用状況を評価するで提供されているノートブックをインポートして実行し、組織の Azure Databricks アカウント内の有効期限が切れていない PAT の数を確認します。
Databricks では、セキュリティと使いやすさを向上させるために、AT ではなくアクセス認証に OAuth トークンをするように組織の Azure Databricks アカウントを構成することをお勧めします。