メインコンテンツまでスキップ

ワークスペース管理者を制限する

この記事では、アカウント管理者が RestrictWorkspaceAdmins 設定を使用して、ジョブとサービスプリンシパルに関するワークスペース管理者の権限を制限する方法について説明します。

デフォルトの権限

RestrictWorkspaceAdmins設定を有効にしない場合、ワークスペース管理者には次の権限があります。

  • ジョブの所有者を、ワークスペース内の任意のユーザーまたはサービスプリンシパルに変更できます。

  • ジョブ の実行形式 設定を、ワークスペース内の任意のユーザー、またはサービス プリンシパル User ロールを持つ任意のサービスプリンシパルに更新できます。

  • ワークスペース内の任意のサービスプリンシパルに代わって個人用アクセス トークンを作成できます。

制限付きアクセス許可

RestrictWorkspaceAdmins設定を有効にすると、ワークスペース管理者には次の権限が付与されます。

  • ジョブの所有者を自分自身に変更することしかできません。

  • ジョブ の実行形式 設定を、ジョブ自体、またはサービス プリンシパル User ロールを持つ任意のサービスプリンシパルに更新できます。

  • サービスプリンシパルの個人用アクセストークンを作成できるのは、 サービスプリンシパル User ロールを持つ場合のみです。

制限設定を有効にする

RestrictWorkspaceAdmins設定を有効にするには、アカウント管理者であり、制限するワークスペースのメンバーである必要があります。以下の例では、Databricks CLI v0.215.0を使用しています。

RestrictWorkspaceAdmins設定では、一貫性を確保するためにetagフィールドを使用します。設定を有効または無効にするには、まず GET を発行して応答 etag を受け取ります。 etagを使用して設定を更新できます。例えば:

Bash
databricks settings restrict-workspace-admins get

応答例:

JSON
{
"etag": "<etag>",
"restrict_workspace_admins": {
"status": "ALLOW_ALL"
},
"setting_name": "default"
}

応答本文から etag フィールドをコピーし、それを使用して RestrictWorkspaceAdmins 設定を更新します。 例えば:

Bash
databricks settings restrict-workspace-admins update --json '{
"setting": {
"setting_name": "default",
"restrict_workspace_admins": {
"status": "RESTRICT_TOKENS_AND_JOB_RUN_AS"
},
"etag": "<etag>"
},
"allow_missing": true,
"field_mask": "restrict_workspace_admins.status"
}'

応答例:

JSON
{
"etag": "<response-etag>",
"restrict_workspace_admins": {
"status": "RESTRICT_TOKENS_AND_JOB_RUN_AS"
},
"setting_name": "default"
}

RestrictWorkspaceAdminsを無効にするには、ステータスを ALLOW_ALLに設定します。

Restrict Workspace Admins APIまたは Databricks Terraformプロバイダーを使用することもできます。