ワークスペース管理者を制限する
この記事では、アカウント管理者が 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 ワークスペース Admins APIまたはDatabricks Terraformプロバイダーを使用することもできます。