ワークスペース管理者を制限する
この記事では、アカウント管理者が RestrictWorkspaceAdmins
設定を使用して、ジョブとサービスプリンシパルに関するワークスペース管理者の権限を制限する方法について説明します。
デフォルトの権限
RestrictWorkspaceAdmins
設定を有効にしない場合、ワークスペース管理者には次の権限があります。
-
ジョブの所有者を、ワークスペース内の任意のユーザーまたはサービスプリンシパルに変更できます。
-
ジョブ の実行形式 設定を、ワークスペース内の任意のユーザー、またはサービス プリンシパル User ロールを持つ任意のサービスプリンシパルに更新できます。
-
ワークスペース内の任意のサービスプリンシパルに代わって個人用アクセス トークンを作成できます。
制限付きアクセス許可
RestrictWorkspaceAdmins
設定を有効にすると、ワークスペース管理者には次の権限が付与されます。
-
ジョブの所有者を自分自身に変更することしかできません。
-
ジョブ の実行形式 設定を、ジョブ自体、またはサービス プリンシパル User ロールを持つ任意のサービスプリンシパルに更新できます。
-
サービスプリンシパルの個人用アクセストークンを作成できるのは、 サービスプリンシパル User ロールを持つ場合のみです。
制限設定を有効にする
RestrictWorkspaceAdmins
設定を有効にするには、アカウント管理者であり、制限するワークスペースのメンバーである必要があります。以下の例では、Databricks CLI v0.215.0を使用しています。
RestrictWorkspaceAdmins
設定では、一貫性を確保するためにetag
フィールドを使用します。設定を有効または無効にするには、まず GET
を発行して応答 etag
を受け取ります。 etag
を使用して設定を更新できます。例えば:
databricks settings restrict-workspace-admins get
応答例:
{
"etag": "<etag>",
"restrict_workspace_admins": {
"status": "ALLOW_ALL"
},
"setting_name": "default"
}
応答本文から etag
フィールドをコピーし、それを使用して RestrictWorkspaceAdmins
設定を更新します。 例えば:
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"
}'
応答例:
{
"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プロバイダーを使用することもできます。