使用自动标识管理,可以将用户、服务主体和组从Microsoft Entra ID无缝添加到Azure Databricks。 启用自动标识管理后,可以直接在标识联合工作区中搜索用户、服务主体和组,并将其添加到工作区。 Azure Databricks使用Microsoft Entra ID作为记录源,因此Azure Databricks尊重对组成员身份所做的任何更改。
默认情况下,为在 2025 年 8 月 1 日之后创建的帐户启用自动标识管理。
用户还可以与标识提供者中的任何用户、服务主体或组共享仪表板。 共享时,这些用户、服务主体和组的成员会在登录时自动添加到 Azure Databricks 帐户。 它们不会被添加为仪表板所在的工作区的成员。 无权访问工作区的用户有权访问使用共享数据权限发布的仪表板的仅限查看副本。 有关仪表板共享的详细信息,请参阅 “共享仪表板”。
启用自动身份管理时,实时(JIT)预配始终开启,无法将其禁用。 首次登录时,会在Azure Databricks中自动预配新用户。 请参阅“自动预配用户”(JIT)。
非标识联合工作区不支持自动标识管理。 有关联合身份验证的详细信息,请参阅 联合身份验证。
用户和组状态
启用自动标识管理后,帐户控制台和工作区管理员设置页中会显示来自Microsoft Entra ID 的用户、服务主体和组。 它的状态反映其在 Microsoft Entra ID 与 Azure Databricks 之间的活动和状态:
| 状态 | 含义 |
|---|---|
| 非活动:未使用 | 对于用户和服务主体:尚未登录到Azure Databricks的标识提供者中的标识。 对于群组:该群组尚未添加到工作区中。 |
| 积极 | 标识在 Azure Databricks 中处于活动状态。 |
| 活跃:已从 [IdP] 中移除 | 以前在Azure Databricks中处于活动状态,并且已从标识提供者中删除。 Azure Databricks 在下一次标识同步期间自动停用这些用户。无法登录或向 API 进行身份验证。 |
| 停用 | 该身份已在身份提供者中被停用,或者在该身份从身份提供者中删除后,Azure Databricks 已自动将其停用。 无法登录或向 API 进行身份验证。 |
| 已拒绝 | 身份已添加到账户访问拒绝名单。 Azure Databricks将标识设置为非活动状态。 无法登录、使用个人访问令牌或在共享对话框中显示。 请参阅 拒绝对帐户的标识访问权限。 |
活跃:已从 [IdP] 中移除状态标签包含您的身份提供商名称。 例如,Active: Removed From EntraID 或 Active: Removed From Okta。
Tip
作为一项安全最佳实践,Databricks 建议撤销 已停用 和 活跃:已从 [IdP] 中移除 用户的个人访问令牌。 从标识提供者中删除用户时,Azure Databricks会自动停用其帐户,但不会自动吊销令牌。
使用自动标识管理管理的标识在 Azure Databricks 中显示为 外部 。 无法使用 Azure Databricks UI 更新外部标识。
共享和分配权限
启用自动标识管理后,可以在在整个Azure Databricks之间共享或分配权限时,从Microsoft Entra ID中选择用户和服务主体。
对于群组,共享行为因资产类型而有所不同:
帐户级资产:共享或分配对帐户级资产(例如 Databricks 应用、Unity 目录对象、AI/BI 仪表板和工作区分配)的权限时,可以使用组。
工作区级资产:若要与组共享工作区级资产(例如笔记本、作业、SQL 仓库、警报和文件),工作区管理员必须先将组直接添加到工作区。
自动标识管理与 SCIM 预配
启用自动标识管理后,所有用户、组和组成员身份都会从标识提供者同步到Azure Databricks因此不需要 SCIM 预配。 如果保持 SCIM 预配并行运行,SCIM 将继续管理使用 SCIM 预配添加的标识。 它不管理未使用 SCIM 预配添加的标识。
SCIM 预配需要云应用程序管理员角色和单独的Microsoft Entra ID 应用程序。
Azure Databricks建议使用自动标识管理。 下表比较了自动标识管理功能与 SCIM 预配功能。
| Features | 自动标识管理 | SCIM 预配 |
|---|---|---|
| 同步用户 | ✓ | ✓ |
| 同步组 | ✓ | ✓ (仅限直接成员) |
| 同步嵌套组 | ✓ | |
| 同步服务主体 | ✓ | |
| Azure Databricks 中默认可用 | ✓ | |
| 适用于所有Microsoft Entra ID 版本 | ✓ | |
| 在没有Microsoft Entra ID 管理员角色的情况下可用 | ✓ | |
| 需要联合身份验证 | ✓ |
Azure Databricks 外部 ID 和 Microsoft Entra ID 对象 ID
Azure Databricks 使用 Microsoft Entra ID ObjectId 作为同步身份和组成员的权威链接,并自动在每日定期流程中更新 externalId 字段以匹配 ObjectId。 Databricks 建议反对混合预配方法。 通过自动标识管理和 SCIM 预配添加相同的标识会导致重复条目和权限冲突。 使用自动标识管理作为单一事实来源,组成员身份镜像Microsoft Entra ID。
可以通过在 Azure Databricks 中提供它们的外部 ID 来合并这些重复标识。 使用 帐户用户、帐户服务主体或帐户组 API 更新主体,将他们的 Microsoft Entra ID 添加到 objectIdexternalId 字段中。
由于 externalId可能会随时间推移而更新,Azure Databricks 因此强烈建议不要使用依赖于 externalId 字段的自定义工作流。
组成员同步的工作原理
启用自动标识管理后,Azure Databricks在触发身份验证和授权检查的活动期间刷新标识提供者的用户组成员身份,例如浏览器登录名、令牌身份验证或作业运行。 这可确保 Azure Databricks 中基于组的权限与身份提供商中的更改保持同步。
当 Azure Databricks 刷新组成员关系时,它会从身份提供商处获取传递性(嵌套)组成员关系。 这意味着,如果用户是组 A 的成员,而组 A 是组 B 的成员,Azure Databricks 会将该用户识别为在这两个组中都有成员身份。 Azure Databricks 仅提取已经添加到 Azure Databricks 的组的成员信息。 它不会从您的身份提供程序同步或重建完整的父组层次结构。
Azure Databricks 根据活动的不同计划刷新组成员身份:
- 浏览器登录:如果距离上次同步已超过 5 分钟,则进行组成员身份同步
- 其他活动(例如令牌身份验证或作业运行):如果自上次同步以来已超过40分钟,则组成员资格会同步。
嵌套组和服务主体
启用自动标识管理后,嵌套组的成员将从预配的组继承权限。 分配给父级组的权限适用于属于该组的所有用户和服务主体,包括直接添加到该组的用户和服务主体以及通过嵌套组成员身份隶属的用户和服务主体。 但是,组中的嵌套组和服务主体在帐户中不能被自动引用,但仪表板共享是一个例外。
嵌套组可见性
嵌套组在 Azure Databricks 中可见。 请考虑子组, Group-C它是父组 Group-P的成员。 如果将Group-P添加到工作区,则Group-P和Group-C中的所有标识都有权访问工作区。 在帐户管理员和工作区管理员用户界面中,Group-C 在组成员详细信息页上显示为Group-P 中的成员。 只有第一级嵌套显示在组详细信息页面上。
嵌套组的注意事项
工作区访问:嵌套组和服务主体无需直接添加到工作区以获取访问权限。 如果将父组添加到工作区,该组的所有成员都可以访问工作区。
帐户级资产:共享或分配对帐户级资产(例如 Databricks 应用、Unity 目录对象、AI/BI 仪表板和工作区分配)的权限时,可以使用组。
帐户组和服务主体限制:未直接预配到帐户的嵌套组和服务主体不计入帐户组限制。 只有显式预配到账户的组才会计入限额。
例如,在 Microsoft Entra ID 中,具有以下组结构:
-
Marketing-All(父组)-
Marketing-US(子组) -
Marketing-EU(子组) -
Marketing-APAC(子组)
-
如果工作区管理员将 Marketing-All 添加到他们的工作区:
- 授予访问权限:所有成员
Marketing-All及其所有子组(Marketing-US、Marketing-EU、Marketing-APAC)都可以访问工作区。 例如,用户Marketing-APAC和服务主体可以进行身份验证并使用工作区。 - 帐户预配:仅
Marketing-All被预配到 Azure Databricks 帐户,并计入帐户组的限额。 除非显式分配子组,否则它们不会计入限制。 - 帐户级资产:
Marketing-All及其所有子组(、)Marketing-USMarketing-EU在共享或分配对帐户级资产(Marketing-APAC例如 Unity 目录中的仪表板和对象)的权限时可用。
启用自动标识管理
默认情况下,为在 2025 年 8 月 1 日之后创建的帐户启用自动标识管理。 帐户管理员可以在帐户控制台中启用自动标识管理。
作为帐户管理员,登录到帐户控制台。
在边栏中,单击“ 安全性”。
在“ 用户预配 ”选项卡中,将 “自动标识管理 ”切换为 “已启用”。
更改需要 5 到 10 分钟才能生效。
启用账户后,若要在身份提供商中添加和移除用户、服务主体和组,请按照以下说明操作:
禁用自动标识管理
禁用自动标识管理时:
- 用户和服务主体保持不变:他们保留访问权限,但不再与标识提供者同步。 禁用自动标识管理后,可以在帐户控制台中手动删除或停用用户和服务主体。
- 组丢失成员身份:组保留在 Azure Databricks 中,但所有组成员都将被删除。
- 与标识提供者没有同步:标识提供者(例如用户删除或组更新)中的更改不会反映在Azure Databricks中。
- 无权限继承:由自动标识管理管理管理的用户无法从父组继承权限。 这会影响基于组的嵌套权限模型。
如果计划禁用自动标识管理,Databricks 建议提前设置 SCIM 配置作为备选方案。 然后,SCIM 可以接管标识和组同步。
作为帐户管理员,登录到帐户控制台。
在边栏中,单击“ 安全性”。
在“ 用户预配 ”选项卡中,将 “自动标识管理 ”切换为 “已禁用”。
拒绝对帐户的标识访问
帐户访问拒绝列表用于控制来自您的身份提供商的哪些身份可以访问您的 Azure Databricks 帐户。 帐户管理员可以将特定用户、组或服务主体添加到拒绝列表,以阻止其访问。 拒绝列表中的成员资格具有传递性——如果将某个组加入拒绝列表,则其所有成员(包括嵌套组中的成员)也都会被加入拒绝列表。
有关配置说明和拒绝列表的行为的完整说明,请参阅 阻止身份访问您的账户。
审核自动身份管理事件
启用自动标识管理后,可以使用审核日志来跟踪自动标识管理过程执行的标识操作。
自动身份管理事件的审核日志标记
自动标识管理使用现有的审核日志事件,但添加标记来标识标识标识同步过程自动执行的操作:
-
endpoint: "autoUserCreation" - 表示该事件由自动身份管理流程发出。 此标记显示在用户操作(
add、activateUser、deactivateUser、updateUser)、组操作(createGroup、updateGroup、removeGroup)和组成员身份操作(addPrincipalToGroup、removePrincipalFromGroup)上。 -
groupMembershipType: "IdentityProvider" - 显示在组成员身份操作(
addPrincipalToGroup、removePrincipalFromGroup)中,表示组成员身份已从您的身份提供商同步。
查询自动身份管理审计事件
可以查询 system.access.audit 表以跟踪自动标识管理操作。 例如:
跟踪用户登录:
SELECT
DISTINCT user_identity.email
FROM
system.access.audit
WHERE
action_name = "aadBrowserLogin"
跟踪由自动标识管理创建的用户:
SELECT
request_params.targetUserName,
event_time
FROM
system.access.audit
WHERE
action_name = "add"
AND request_params.endpoint = "autoUserCreation"
跟踪从标识提供者同步的组成员身份:
SELECT
request_params.targetGroupName,
request_params.targetUserName,
event_time
FROM
system.access.audit
WHERE
action_name IN ("addPrincipalToGroup", "removePrincipalFromGroup")
AND request_params.groupMembershipType = "IdentityProvider"
已知行为和限制
本部分介绍使用自动标识管理时可能不立即明显的行为。
组创建和工作区分配
当自动身份管理从您的身份提供者同步群组时,会在账户级别自动创建这些群组。 这些事件在审核日志中显示为带有 createGroup 标签的 endpoint: "autoUserCreation" 操作。 帐户级组创建是自动的,但工作区分配是单独的手动步骤。 只有在帐户管理员将组分配到工作区后,同步组的成员才获得工作区访问权限。 自动身份管理负责控制组成员身份,管理员负责控制工作区访问权限。
组名称同步不是自动进行的
在标识提供者中重命名组后,Azure Databricks 中的组名不会立即更新。 仅当帐户管理员在帐户控制台中打开组的详细信息页时,组名称才会同步。 在此之前,组会在 Azure Databricks 中保留其以前的名称。
自动标识管理不会删除 SCIM 同步的成员身份
自动标识管理不会删除最初使用 SCIM 预配同步的组成员身份。 这是故意设计如此,以避免中断依赖这些成员身份的现有任务和权限。 若要删除过时的 SCIM 同步成员身份,请使用 SCIM API 手动清理它们。
首次使用时的服务主体预配
将包含服务主体的组添加到 Azure Databricks 不会配置这些服务主体。 Azure Databricks 仅在首次使用时预配服务主体,例如令牌身份验证或作业执行。 在服务主体对作业进行身份验证或运行之前,它不会显示在 Azure Databricks 中。
不支持 Entra ID 跨租户目录
自动身份管理不支持跨租户的 Microsoft Entra ID 目录。 如果需要跨租户标识管理,请使用 Microsoft Entra B2B 协作配置 SCIM 预配。
通过 API 和 Terraform 实现嵌套群组和服务主体管理
未直接预配到 Azure Databricks 帐户的嵌套组和服务主体在帐户控制台 UI 中可见,但无法通过 Databricks API 或 Terraform 检索或管理。 若要以编程方式管理它们,请将其显式预配到帐户。
从 SCIM 迁移到自动标识管理时的权限继续
从 SCIM 预配迁移到自动标识管理时,组将保持不变的内部 Azure Databricks 对象。 Unity 目录权限、工作区分配和其他设置会自动进行传递。 迁移期间不会丢失任何权限。