管理组

本文介绍管理员如何创建和管理 Azure Databricks 组。 有关 Azure Databricks 标识模型的概述,请参阅 Azure Databricks 标识

要管理组的访问权限,请参阅身份验证和访问控制

组管理概述

组简化了标识管理,使分配对工作区、数据和其他安全对象的访问权限变得更加容易。 所有 Databricks 标识都可以被分配为组的成员。

帐户组和工作区本地组的区别

Azure Databricks 有“帐户组”和旧“工作区本地组”的概念

  • 可以向帐户组授予访问 Unity Catalog 元存储中的数据的权限、授予服务主体和组上的角色,以及授予对标识联合工作区的权限。
  • 工作区本地组是旧组。 这些组在工作区管理员设置页中标识为“工作区本地”。 不能将工作区本地组分配给其他工作区,也不能向它们授予对 Unity Catalog 元存储中数据的访问权限。 不能向工作区本地组授予帐户级角色。 有关工作区本地组的详细信息,请参阅管理工作区本地组(本地)

每个工作区中有两个系统组:usersadmins。 所有工作区用户都是 users 组的成员,所有工作区管理员都是 admins 组的成员。 系统组是工作区本地组。 系统组无法删除。

Databricks 建议将现有工作区本地组转变为帐户组,以便通过 Unity Catalog 来利用集中式工作区分配和数据访问管理。 请参阅将工作区本地组迁移到帐户组

注意

Azure 中对工作区资源拥有内置参与者、所有者或具有 Microsoft.Databricks/workspaces/assignWorkspaceAdmin/action 权限的自定义角色的用户会自动分配到工作区 admins 组。 有关详细信息,请参阅管理订阅

谁可以管理帐户组?

若要在 Azure Databricks 中创建帐户组,必须是帐户管理员或工作区管理员。工作区管理员必须位于标识联合工作区中才能创建帐户组。

要管理 Azure Databricks 中的客户团队,必须具有组的组管理员角色(公共预览版)。 组管理员可以管理组成员身份并删除组。 他们还可以为其他用户分配组管理员角色。 帐户管理员可以使用帐户控制台管理组角色,工作区管理员可以使用工作区管理员设置页面管理组角色。 如果组管理员不是工作区管理员,他们可以使用帐户访问控制 API 来管理组角色。

帐户管理员在帐户级别具有组管理员角色,这意味着他们在帐户中的所有组上都具有组管理员角色。 工作区管理员对自己创建的帐户组具有组管理员角色。

工作区管理员可以创建和管理工作区本地组

使用帐户控制台管理用户

帐户管理员可以使用帐户控制台在 Azure Databricks 帐户中添加和管理组。 工作区管理员和组管理员可以使用工作区设置页和 Databricks API 管理组。 请参阅使用工作区管理员设置页管理帐户组使用 API 管理帐户组

使用帐户控制台将组添加到帐户

若要使用帐户控制台将组添加到帐户,请执行以下操作:

  1. 作为帐户管理员,登录到帐户控制台。
  2. 在边栏中,单击“用户管理”。
  3. 在“组”选项卡上,单击“添加组”。
  4. 输入组的名称。
  5. 单击“确认” 。
  6. 出现提示时,将用户、服务主体和组添加到该组。

使用帐户控制台将成员添加到组

若要使用帐户控制台将用户、服务主体和组添加到组,请执行以下操作:

  1. 作为帐户管理员,登录到帐户控制台。
  2. 在边栏中,单击“用户管理”。
  3. 在“组”选项卡上,选择要更新的组。
  4. 单击“添加成员”。
  5. 搜索要添加的用户、组或服务主体,并选择它。
  6. 单击“添加”。

注意

从帐户更新组与在工作区中更新组之间会存在几分钟的延迟。

使用帐户控制台管理组上的角色

重要

此功能目前以公共预览版提供。

帐户管理员可以在帐户控制台中为帐户组授予角色。

  1. 作为帐户管理员,登录到帐户控制台
  2. 在边栏中,单击“用户管理”。
  3. 在“组”选项卡上,找到并单击组名称。
  4. 单击“权限”选项卡。
  5. 单击“授予访问权限”。
  6. 搜索并选择用户、服务主体或组,然后选择“组:管理员”角色。
  7. 单击“保存” 。

更改组的名称

帐户管理员可以使用帐户控制台更新帐户组的名称:

  1. 作为帐户管理员,登录到帐户控制台。
  2. 在边栏中,单击“用户管理”。
  3. 在“组”选项卡上,选择要更新的组。
  4. 单击“组信息”。
  5. 在“名称”下,更新名称。
  6. 单击“ 保存”。

组管理员无法使用帐户控制台更改组的名称。 请改用帐户组 API。 例如:

curl --netrc -X PATCH \
https://${DATABRICKS_HOST}/api/2.1/accounts/{account_id}/scim/v2/Groups/{id} \
--header 'Content-type: application/scim+json' \
--data @update-group.json \
| jq .

update-group.json:

{
  "schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ],
  "Operations": [
    {
      {
          "op": "replace",
          "path": "displayName",
          "value": "<updated-name>"
      }
    }
  ]
}

有关如何向帐户组 API 进行身份验证的信息,请参阅对 Azure Databricks 资源的访问进行身份验证

使用帐户控制台将组分配到工作区

若要使用帐户控制台将组添加到工作区,工作区必须启用联合身份验证。 只有帐户组可分配给工作区。

  1. 作为帐户管理员,登录到帐户控制台。
  2. 在边栏中单击“工作区”。
  3. 单击工作区名称。
  4. 在“权限”选项卡上,单击“添加权限”
  5. 搜索并选择组,分配权限级别(工作区“用户”或“管理员”),然后单击“保存”。

使用帐户控制台从工作区中移除组

若要使用帐户控制台将组从工作区移除,工作区必须启用标识联合身份验证。 只有帐户组可以通过帐户控制台从工作区中移除。

从工作区中移除帐户组时,组成员将无法再访问工作区,但该组的权限会保留。 如果稍后将该组添加回工作区,则组将重新获得其以前的权限。

  1. 作为帐户管理员,登录到帐户控制台。
  2. 在边栏中单击“工作区”。
  3. 单击工作区名称。
  4. 在“权限”选项卡上,找到组。
  5. 单击组行最右侧的 Kebab 菜单 垂直三点菜单,然后选择“移除”。
  6. 在确认对话框中,单击“删除”。

向组分配帐户管理员角色

你不能使用帐户控制台向组分配帐户管理员或市场管理员角色,但可以使用帐户组 API 向组分配该角色。 例如:

curl --netrc -X PATCH \
https://${DATABRICKS_HOST}/api/2.1/accounts/{account_id}/scim/v2/Groups/{id} \
--header 'Content-type: application/scim+json' \
--data @update-group.json \
| jq .

update-group.json:

{
  "schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ],
  "Operations": [
    {
      "op": "add",
      "path": "roles",
      "value": [
        {
          "value": "account_admin"
        }
      ]
    }
  ]
}

有关如何向帐户组 API 进行身份验证的信息,请参阅对 Azure Databricks 资源的访问进行身份验证

从 Azure Databricks 帐户中删除组

帐户管理员可以从 Azure Databricks 帐户中删除组。 组管理员还可以使用帐户组 API 从帐户中删除组,请参阅使用 API 管理帐户组

重要

当你删除一个组时,该组中的所有用户都会从帐户中删除,并失去对他们有权访问的任何工作区的访问权限(除非他们是另一个组的成员,或者已被直接授予对该帐户或任何工作区的访问权限)。 Databricks 建议不要删除帐户级别组,除非你希望它们失去对帐户中所有工作区的访问权限。 请注意删除用户会产生以下后果:

  • 使用用户生成的令牌的应用程序或脚本无法再访问 Databricks API
  • 用户拥有的作业失败
  • 用户拥有的群集停止
  • 用户创建并使用“以所有者身份运行”凭据共享的查询或仪表板必须分配给新所有者,以防共享失败

若要使用帐户控制台删除组,请执行以下操作:

  1. 作为帐户管理员,登录到帐户控制台。
  2. 在边栏中,单击“用户管理”。
  3. 在“组”选项卡上,找到要删除的组。
  4. 单击用户行最右侧的 Kebab 菜单“Kebab 菜单”,然后选择“删除”。
  5. 在确认对话框中,单击“确认删除”。

如果你要使用帐户控制台删除组,必须确保同时还要使用为帐户设置的任何 SCIM 预配连接器或 SCIM API 应用程序删除该组。 如果不这样做,SCIM 预配会在下次同步时将组及其成员添加回来。 请参阅从 Microsoft Entra ID 同步用户和组

若要使用 API 从 Azure Databricks 帐户中删除组,请参阅将用户和组同步到 Azure Databricks 帐户帐户组 API

使用工作区管理员设置页管理帐户组

工作区管理员可以使用工作区管理员设置页在身份联合工作区中创建和管理帐户组。

注意

从工作区更新帐户组与在帐户中更新组之间存在几分钟的延迟。

若要了解如何在工作区中创建工作区本地组,请参阅管理工作区本地组(旧版)

使用工作区管理员设置页创建组或将组分配到工作区

若要使用工作区管理员设置页在工作区中分配或创建帐户组,请执行以下操作:

  1. 以工作区管理员身份登录到 Azure Databricks 工作区。

  2. 单击 Azure Databricks 工作区顶部栏中的用户名,然后选择“设置”

  3. 单击“标识和访问”选项卡

  4. 在“组”旁边,单击“管理”。

  5. 单击“添加组”。

  6. 选择要分配到工作区的现有组,或单击“新添”创建新的帐户组。

    注意

    如果未为工作区启用联合身份验证,则无法在工作区中分配现有帐户组或添加创建帐户组。 必须改为使用工作区本地组,具体请参阅管理工作区本地组(旧版)

