ワークスペース管理者を制限する
RestrictWorkspaceAdmins設定を使用すると、アカウント管理者はワークスペースの管理者権限を制限できます。これには2つの独立した分野があります。
status: ワークスペース管理者がジョブ、クエリ、レガシーアラート、レガシーダッシュボードの所有権を他のユーザーまたはサービスプリンシパルに変更することを制限します。disable_gov_tag_creation: ワークスペース管理者が管理タグを作成できないようにします。
一方の項目を変更しても、もう一方の項目には影響しません。
また、 statusフィールドは、ワークスペース管理者がサービスプリンシパル ユーザー ロールを持っていないサービスプリンシパルに対する個人 アクセスマラソンを作成することをワークスペース管理者が制限することもできます。
所有権とトークン権限を制限する
statusフィールドには、次の2つの値があります。
ALLOW_ALLは、フィールドが無効になっていることを意味し、ワークスペース管理者は「許可」の下にリストされているすべてのアクションを実行できます。RESTRICT_TOKENS_AND_JOB_RUN_ASこれは、そのフィールドが有効になっており、ワークスペース管理者は「制限付き権限」にリストされているアクションのみに制限されることを意味します。
デフォルトの権限
status ALLOW_ALLに設定されている場合、ワークスペース管理者には次の権限が付与されます。
-
ジョブの所有者を、ワークスペース内の任意のユーザーまたはサービスプリンシパルに変更できます。
-
ジョブ の実行形式 設定を、ワークスペース内の任意のユーザー、またはサービス プリンシパル User ロールを持つ任意のサービスプリンシパルに更新できます。
-
クエリの所有者をワークスペース内の任意のユーザーに変更できます。
-
レガシーアラートの所有者をワークスペース内の任意のユーザーに変更できます。
-
ワークスペース内の任意のサービスプリンシパルに代わって個人用アクセス トークンを作成できます。
制限付きアクセス許可
status RESTRICT_TOKENS_AND_JOB_RUN_ASに設定されている場合、ワークスペース管理者には次の権限が付与されます。
-
ジョブ、クエリ、レガシー アラート、またはレガシー ダッシュボードの所有者を自分自身にのみ変更できます。
-
ジョブ の実行形式 設定を、ジョブ自体、またはサービス プリンシパル User ロールを持つ任意のサービスプリンシパルに更新できます。
-
サービスプリンシパルの個人用アクセストークンを作成できるのは、 サービスプリンシパル ユーザー ロールを持つ場合のみです。
有効または無効にする
statusフィールドを有効または無効にするには、アカウント管理者であり、かつ制限したいワークスペースのメンバーである必要があります。以下の例では、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"
}
このフィールドを無効にするには、 status ALLOW_ALLに設定してください。
Restrict Workspace Admins APIまたは Databricks Terraformプロバイダーを使用することもできます。
ワークスペース管理者が管理タグを作成できないようにする
勝手に、ワークスペース管理者は管理タグを作成する権限を持ちます。 アカウント管理者は、 RestrictWorkspaceAdmins設定のdisable_gov_tag_creationフィールドに値を設定することで、この権限を取り消すことができます。disable_gov_tag_creationが true に設定されている場合、アカウント管理者が明示的に CREATE 権限を付与しない限り、ワークスペース管理者は管理タグを作成できなくなります。「管理タグの権限の管理」を参照してください。
このフィールドは単一のワークスペースに限定されており、アカウント管理者のみが変更できます。アカウント内のすべてのワークスペースで管理タグの作成を無効にするには、アカウント管理者はこの設定を各ワークスペースに個別に適用する必要があります。
disable_gov_tag_creation APIまたはCLIを使用して設定する必要があります。以下の例は、Databricks CLIを使用して設定を構成する方法を示しています。
RestrictWorkspaceAdmins設定では、一貫性を確保するためにetagフィールドを使用します。まず、以下のCLIコマンドを使用して、 etagと設定の現在の値を取得します。
databricks settings restrict-workspace-admins get
応答例:
{
"etag": "<etag>",
"restrict_workspace_admins": {
"status": "ALLOW_ALL",
"disable_gov_tag_creation": false
},
"setting_name": "default"
}
レスポンスからetagをコピーしてください。次に、このCLIコマンドを使用して設定を有効にします。
databricks settings restrict-workspace-admins update --json '{
"setting": {
"setting_name": "default",
"restrict_workspace_admins": {
"disable_gov_tag_creation": true,
"status": "ALLOW_ALL"
},
"etag": "<etag>"
},
"allow_missing": true,
"field_mask": "restrict_workspace_admins.disable_gov_tag_creation"
}'
ワークスペース管理者が管理タグを作成できるようにするには、 disable_gov_tag_creationをfalseに設定します。