使用 Microsoft Entra ID (Azure Active Directory) 配置 SCIM 预配
本文介绍如何使用 Microsoft Entra ID 设置到 Azure Databricks 帐户的预配。
Databricks 建议将用户、服务主体和组预配到帐户级别,并在 Azure Databricks 内管理到工作区的用户和组分配。 必须为工作区启用联合身份验证,以便管理用户到工作区的分配。
注意
配置预配的方式完全不同于为 Azure Databricks 工作区或帐户配置身份验证和条件访问。 Azure Databricks 的身份验证由 Microsoft Entra ID 使用 OpenID Connect 协议流自动处理。 可以在服务级别配置条件访问,以便创建规则来要求进行多重身份验证或将登录限制为本地网络。
使用 Microsoft Entra ID 将标识预配到 Azure Databricks 帐户
可以使用 SCIM 预配连接器将帐户级用户和组从 Microsoft Entra ID 租户同步到 Azure Databricks。
重要
如果已有直接将标识同步到工作区的 SCIM 连接器,则必须在启用帐户级 SCIM 连接器时禁用这些 SCIM 连接器。 请参阅将工作区级 SCIM 预配迁移到帐户级别。
要求
- Azure Databricks 帐户必须具有高级计划。
- 必须在 Microsoft Entra ID 中具有云应用程序管理员角色。
- 你的 Microsoft Entra ID 帐户必须是高级帐户才能预配组。 任何 Microsoft Entra ID 版本都可预配用户。
- 你必须是 Azure Databricks 帐户管理员。
注意
若要启用帐户控制台并建立你的第一个帐户管理员,请参阅建立你的第一个帐户管理员。
步骤 1:配置 Azure Databricks
- 以 Azure Databricks 帐户管理员身份登录到 Azure Databricks 帐户控制台。
- 单击 “设置”。
- 单击“用户预配”。
- 单击“设置用户预配”。
复制 SCIM 令牌和帐户 SCIM URL。 将使用它们来配置 Microsoft Entra ID 应用程序。
注意
SCIM 令牌仅限于帐户 SCIM API /api/2.1/accounts/{account_id}/scim/v2/
,不能用于向其他 Databricks REST API 进行身份验证。
步骤 2:配置企业应用程序
这些说明介绍了如何在 Azure 门户中创建企业应用程序,并使用该应用程序进行预配。 如果有现成的企业应用程序,你可以将其修改为使用 Microsoft Graph 自动执行 SCIM 预配。 这样就不再需要在 Azure 门户中使用单独的预配应用程序。
按照以下步骤操作,使 Microsoft Entra ID 能够将用户和组同步到 Azure Databricks 帐户。 此配置独立于为将用户和组同步到工作区而创建的任何配置。
- 在 Azure 门户中,转到“Microsoft Entra ID”>“企业应用程序”。
- 单击应用程序列表上方的“+ 新建应用程序”。 在“从库中添加”下,搜索并选择“Azure Databricks SCIM 预配连接器”。
- 输入应用程序的名称并单击“添加”。
- 在“管理”菜单下,单击“预配”。
- 将“预配模式”设置为“自动”。
- 将“SCIM API 终结点 URL”设置为之前复制的帐户 SCIM URL。
- 将“机密令牌”设置为之前生成的 Azure Databricks SCIM 令牌。
- 单击“测试连接”,等待确认凭据已获得启用预配的授权的消息。
- 单击“保存”。
步骤 3:将用户和组分配到应用程序
分配给 SCIM 应用程序的用户和组将预配到 Azure Databricks 帐户。 如果已有 Azure Databricks 工作区,则 Databricks 建议将这些工作区中的所有现有用户和组添加到 SCIM 应用程序。
注意
Microsoft Entra ID 不支持将服务主体自动预配到 Azure Databricks。 可以按照管理帐户中的服务主体将服务主体添加到 Azure Databricks 帐户。
Microsoft Entra ID 不支持将嵌套组自动预配到 Azure Databricks。 Microsoft Entra ID 只能读取和预配是显式分配的组的直属成员的用户。 解决方法是,显式分配(或限定)包含需要预配的用户的组。 有关详细信息,请参阅此常见问题解答。
- 转到“管理 > 属性”。
- 将“需要分配”设置为“否”。 Databricks 建议使用此选项,这会支持所有用户登录到 Azure Databricks 帐户。
- 转到“管理”>“预配”。
- 要开始将 Microsoft Entra ID 用户和组同步到 Azure Databricks,请将“预配状态”开关设为“开”。
- 单击“ 保存”。
- 转到“管理”>“用户和组”。
- 单击“添加用户/组”,选择用户和组,然后单击“分配”按钮。
- 等待几分钟,然后检查用户和组是否已存在于 Azure Databricks 帐户中。
当 Microsoft Entra ID 计划下一次同步时,添加和分配的用户和组将自动预配到 Azure Databricks 帐户。
注意
如果从帐户级 SCIM 应用程序中删除某个用户,则会从帐户及其工作区中停用该用户,而不考虑是否启用了联合身份验证。
预配提示
- 启用预配之前 Azure Databricks 工作区中已存在的用户和组在预配同步时展示以下行为:
- 如果它们也存在于 Microsoft Entra ID 中,则会合并
- 如果它们不存在于 Azure Active Directory 中,则会被忽略
- 即使为用户删除组成员身份后,单独分配并通过组成员身份复制的用户权限会保留。
- 使用 Azure Databricks 工作区管理员设置页直接从 Azure Databricks 工作区中移除的用户将:
- 失去对该 Azure Databricks 工作区的访问权限,但仍可访问其他 Azure Databricks 工作区。
- 不会使用 Microsoft Entra ID 预配再次同步,即使它们保留在企业应用程序中。
- 初始 Microsoft Entra ID 同步会在你启用预配后立即触发。 后续同步每 20-40 分钟触发一次,具体取决于应用程序中的用户和组的数目。 请参阅 Microsoft Entra ID 文档中的预配摘要报告。
- 无法更新 Azure Databricks 工作区用户的用户名或电子邮件地址。
admins
组是 Azure Databricks 中的保留组,无法删除。- 可以使用 Azure Databricks 组 API 或组 UI 获取任何 Azure Databricks 工作区组的成员列表。
- 无法从 Azure Databricks SCIM 预配连接器应用程序同步嵌套组或 Microsoft Entra ID 服务主体。 Databricks 建议使用企业应用程序来同步用户和组,并管理 Azure Databricks 中的嵌套组和服务主体。 但是,也可以使用 Databricks Terraform 提供程序或面向 Azure Databricks SCIM API 的自定义脚本来同步嵌套组或 Microsoft Entra ID 服务主体。
- Microsoft Entra ID 中对组名称的更新不会同步到 Azure Databricks 中。
(可选)使用 Microsoft Graph 自动执行 SCIM 预配
Microsoft Graph 包括可以集成到应用程序中的身份验证和授权库,用于自动将用户和组预配到 Azure Databricks 帐户或工作区,而不必配置“SCIM 预配连接器”应用程序。
- 请按照有关使用 Microsoft Graph 注册应用程序的说明进行操作。 记下应用程序的应用程序 ID 和租户 ID。
- 转到应用程序的“概述”页面。 在该页面上:
- 为应用程序配置客户端机密,并记下该机密。
- 向应用程序授予以下权限:
Application.ReadWrite.All
Application.ReadWrite.OwnedBy
- 要求 Microsoft Entra ID 管理员授予管理员同意。
- 更新应用程序的代码,以添加对 Microsoft Graph 的支持。
故障排除
用户和组不同步
- 如果你使用的是“Azure Databricks SCIM 预配连接器”应用程序:
- 在帐户控制台中,验证用于设置预配的 Azure Databricks SCIM 令牌是否仍然有效。
- 请勿尝试同步嵌套组,Microsoft Entra ID 自动预配不支持此类组。 有关详细信息,请参阅此常见问题解答。
Microsoft Entra ID 服务主体不会同步
- Azure Databricks SCIM 预配连接器应用程序不支持同步服务主体。
在初始同步后,用户和组停止同步
如果你使用的是 Azure Databricks SCIM 预配连接器应用程序:初始同步后,Microsoft Entra ID 不会在你更改用户或组分配后立即同步。 它会在延迟一段时间后才计划与应用程序的同步,具体取决于用户和组的数目。 若要请求立即同步,请转到企业应用程序的“管理”>“预配”,选择“清除当前状态并重启同步”。
Microsoft Entra ID 预配服务 IP 范围不可访问
Microsoft Entra ID 预配服务在特定 IP 范围下运行。 如果你需要限制网络访问,必须在此 IP 范围文件中允许来自 AzureActiveDirectory
的IP 地址的流量。 有关详细信息,请参阅 IP 范围。