管理用户

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

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

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

谁可以管理用户?

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

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

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

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

    具有 Azure 内置参与者或所有者角色的用户,或者在 Azure 门户中单击“启动工作区”时,会自动为具有所需 Azure 管理员权限的自定义角色分配工作区管理员角色。 有关详细信息,请参阅什么是工作区管理员?

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

可以将用户从 Microsoft Entra ID 租户自动同步到 Azure Databricks 帐户或 SCIM 预配连接器。

自动标识管理(公共预览版) 使你可以将用户、服务主体和组从 Microsoft Entra ID 添加到 Azure Databricks 中,而无需在 Microsoft Entra ID 中配置应用程序。 Databricks 使用 Microsoft Entra ID 作为记录源,因此在 Azure Databricks 中尊重对用户或组成员身份所做的任何更改。 有关详细信息,请参阅 从 Microsoft Entra ID 自动同步用户和组

SCIM 预配 使你可以在 Microsoft Entra ID 中配置企业应用程序,使用户和组与 Microsoft Entra ID 保持同步。 有关说明,请参阅 使用 SCIM 从 Microsoft Entra ID 同步用户和组

将用户添加到帐户

帐户控制台

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

  1. 作为帐户管理员,登录到帐户控制台

  2. 在边栏中,单击“用户管理”。

  3. 在“用户”选项卡上,单击“添加用户”。

  4. 输入用户的名称和电子邮件地址。

  5. 单击“添加用户” 。

工作区管理员设置

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

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

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

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

  5. 单击“添加用户” 。

  6. 单击“新增” 。

  7. 输入该用户的电子邮件地址。

    可以添加属于 Azure Databricks 工作区的 Microsoft Entra ID 租户的任何用户。 将新用户添加到工作区也会将用户添加到 Azure Databricks 帐户中。

  8. 单击“添加” 。

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

  1. 作为帐户管理员,登录到帐户控制台

  2. 在边栏中,单击“用户管理”。

  3. 查找并单击用户名。

  4. 在“ 角色 ”选项卡上,选择一个或多个角色。

将用户分配到工作区

帐户管理员和工作区管理员可以使用帐户控制台或工作区管理员设置页将服务主体分配到 Azure Databricks 工作区。

帐户控制台

若要使用帐户控制台将用户添加到工作区,工作区必须启用联合身份验证。

  1. 作为帐户管理员,登录到帐户控制台

  2. 在边栏中单击“工作区”。

  3. 单击工作区名称。

  4. 在“权限”选项卡上,单击“添加权限”

  5. 搜索并选择用户,分配权限级别(工作区“用户”或“管理员”),然后单击“保存”。

工作区管理员设置

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

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

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

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

  5. 单击“添加用户” 。

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

  7. 单击“添加” 。

从工作区中删除用户

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

帐户控制台

若要使用帐户控制台从工作区中移除用户,工作区必须启用联合身份验证。

  1. 作为帐户管理员,登录到帐户控制台

  2. 在边栏中单击“工作区”。

  3. 单击工作区名称。

  4. 在“权限”选项卡上,找到用户。

  5. 单击用户行最右侧的 Kebab 菜单“Kebab 菜单”,然后选择“移除”。

  6. 在确认对话框中,单击“删除”。

工作区管理员设置

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

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

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

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

  5. 找到相应用户以及用户行最右侧的 Kebab 菜单 串形菜单,然后选择“移除”

  6. 单击“删除”进行确认。

将工作区管理员角色分配给用户

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

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

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

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

  5. 选择用户。

  6. “权利”下,启用 管理员访问权限

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

停用用户

可以在帐户或工作区级别停用用户。

帐户管理员可以在 Azure Databricks 帐户中停用用户。 停用可防止用户对帐户、工作区或 Databricks API 进行身份验证和访问,但不会删除其权限或对象。 这比删除更好,这是一种破坏性操作。

停用的效果:

  • 用户无法对 Databricks UI 或 API 进行身份验证或访问。
  • 使用用户生成的令牌的应用程序或脚本不再能够访问 Databricks API。 令牌将保留,但不能用于在用户停用时进行身份验证。
  • 用户拥有的计算资源仍保持运行状态。
  • 除非将计划作业分配给新所有者,否则用户创建的计划作业将失败。

重新激活后,用户将重新获得具有相同权限的访问权限。

帐户级别停用

帐户管理员可以在 Azure 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"
        }
      ]
    }
  ]
}

工作区级别停用

当用户在工作区级别停用时,他们无法向该特定工作区进行身份验证,但仍可以对帐户中的帐户和其他工作区进行身份验证。

不能使用工作区管理员设置页停用用户。 请改为使用工作区用户 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"
        }
      ]
    }
  ]
}

从 Azure Databricks 帐户中移除用户

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

重要

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

  • 使用用户生成的令牌的应用程序或脚本无法再访问 Databricks API。
  • 用户拥有的作业失败。
  • 用户拥有的群集停止。
  • 该用户安装的库无效,必须重新安装。
  • 用户创建的查询或仪表板如果是通过“以所有者身份运行”凭据共享的,必须指派给新所有者,以防止共享失败。

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

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

  1. 作为帐户管理员,登录到帐户控制台。

  2. 在边栏中,单击“用户管理”。

  3. 查找并单击用户名。

  4. 在“用户信息”选项卡上,单击右上角的 kebab 菜单,然后选择“删除”。

  5. 在确认对话框中,单击“确认删除”。

注意

启用自动标识管理后,Microsoft Entra ID 中的用户将显示在帐户控制台中。 其状态显示为 “非活动”:无使用情况 ,无法从用户列表中删除。 他们在帐户中处于非活动状态,并且不计入用户限制。

使用 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