管理用户、服务主体和组

本文介绍Databricks身份管理模型,并概述如何在Databricks中管理用户、组和服务主体。

有关如何在Databricks中最好地配置身份的观点,请参见身份最佳实践

数据库身份和角色

有三种类型的Databricks身份:

  • 用户:由Databricks识别并以电子邮件地址表示的用户身份。

  • 服务主体:用于作业、自动化工具和系统(如脚本、应用程序和CI/CD平台)的身份。bob体育客户端下载

  • :管理员用来管理组对工作空间、数据和其他安全对象的访问的身份集合。所有Databricks身份都可以分配为组的成员。

在Databricks中定义了五个角色:

  • 账户管理员可以管理您的Databricks帐户级别的配置,包括创建工作区,Unity Catalog亚存储,计费和云资源。帐户管理员可以将用户添加到帐户,并为其分配管理角色。它们还可以让用户访问工作空间,只要这些工作空间在使用联合身份验证

  • 工作空间管理员可以将用户添加到Databricks工作空间,为他们分配工作空间管理员角色,并管理对工作空间中对象和功能的访问,例如创建集群或访问指定的基于角色的环境的能力。

  • Metastore管理员可以管理Unity Catalog metastore中所有安全对象的权限,例如谁可以创建目录或查询表。

  • 用户帐户可以使用帐户控制台查看并连接到他们的工作空间。帐户和工作空间管理员可以向帐户添加用户。

  • 工作空间的用户在工作区中执行数据科学、数据工程和数据分析任务。帐户和工作空间管理员可以让帐户用户访问工作空间,只要这些工作空间使用联合身份验证

谁可以管理Databricks中的身份?

要在Databricks中管理身份,您必须是帐户管理员或工作空间管理员。用户管理操作所需的具体权限如下表所示:

行动

谁能执行这个动作?

添加用户和服务主体

帐户管理员可以向帐户中添加用户和服务主体。

工作空间管理员可以从他们的工作空间向帐户添加用户和服务主体。

更新用户和服务主体

帐户管理员可以更新帐户中的用户和服务主体。

删除用户和业务主体

帐户管理员可以从帐户中删除用户和服务主体。

添加组

帐户管理员可以向帐户添加组。

工作空间管理员可以添加workspace-local组到工作空间管理员的工作空间。

更新组

帐户管理员可以更新帐户中的组。

工作区管理员可以更新workspace-local组在工作空间管理员的工作空间中。

删除组

帐户管理员可以从帐户中删除组。

工作区管理员可以删除workspace-local组从工作空间管理员的工作空间。

一个帐户最多可包含10,000个用户和服务主体,以及5,000个组。每个工作区最多可以有10,000个用户和服务主体以及5000个组。

详细说明请参见:

管理员如何将用户分配到工作区?

要使用户、服务主体或组能够在Databricks工作空间中工作,帐户管理员或工作空间管理员需要将其分配到工作空间。

只要启用了工作空间,帐户管理员就可以向帐户中存在的用户、服务主体和组分配工作空间访问权联合身份验证。工作空间管理员还可以将用户、服务主体和组分配到其身份联邦工作空间。

相反,如果直接将新用户或服务主体添加到工作空间,则该用户或服务主体将自动添加到帐户并分配给该工作空间。Databricks不推荐这种上游流程。将您的用户添加到帐户,然后将他们分配到工作空间更为直接。看到Databricks如何在工作空间和帐户之间同步身份?

直接在工作空间中创建的组(称为工作空间-本地组)不会自动添加到帐户。您可以手动将工作空间-本地组重新创建为帐户中的组。看到团体特别注意事项

帐户级别的标识图

对于那些没有启用身份联合的工作空间,工作空间管理员完全在工作空间(遗留模型)的范围内管理他们的工作空间用户、服务主体和组。他们不能使用帐户控制台或帐户级api将帐户中的用户分配到这些工作空间,但是他们可以使用任何工作空间级接口。

每当用户或服务主体被添加到工作区时,该用户或服务主体将被同步到帐户级别。无论是否启用了身份联合,只要从帐户级别删除用户或服务主体,该用户将失去对帐户中所有工作区的访问权。无论何时将组添加到工作空间,该组都将是工作空间-本地组,并且不会添加到帐户。看到团体特别注意事项

