通过


Microsoft Entra 外部 ID 部署指南:租户设计

本部分概述了在用户目录中存储用户配置文件数据时的注意事项。 查找要存储在 Microsoft Entra ID 中的属性的设计注意事项。 了解如何管理数据驻留和合规性要求。

用户目录

用户模型是用户记录的逻辑架构。 该模型包含目录管理员和应用所有者同意存储在目录中的属性。 它是每个用户信息的权威来源:信息是从用户那里收集的,而不是从外部系统查询的。

身份验证所需的声明可能包括存储在外部源中的机密和敏感数据,例如客户关系管理(CRM)或电子运行状况记录(EHR)系统。 不需要将此数据存储在目录中进行身份验证。 而是使用具有 Microsoft Entra ID 自定义身份验证扩展的 RESTful API 调用进行检索。 在令牌中,它被作为声明发出。

属性选择

下表列出了用于定义用户模型的属性以及在何种情况下使用它们。

类型 情境
目录内置属性 - 在目录中
持久保存并存储的值 - 有意义的名称和类型
- 在默认属性
列表中可用 - 如果不可用,则以管理方式设置属性值
客户用户属性 - 持久化并存储在目录中的值
- 没有可用的内置属性
- 数据类型要求足够
自定义扩展插件 - 值被持久化并存储在 CRM 或外部存储
- 在身份验证时,使用事件处理程序从外部源提取值
- 提取的值将传递到令牌

下图演示了上一个表中的选项如何集成到用户流中。

基于选项的用户流集成示意图。

用户目录中的属性

Microsoft Entra 外部 ID 具有用户对象的默认属性。 需要用户模型时,可以创建扩展属性。

若要使用 Microsoft Entra 外部 ID 扩展属性,架构扩展将应用于目录。 这些扩展与应用程序对象相关联,然后可用作所有目录用户对象和所有应用程序的属性。 用于扩展架构的默认应用程序对象是 b2c-extensions-app,它默认会与您的目录一起预配。

定义扩展属性时,存储在目录中的名称遵循以下格式: extension_GUID_Name。 GUID 是应用程序对象的应用程序 ID,用于注册架构扩展。 此值特定于目录。 以下屏幕截图显示了 b2c-extensions-app、其应用程序 ID 以及Microsoft图形 API 返回的属性名称。

B2C 扩展属性的图示。

