本页介绍了 Azure Databricks 如何使用自动标识管理从 Microsoft Entra ID 自动同步用户、服务主体和组。
自动标识管理概述
通过自动标识管理,无需在 Microsoft Entra ID 中配置应用程序,即可将 Microsoft Entra ID 中的用户、服务主体和组无缝添加到 Azure Databricks 中。 启用自动标识管理后,可以直接在标识联合工作区中搜索Microsoft Entra ID 用户、服务主体和组,并将其添加到工作区。 Databricks 将 Microsoft Entra ID 用作记录源,因此 Azure Databricks 会采用对组成员身份所做的任何更改。
启用自动身份管理时,实时(JIT)预配始终开启,无法将其禁用。 首次登录时,会自动在 Azure Databricks 中预配来自 Microsoft Entra ID 的新用户。 请参阅“自动预配用户”(JIT)。
用户还可以与Microsoft Entra ID 中的任何用户、服务主体或组共享仪表板。 共享时,这些用户、服务主体和组的成员会在登录时自动添加到 Azure Databricks 帐户。 它们不会被添加为仪表板所在的工作区的成员。 没有权访问工作区的 Microsoft Entra ID 成员将被授予访问权限,可以查看使用共享数据权限发布的仪表板的仅限查看的副本。 有关仪表板共享的详细信息,请参阅 “共享仪表板”。
非标识联合工作区不支持自动标识管理。 有关联合身份验证的详细信息,请参阅 联合身份验证。
用户和组状态
启用自动标识管理后,帐户控制台和工作区管理员设置页中会显示来自Microsoft Entra ID 的用户、服务主体和组。 它的状态反映其在 Microsoft Entra ID 与 Azure Databricks 之间的活动和状态:
| 状态 | 含义 |
|---|---|
| 非活动:未使用 | 对于用户和服务主体:在 Microsoft Entra ID 中尚未登录到 Azure Databricks 的身份。 对于群组:该群组尚未添加到工作区中。 |
| 活动 | 标识在 Azure Databricks 中处于活动状态。 |
| 活动:已从 EntraID 中删除 | 以前在 Azure Databricks 中处于活动状态,已从 Microsoft Entra ID 中删除。 无法登录或向 API 进行身份验证。 |
| 已停用 | Microsoft Entra ID 中的标识已停用。 无法登录或向 API 进行身份验证。 |
小窍门
作为安全最佳实践,Databricks 建议为 已停用 和 活动:已从 EntraID 中删除 的用户撤销个人访问令牌。
使用自动标识管理管理的标识在 Azure Databricks 中显示为 外部 。 无法使用 Azure Databricks UI 更新外部标识。
自动标识管理与 SCIM 预配
启用自动标识管理后,所有用户、组和组成员身份将从 Microsoft Entra ID 同步到 Azure Databricks,因此不需要 SCIM 预配。 如果保持 SCIM 企业应用程序并行运行,SCIM 应用程序将继续管理Microsoft Entra ID 企业应用程序中配置的用户和组。 它不管理未使用 SCIM 预配添加的 Microsoft Entra ID 标识。
Databricks 建议使用自动标识管理。 下表比较了自动标识管理功能与 SCIM 预配功能。
| 特征 | 自动标识管理 | SCIM 预配 |
|---|---|---|
| 同步用户 | ✓ | ✓ |
| 同步组 | ✓ | ✓ (仅限直接成员) |
| 同步嵌套组 | ✓ | |
| 同步服务主体 | ✓ | |
| 配置和管理Microsoft Entra ID 应用程序 | ✓ | |
| 需要Microsoft Entra ID Premium 版本 | ✓ | |
| 需要 Microsoft Entra ID 云应用程序管理员角色 | ✓ | |
| 需要联合身份验证 | ✓ |
Azure Databricks 外部 ID 和 Microsoft Entra ID 对象 ID
Azure Databricks 使用 Microsoft Entra ID ObjectId 作为同步身份和组成员的权威链接,并自动在每日定期流程中更新 externalId 字段以匹配 ObjectId。 在某些情况下,可能会出现不匹配或重复的标识,尤其是在用户、服务主体或组通过自动标识管理和另一种方法(如 SCIM 预配)添加到 Azure Databricks 时。 在这些情况下,你可能会看到重复的条目,其中一个列表的状态为 “非活动”:不使用。 用户不处于非活动状态,可以登录 Azure Databricks。
可以通过在 Azure Databricks 中提供它们的外部 ID 来合并这些重复标识。 使用 帐户用户、帐户服务主体或帐户组 API 更新主体,将他们的 Microsoft Entra ID 添加到 objectIdexternalId 字段中。
externalId由于可能会随时间推移而更新,Azure Databricks 强烈建议不要使用依赖于字段的externalId自定义工作流。
组成员身份同步的工作原理
启用自动标识管理后,Azure Databricks 会在触发身份验证和授权检查的活动期间刷新Microsoft Entra ID 中的用户组成员身份,例如浏览器登录名、令牌身份验证或作业运行。 这可确保 Azure Databricks 中的基于组的权限与 Microsoft Entra ID 中的更改保持同步。
当 Azure Databricks 刷新组成员身份时,它将从 Microsoft Entra ID 获取传递性的(嵌套的)组成员身份。 这意味着,如果用户是组 A 的成员,而组 A 是组 B 的成员,Azure Databricks 会将该用户识别为在这两个组中都有成员身份。 Azure Databricks 仅提取已经添加到 Azure Databricks 的组的成员信息。 它不会从 Microsoft Entra ID 同步或重新构造完整的父组层次结构。
Azure Databricks 根据活动的不同计划刷新组成员身份:
- 浏览器登录:如果距离上次同步已超过 5 分钟,则进行组成员身份同步
- 其他活动(例如令牌身份验证或作业运行):如果自上次同步以来已超过40分钟,则组成员资格会同步。
启用自动标识管理
默认情况下,为在 2025 年 8 月 1 日之后创建的帐户启用自动标识管理。 帐户管理员可以在帐户控制台中启用自动标识管理。
作为帐户管理员,登录到帐户控制台。
在边栏中,单击“ 安全性”。
在“ 用户预配 ”选项卡中,将 “自动标识管理 ”切换为 “已启用”。
更改需要 5 到 10 分钟才能生效。
启用帐户后,若要从 Microsoft Entra ID 中添加和删除用户、服务主体和组,请按照以下说明作:
禁用自动标识管理
禁用自动标识管理时:
- 用户和服务主体保持不变:他们保留访问权限,但不再与 Microsoft Entra ID 同步。 禁用自动标识管理后,可以在帐户控制台中手动删除或停用用户和服务主体。
- 组丢失成员身份:组保留在 Azure Databricks 中,但所有组成员都将被删除。
- 与 Microsoft Entra ID 不同步:Microsoft Entra ID(例如用户删除或组更新)中的更改不会反映在 Azure Databricks 中。
- 无权限继承:由自动标识管理管理管理的用户无法从父组继承权限。 这会影响基于组的嵌套权限模型。
如果计划禁用自动标识管理,Databricks 建议提前设置 SCIM 配置作为备选方案。 然后,SCIM 可以接管标识和组同步。
- 作为帐户管理员,登录到帐户控制台。
- 在边栏中,单击“ 安全性”。
- 在“ 用户预配 ”选项卡中,将 “自动标识管理 ”切换为 “已禁用”。
审核用户登录名
可以查询 system.access.audit 表,以审核哪些用户已登录到工作区。 例如:
SELECT
DISTINCT user_identity.email
FROM
system.access.audit
WHERE
action_name = "aadBrowserLogin"
有关表 system.access.audit 的详细信息,请参阅 审核日志系统表参考。