ワークスペース管理者を制限する
この記事では、アカウント管理者が RestrictWorkspaceAdmins 設定を使用して、ジョブとサービスプリンシパルに関するワークスペース管理者の権限を制限する方法について説明します。
デフォルトの権限
RestrictWorkspaceAdmins設定を有効にしない場合、ワークスペース管理者には次の権限があります。
- 
ジョブの所有者を、ワークスペース内の任意のユーザーまたはサービスプリンシパルに変更できます。 
- 
ジョブ の実行形式 設定を、ワークスペース内の任意のユーザー、またはサービス プリンシパル User ロールを持つ任意のサービスプリンシパルに更新できます。 
- 
ワークスペース内の任意のサービスプリンシパルに代わって個人用アクセス トークンを作成できます。 
制限付きアクセス許可
RestrictWorkspaceAdmins設定を有効にすると、ワークスペース管理者には次の権限が付与されます。
- 
ジョブの所有者を自分自身に変更することしかできません。 
- 
ジョブ の実行形式 設定を、ジョブ自体、またはサービス プリンシパル 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プロバイダーを使用することもできます。