GEThttps://graph.microsoft.com/v1.0/applications/{application-id}/extensionProperties

  "value": [</br> 
        {</br>
            "id": "b7271a2b-a03e-48f7-abf0-54d21427987a",</br> 
            "deletedDateTime": null,</br> 
            "appDisplayName": "",</br> 
            "dataType": "String",</br> 
            "isMultiValued": false,</br> 
            "isSyncedFromOnPremises": false,</br> 
            "name": "extension_8beb06b77e314e2393cc5453a6a56756_lastName",</br> 
            "targetObjects": [</br> 
                "User"</br> 
            ]</br>
        } 

支持的数据格式包括:

  • 字符串(最大为 56 个字符)
  • 布尔
  • 整数(32 位值)

通过 Microsoft Entra 管理中心或使用 Microsoft 图形 API 管理目录扩展。

用户数据迁移

迁移到 Microsoft Entra 外部 ID 时,请考虑身份系统和应用程序用于兼容性的主键、外键(或联接键)或属性。 例如,从传统身份系统中生成的对象 ID,被用作令牌中的持久性主体或名称标识符。 此外,示例是集成系统用作唯一标识符的其他目录属性:电子邮件地址、短登录名、CRM ID 和订单管理系统 ID。 为了达到两个目的,请维护以下值:

  • 审核历史记录 - 调查活动时,请参阅旧系统中的存档日志。 跨系统的联接密钥可促进此方案。 帮助满足合规性要求,例如:
    • 支付卡行业 - 数据安全标准(PCI-DSS
    • 1996年《医疗保险可移植性和责任法》(HIPAA
    • 系统和组织控制措施 2 (SOC 2
  • 集成系统的继续功能 - 迁移可能涉及合并使用不同主标识符的标识系统。 保留标识符,以使用正确的使用者或名称标识符启用应用程序特定的标记形状的配置。 应用程序按预期运行。 示例:迁移后,订单管理系统为用户显示以前的购买记录。

记录信息,以防止以后出现潜在问题。 为当前和未来的应用程序开发人员建立属性字典。 下表是一个示例。

属性名称 类型 数据类型 数据源或所有者 使用
内置或自定义 字符串、int 等。 从用户或管理员设置 应用或审计

包括有关权威的来源的信息,以及谁、什么、何时以及如何更新属性。

重要

并非每个应用数据都适合放入目录中。 对于更大的规模,持续更新和数据同步带来了挑战,并可能导致不可预知的结果。

设计

在本部分中,了解设计的各个方面:命名和约定、参考体系结构、集成模式等。

命名约定

使用目录标准和约定可以轻松理解目录结构。 此方法适用于命名应用程序、用户、属性等。

参考体系结构和集成模式

记录决策和集成模式,以便应用程序团队可以独立且一致。 包括组织详细信息,例如设计原则、集成体系结构、序列和数据流关系图、数据源、保留策略、安全标准等。

如果可能,请参阅产品文档,而不是复制参考文档中的内容。 示例应用程序被证明是面向开发人员和集成商的加速器。

管理

在 Microsoft Entra ID 中,如果另一个管理员或非管理员需要管理 Microsoft Entra 资源,请为其分配具有所需权限的 Microsoft Entra 角色。

详细了解 Microsoft Entra 内置角色

尽管外部标识目录中的用户角色分配没有限制,但建议从企业员工目录中邀请管理帐户。

注释

未来的目标是在 Microsoft Entra 外部 ID 中增加特权身份管理功能。

目录数据操作

目录数据包括存储在目录中的对象,例如用户、应用程序和服务主体。

注释

Microsoft定期备份目录数据,并可用于Microsoft还原。

目录在对象创建期间创建一些值,例如对象 ID 和应用程序 ID。 它们无法被复制或重新创建以拥有相同数值。

可以 还原或永久删除最近删除的用户

有关与外部标识(如用户、组和服务主体)相关的对象,请参阅 从Microsoft Entra ID 中的删除中恢复

我们建议处理目录数据的所有批处理作业(用于维护或同步任务)除了系统生成的审核日志之外,还会生成活动日志。 在批处理操作后检查它们。

合规

汇集目录所受的符合性要求。 基于业务市场的信息。 在某些行业或运营国家/地区,这些详细信息可能会更改。

若要了解详细信息,请参阅 Azure 合规性文档

尽管平台遵循某些标准,但操作员负责目录数据维护并确保客户符合规定。 例如,Microsoft Entra 产品符合一般数据保护条例(GDPR),并且拥有用于目录操作的 API。 因此,Microsoft是数据处理者。 控制器角色中的目录所有者为用户提供忘记选项。 所有者执行 API 以从目录中删除用户。

收集合规要求,并使法律团队参与。 下表是收集需求的工作辅助工具。

参数 合规性和要求
第1个运营的国家或地区
运行区域2所在的国家或地区
行业
监管机构

使用此信息验证目录中存储的数据及其配置。 这些信息可能与目录中的属性有关。 认识到某些属性组合(如名字、姓氏和城市)可能属于符合性限制。 此外,此方案也适用于配置中指定的日志保留和加密要求。 记录特定的配置要求,以帮助维护配置。 合规性要求在应对网络威胁、政治和社会变革方面发展得更快。 使用以下工作辅助工具。

租户配置 合规性参考
日志保留期
加密配置
属性存储
职责分离
密码复杂性
...

注释

在解释合规性和配置要求时,请咨询法律和合规性团队以获取指导和共识。

服务限制

Microsoft Entra 外部 ID 租户终结点受限流限制,以限制并发调用并防止过度使用资源。 这有助于保护交付给所有客户的Microsoft产品和服务。

下表列出了使用 Microsoft Entra 外部 ID 设计解决方案的关键方案和服务组件。

情景 组件 速率限制指导
在 Microsoft Entra 外部 ID 租户(例如用户流或对象)上执行创建、读取、更新和删除(CRUD)操作的管理任务。 Microsoft图形 API - Graph 服务限制指南
- Graph 服务的限制阈值
通过用户流进行注册、登录和密码重置 Microsoft Entra 外部 ID Microsoft Entra 外部 ID 服务限制

Microsoft图形 API 具有各种限制类型和关联的配额。 强制优先级是优先级最高的 应用程序 + 租户和最低优先级 租户。 由于 Microsoft Entra 外部 ID 不支持多租户应用程序,因此每个应用程序限制不适用。

例如,在租户达到其配额之前,应用程序与租户组合已达到其自身的配额限制。 此作使其他应用程序能够与租户通信。

在进行一次性大规模目录操作(例如用户迁移)时,可以使用批处理操作和多达六个应用程序注册来增加吞吐量,以执行 Microsoft Graph 操作。

此方法可能超过租户吞吐量限制。 当应用程序达到限制时,它们无法与目录交互,这可能会导致其他工作负荷失败。 在多个应用程序增加某一工作负荷的吞吐量时,请谨慎操作。

注释

某些 Microsoft Graph API 资源类型可能因安全原因具有不同的、更加严格的速率限制。 向 Microsoft 支持提交支持请求,以逐案计划缓解措施。

后续步骤

使用以下文章帮助你开始使用 Microsoft Entra 外部 ID 部署: