ワークスペース管理者を制限する
デフォルトにより、ワークスペース管理者はジョブの所有者を自分のワークスペース内の任意のユーザーまたはサービスプリンシパルに変更できます。 ワークスペース管理者は、ワークスペースのユーザーロールを持つサービスプリンシパルまたは任意のユーザーに対して、ジョブ実行の設定をサービスプリンシパルに変更できます。
ワークスペース管理者は、自分のワークスペース内のサービス プリンシパルに代わって個人用のアクセストークンを作成することもできます。
アカウント管理者は、 RestrictWorkspaceAdmins
というワークスペース設定を構成して、ワークスペース管理者がジョブ所有者を自分自身にのみ変更し、ジョブ実行設定を自分がユーザーロールを持つサービスプリンシパルに変更することを制限できます。
また、この設定により、ワークスペース管理者は、サービスプリンシパル ユーザー ロールを持つサービスプリンシパルの個人用アクセストークンのみを作成できるように制限されます。
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プロバイダーを使用することもできます。