管理组

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

组管理概述

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

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

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

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

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

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

注意

Azure 中对工作区资源拥有内置“参与者”或“所有者”角色的用户会自动分配到工作区 admins 组。 有关详细信息,请参阅管理订阅

谁可以管理帐户组?

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

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

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

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

从 Microsoft Entra ID(以前称为 Azure Active Directory)租户将组同步到 Azure Databricks 帐户

你可以使用 SCIM 预配连接器,将组从 Microsoft Entra ID(以前称为 Azure Active Directory)租户同步到 Azure Databricks 帐户。 有关说明,请参阅使用 Microsoft Entra ID 将标识预配到 Azure Databricks 帐户

重要

如果具有直接将标识同步到工作区的 SCIM 连接器,并且已启用这些工作区进行联合身份验证,建议在启用帐户级 SCIM 连接器时禁用这些 SCIM 连接器。 如果有不使用联合身份验证的工作区,则必须继续使用为这些工作区配置的任何 SCIM 连接器,与帐户级 SCIM 连接器并行运行。

使用帐户控制台管理用户

帐户管理员可以使用帐户控制台在 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.0/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 menu 垂直三点菜单,然后选择“移除”。
  6. 在确认对话框中,单击“删除”。

向组分配帐户管理员角色

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

curl --netrc -X PATCH \
https://${DATABRICKS_HOST}/api/2.0/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 menu“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. 单击“保存” 。

为组分配权利

权利是允许用户、服务主体或组以指定方式与 Azure Databricks 交互的属性。 权利是在工作区级别分配给用户的。 下表列出了权利以及用于管理每个权利的工作区 UI 和 API 属性名称。 你可以使用工作区管理员设置页和工作区级 SCIM REST API 来管理权利。

权利名称 权利 API 名称 默认值 说明
工作区访问权限 workspace-access 默认授予。 向用户或服务主体授予权限后,他们可以访问数据科学与工程,以及 Databricks 机器学习基于角色的环境。

不能由工作区管理员移除。
Databricks SQL 访问权限 databricks-sql-access 默认授予。 向用户或服务主体授予后,该用户或服务主体即可访问 Databricks SQL。
允许创建无限制的群集 allow-cluster-create 默认不向用户或服务主体授予。 向用户或服务主体授权后,该用户或服务主体即可创建非受限群集。 你可以使用群集级权限限制对现有群集的访问。

不能从工作区管理员中移除。
允许创建池(不能通过 UI) allow-instance-pool-create 不能单独向各用户或服务主体授予。 向组授予后,该组成员即可创建实例池。

不能从工作区管理员中移除。

默认情况下,系统会向users组授予“工作区访问权限”和“Databricks SQL 访问权限”权利。 所有工作区用户和服务主体都是users组的成员。 若要按用户逐个分配这些权利,工作区管理员需要从users组中移除权限,并将权限单独分配给用户、服务主体和组。

重要

要登录并访问 Azure Databricks 工作区,用户必须具有 Databricks SQL 访问权限工作区访问权限权利。

不能使用管理员设置页授予allow-instance-pool-create权利。 请改用工作区用户、服务主体或组 API。

使用工作区管理员设置页面为组添加或移除权利

无论组是否是在帐户中创建的,是否属于工作区本地组,你都可以在工作区级别管理组权利。

  1. 以工作区管理员身份登录到 Azure Databricks 工作区。
  2. 单击 Azure Databricks 工作区顶部栏中的用户名,然后选择“管理员设置”。
  3. 单击“标识和访问”选项卡
  4. 在“组”旁边,单击“管理”
  5. 选择要更新的组。 必须具有组管理员角色才能更新组。
  6. 在“权利”选项卡上,选择要向组中的所有用户授予的权利。

若要移除权利,请执行相同的步骤,但改为取消选择切换开关。 组成员将失去权利,除非他们具有作为单个用户或通过其他组成员身份获得的权限。

查看父组

  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.0/accounts/{account_id}/scim/v2/
  • 工作区管理员和组管理员使用 {workspace-domain}/api/2.0/account/scim/v2/

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

使用 API 将组分配到工作区

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

  • 帐户管理员使用 {account-domain}/api/2.0/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 访问控制帐户