详细说明请参见:

管理员如何在工作空间上启用身份联合?

为了在工作空间中启用身份联合,管理员需要通过分配一个Unity Catalog亚矿来启用Unity Catalog的工作空间。看到为Unity Catalog启用一个工作区

Databricks如何在工作空间和帐户之间同步身份?

在2022年8月,所有现有的工作区用户和服务主体将作为帐户级用户和服务主体自动同步到您的帐户。无论何时将用户或服务主体添加到工作区,Databricks都将继续将用户或服务主体同步到帐户。如果工作区用户与已经存在的帐户级用户或管理员共享用户名(电子邮件地址),则合并这些用户。

重要的

如果帐户管理员在帐户级别删除用户或服务主体,则该用户也将从其工作区中删除,而不管是否启用了身份联合。您应该避免删除帐户级别的用户或服务主体,除非您希望他们失去对帐户中所有工作区的访问权。删除用户的后果如下:

  • 使用用户生成的令牌的应用程序或脚本将不再能够访问Databricks API

  • 用户拥有的作业将失败

  • 用户所属的集群将停止运行

  • 由用户创建并使用Run as Owner凭据共享的查询或仪表板必须分配给新的所有者,以防止共享失败

工作区-本地组未同步到帐户级别。工作区-本地组被标识为workspace-local在工作空间管理控制台中,以及在帐户控制台中工作空间Permissions选项卡上(如果为工作空间启用了身份联合)。有关更多信息,请参见团体特别注意事项

团体特别注意事项

而在工作空间级别创建的用户和服务主体则是自动同步到帐户,在工作空间级别创建的组则不是。相反,Databricks的概念是账户组workspace-local组,具有特殊的行为:

  • 账户组只能由管理员帐户创建。帐户组可用于分配给身份联邦工作区,并且可以由帐户管理员和工作空间管理员分配给此类工作区

  • Workspace-local组只能由工作空间管理员创建。这些群体被认定为workspace-local在工作空间管理控制台和帐户控制台中工作空间权限选项卡上。

Databricks建议不要使用工作区-本地组而不是帐户组。为了使用帐户组,必须为身份联合启用工作空间。如果您正在启用现有的工作空间进行身份联合,您可以同时使用帐户组和工作空间-本地组,但Databricks建议将工作空间-本地组转换为帐户组,以利用使用Unity Catalog的集中式工作空间分配和数据访问管理。

分配管理角色

帐户管理员可以将其他用户分配为帐户管理员。通过创建一个metastore,他们也可以成为Unity Catalog的metastore管理员,并且他们可以将metastore管理角色转移给另一个用户或组。

帐户管理员和工作空间管理员都可以将其他用户分配为工作空间管理员。工作空间管理角色由工作空间中的成员资格决定管理员“数据库”中的默认组,不能删除。

看到的:

分配权利

授权是允许用户、服务主体或组以指定的方式与Databricks交互的属性。授权被分配给工作空间级别的用户。下表列出了用于管理每个授权的工作区UI和API属性名。您可以使用工作区管理控制台和工作区级别SCIM REST接口权限管理。

授权名称(UI)

授权名称(API)

默认的

描述

工作空间的访问

workspace-access

默认允许。

当授予用户或服务主体时,他们可以访问数据科学与工程和Databricks机器学习基于人物的环境。

不能从工作空间管理员中删除。

Databricks SQL访问

databricks-sql-access

默认允许。

当授予用户或服务主体时,它们可以访问Databricks SQL。

允许无限制地创建集群

allow-cluster-create

默认情况下不授予用户或服务主体。

当授予用户或服务主体时,它们可以创建集群。可以使用。限制对现有集群的访问集群级别的权限

不能从工作空间管理员中删除。

允许创建池(不能通过UI)

allow-instance-pool-create

不能授予单个用户或服务主体。

当授予一个组时,其成员可以创建实例池。

不能从工作空间管理员中删除。

设置单点登录(SSO)

单点登录(SSO)使您能够使用Okta等第三方身份提供者对用户进行身份验证。如果您的标识提供程序支持SAML 2.0协议(或者,对于帐户级SSO,支持OIDC协议),您可以使用Databricks SSO与您的标识提供程序集成。

帐户级和工作空间级标识的SSO必须分开管理。

看到设置单点登录