使用工作区管理员设置页将成员添加到组

你必须是工作区管理员才能使用工作区管理员设置页将用户、服务主体和组添加到帐户组。 只能管理自己具有组管理员角色的组内的成员。

注意

不能向 admins 组添加子组。 你无法将工作区本地组或系统组添加为帐户组的成员。

非工作区管理员的组管理员必须使用帐户组 API 管理组成员身份。

  1. 以工作区管理员身份登录到 Azure Databricks 工作区。
  2. 单击 Azure Databricks 工作区顶部栏中的用户名,然后选择“设置”
  3. 单击“标识和访问”选项卡
  4. 在“组”旁边,单击“管理”
  5. 选择要更新的组。 必须具有组管理员角色才能更新组。
  6. 在“成员”选项卡上,单击“添加成员”
  7. 在对话框中,浏览或搜索要添加的用户、服务主体和组,并选择它们。
  8. 单击“确认” 。

使用工作区管理员设置页管理帐户组的角色

重要

此功能目前以公共预览版提供。

可以将“组管理员”角色分配给用户、帐户组和服务主体。 组管理员可以管理组成员身份。 他们还可以为其他用户分配组管理员角色。

必须是工作区管理员才能使用工作区管理员设置页管理组角色。 非工作区管理员的组管理员可以使用帐户访问控制 API 管理组角色。

  1. 以工作区管理员身份登录到 Azure Databricks 工作区。

  2. 单击 Azure Databricks 工作区顶部栏中的用户名,然后选择“设置”

  3. 单击“标识和访问”选项卡

  4. 在“组”旁边,单击“管理”

  5. 选择要更新的组。 必须具有组管理员角色才能更新组。

  6. 单击“权限”选项卡。

  7. 单击“授予访问权限”。

  8. 搜索并选择用户、服务主体或组,然后选择“组:管理员”角色。

    注意

    你无法在帐户组上分配工作区本地组或系统组角色。

  9. 单击“ 保存”。

查看父组

  1. 以工作区管理员身份登录到 Azure Databricks 工作区。
  2. 单击 Azure Databricks 工作区顶部栏中的用户名,然后选择“设置”
  3. 单击“标识和访问”选项卡
  4. 在“组”旁边,单击“管理”
  5. 选择要查看的组。
  6. 在“父组”选项卡上,查看你的组的父组。

使用工作区管理员设置页从工作区中删除组

从工作区中删除组不会将组从帐户中删除。 从工作区中移除组时,组成员将无法再访问工作区,但该组的权限会保留。 如果稍后将该组添加回工作区,则组将重新获得其以前的权限。

  1. 以工作区管理员身份登录到 Azure Databricks 工作区。
  2. 单击 Azure Databricks 工作区顶部栏中的用户名,然后选择“设置”
  3. 单击“标识和访问”选项卡
  4. 在“组”旁边,单击“管理”。
  5. 选择组并单击“x 删除”
  6. 单击“删除”进行确认。

使用 API 管理帐户组

帐户管理员、工作区管理员和组管理员可以使用帐户组 API 在 Azure Databricks 帐户中添加、删除和管理组。 帐户管理员、工作区管理员和组管理员使用不同的终结点 URL 调用 API:

  • 帐户管理员使用 {account-domain}/api/2.1/accounts/{account_id}/scim/v2/
  • 工作区管理员和组管理员使用 {workspace-domain}/api/2.0/account/scim/v2/

有关详细信息,请参阅帐户组 API

使用 API 将组分配到工作区

帐户和工作区管理员可以使用工作区分配 API 将组分配到已启用联合身份验证的工作区。 通过 Azure Databricks 帐户和工作区支持工作区分配 API。

  • 帐户管理员使用 {account-domain}/api/2.1/accounts/{account_id}/workspaces/{workspace_id}/permissionassignments
  • 工作区管理员使用 {workspace-domain}/api/2.0/preview/permissionassignments/principals/{group_id}

请参阅工作区分配 API

使用 API 管理组的角色

重要

此功能目前以公共预览版提供。

组管理员可以使用帐户访问控制 API 管理组角色。 帐户管理员、工作区管理员和组管理员使用不同的终结点 URL 调用 API:

  • 帐户管理员使用 {account-domain}/api/2.0/preview/accounts/{account_id}/access-control/assignable-roles
  • 工作区管理员和组管理员使用 {workspace-domain}/api/2.0/preview/accounts/access-control/assignable-roles

请参阅帐户访问控制 API工作区代理 API 访问控制帐户