管理用户

本文介绍如何添加、更新和移除 Azure Databricks 用户。

有关 Azure Databricks 标识模型的概述,请参阅 Azure Databricks 标识

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

用户管理概述

若要管理 Azure Databricks 中的用户,你必须是帐户管理员或工作区管理员。

  • 帐户管理员可以将用户添加到帐户,并为其分配管理员角色。 他们还可以将用户分配到工作区,并跨工作区配置数据访问权限,前提是这些工作区使用联合身份验证

  • 工作区管理员可以将用户添加到 Azure Databricks 工作区,为他们分配工作区管理员角色,并管理对工作区中对象和功能的访问权限,例如创建群集或访问指定的基于角色的环境的权利。 将用户添加到 Azure Databricks 工作区也会将其添加到帐户中。

    工作区管理员是工作区中 admins 的成员,这是一个不能被删除的保留组。

    在 Azure 中对工作区资源拥有内置参与者、所有者或具有 Microsoft.Databricks/workspaces/assignWorkspaceAdmin/action 权限的自定义角色的用户在单击 Azure 门户中的“启动工作区”时会被系统自动分配工作区管理员角色。 有关详细信息,请参阅什么是工作区管理员?

重要

Databricks 于 2023 年 11 月 9 日自动为联合身份验证和 Unity Catalog 启用了新工作区,并逐步跨帐户推出。 如果工作区默认启用了联合身份验证,则无法禁用。 有关详细信息,请参阅 Unity Catalog 的自动启用

将用户从 Microsoft Entra ID 租户同步到 Azure Databricks 帐户

帐户管理员可以使用 SCIM 预配连接器,将用户从 Microsoft Entra ID 租户同步到 Azure Databricks 帐户。

重要

如果已有直接将标识同步到工作区的 SCIM 连接器,则必须在启用帐户级 SCIM 连接器时禁用这些 SCIM 连接器。 请参阅将工作区级 SCIM 预配迁移到帐户级别

管理帐户中的用户

帐户管理员可以使用帐户控制台将用户添加到 Azure Databricks 帐户。 Azure Databricks 帐户中的用户对工作区、数据或计算资源没有任何默认访问权限。

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

  1. 作为帐户管理员,登录到帐户控制台
  2. 在边栏中,单击“用户管理”。
  3. 在“用户”选项卡上,单击“添加用户”。
  4. 输入用户的名称和电子邮件地址。
  5. 单击“添加用户” 。

注意

用户不能属于 50 个以上的 Azure Databricks 帐户。

若要授予用户访问工作区的权限,必须将它们添加到工作区。 请参阅管理工作区中的用户

向用户分配帐户管理员角色

  1. 作为帐户管理员,登录到帐户控制台
  2. 在边栏中,单击“用户管理”。
  3. 查找并单击用户名。
  4. 在“角色”选项卡上,启用“帐户管理员”。

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

若要使用帐户控制台将用户添加到工作区,工作区必须启用联合身份验证。 工作区管理员还可以使用工作区管理员设置页将用户分配给工作区。 请参阅使用工作区管理员设置页将用户分配到工作区

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

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

若要使用帐户控制台从工作区中移除用户,工作区必须启用联合身份验证。 当用户被从工作区中移除后,该用户将无法再访问该工作区,但用户上的权限仍会保留。 如果以后将用户添加回工作区,则他们会重新获得其以前的权限。

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

停用 Azure Databricks 帐户中的用户

帐户管理员可以在 Azure Databricks 帐户中停用用户。 停用的用户无法登录到 Azure Databricks 帐户或工作区。 但是,用户的所有权限和工作区对象保持不变。 停用用户后,会出现以下情况:

  • 用户无法通过任何方法登录到帐户或任何工作区。
  • 使用用户生成的令牌的应用程序或脚本无法再访问 Databricks API。 令牌将保留,但不能用于在用户停用时进行身份验证。
  • 用户拥有的笔记本会保留。
  • 用户拥有的群集保留运行状态。
  • 由用户创建的计划作业必须分配给新的所有者,以防止它们失败。

重新激活用户时,它们可以使用相同的权限登录到 Azure Databricks。 Databricks 建议在帐户中停用用户而不是移除它们,因为移除用户是一项破坏性操作。 已停用的用户的状态在帐户控制台中标记为“非活动”。 还可以从特定工作区停用用户。 请参阅在 Azure Databricks 工作区中停用用户

无法使用帐户控制台停用用户。 请改为使用帐户用户 API。 例如:

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

update-user.json

{
  "schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ],
  "Operations": [
    {
      "op": "replace",
      "path": "active",
      "value": [
        {
          "value": "false"
        }
      ]
    }
  ]
}

从 Azure Databricks 帐户中移除用户

帐户管理员可以从 Azure Databricks 帐户中删除用户。 工作区管理员不可以。 从帐户中删除用户时,该用户也会从其工作区中移除。

重要

从帐户中删除用户时,也会将该用户从其工作区中删除,而不管是否启用了联合身份验证。 建议不要删除帐户级别用户,除非你希望他们失去对帐户中所有工作区的访问权限。 请注意删除用户会产生以下后果:

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

当用户被从帐户中移除后,该用户将无法再访问该帐户,但用户上的权限仍会保留。 如果以后将用户添加回帐户,则他们会重新获得其以前的权限。

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

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

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

若要使用 SCIM API 从 Azure Databricks 帐户中移除用户,你必须是帐户管理员。请参阅将用户和组同步到 Azure Databricks 帐户帐户组 API

管理工作区中的用户

工作区管理员可以使用工作区管理员设置页添加和管理用户。

使用工作区管理员设置页将用户分配到工作区

若要使用工作区管理员设置页将用户添加到工作区,请执行以下操作:

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

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

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

  4. 在“用户”旁单击“管理”。

  5. 单击“添加用户” 。

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

    可以添加属于 Azure Databricks 工作区的 Microsoft Entra ID 租户的任何用户。

  7. 单击“添加” 。

注意

如果未为工作区启用联合身份验证,则只会看到将新用户添加到工作区的选项。 如果添加与现有账户用户一样的用户名(电子邮件地址),这些用户会合并。

使用工作区管理员设置页将工作区管理员角色分配给用户

若要使用工作区管理员设置页分配工作区管理员角色,请执行以下操作:

  1. 以工作区管理员身份登录到 Azure Databricks 工作区。
  2. 单击 Azure Databricks 工作区顶部栏中的用户名,然后选择“设置”
  3. 单击“标识和访问”选项卡。
  4. 在“用户”旁单击“管理”。
  5. 选择用户。
  6. 单击“权利”选项卡。
  7. 单击“管理员访问权限”旁边的开关。

若要从工作区用户中移除工作区管理员角色,请执行以下步骤,但取消选择“管理员访问权限”开关。

在 Azure Databricks 工作区中停用用户

工作区管理员可以停用 Azure Databricks 工作区中的用户。 已停用的用户无法登录到工作区或从 Azure Databricks API 访问工作区,但用户的所有权限和工作区对象保持不变。 停用用户时:

  • 用户无法从任何方法登录到工作区。
  • 用户的状态在工作区管理员设置页面中显示为“非活动”
  • 使用用户生成的令牌的应用程序或脚本无法再访问 Databricks API。 令牌将保留,但不能用于在用户停用时进行身份验证。
  • 用户拥有的笔记本会保留。
  • 用户拥有的群集保留运行状态。
  • 由用户创建的计划作业必须分配给新的所有者,以防止它们失败。

重新激活用户时,它们可以使用相同的权限登录到工作区。 Databricks 建议停用用户而不是移除他们,因为移除用户是一项破坏性操作。 不能使用工作区管理员设置页停用用户。 请改为使用工作区用户 API。 例如:

curl --netrc -X PATCH \
https://<databricks-instance>/api/2.0/preview/scim/v2/Users/<user-id> \
--header 'Content-type: application/scim+json' \
--data @update-user.json \
| jq .

update-user.json

{
  "schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ],
  "Operations": [
    {
      "op": "replace",
      "path": "active",
      "value": [
        {
          "value": "false"
        }
      ]
    }
  ]
}

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

当用户被从工作区中移除后,该用户将无法再访问该工作区,但用户上的权限仍会保留。 如果以后将用户添加回工作区,则他们会重新获得其以前的权限。

  1. 以工作区管理员身份登录到 Azure Databricks 工作区。
  2. 单击 Azure Databricks 工作区顶部栏中的用户名,然后选择“设置”
  3. 单击“标识和访问”选项卡。
  4. 在“用户”旁单击“管理”。
  5. 找到相应用户以及用户行最右侧的 Kebab 菜单 串形菜单,然后选择“移除”
  6. 单击“删除”进行确认。

使用 API 管理用户

帐户管理员和工作区管理员可以使用 Databricks API 管理 Azure Databricks 帐户和工作区中的用户。

使用 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.0/accounts/{account_id}/workspaces/{workspace_id}/permissionassignments
  • 工作区管理员使用 {workspace-domain}/api/2.0/preview/permissionassignments/principals/{user_id}

请参阅工作区分配 API

如果工作区未启用联合身份验证,则工作区管理员可以使用工作区级 API 将用户分配到其工作区。 请参阅工作区用户 API