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

この記事では、アカウント管理者が 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プロバイダーを使用することもできます。