为大型机构设计多租户体系结构

建议对较小的机构使用单租户体系结构。 但是,对于用户超过 100 万的组织,我们建议使用多租户体系结构来缓解性能问题和租户限制,例如 Azure 订阅和配额以及Microsoft Entra服务限制和限制

设计原则

设计多租户体系结构时,请考虑以下设计原则,以降低成本并提高效率和安全性:

  • 降低成本

  • 提高效率

    • 跨租户标准化体系结构、配置和流程,以尽量减少管理问题。

    • 最大程度地减少用户从一个租户移动到另一个租户的需求

  • 提高安全性

    • 专注于确保学生数据的安全。

    • 遵循最小特权原则:仅授予执行所需任务所需的特权,并实现实时 (JIT) 访问权限。

    • 仅通过权利管理或Microsoft Entra B2B 协作启用外部用户访问。

    • 将特定任务的管理委托给具有 Just Enough Access (JEA) 来执行该作业的特定用户。

多个租户的常见原因

强烈建议用户数少于 100 万的组织创建单个租户,除非其他条件指示需要多个租户。 对于具有 100 万个或更多用户对象的组织,我们建议使用区域方法使用多个租户。

创建单独的租户会对 EDU 环境产生以下影响。

  • 管理分离

    • 可能会限制管理安全性或影响关键资源的操作错误的影响。

    • 可能会限制受入侵的管理员或用户帐户的影响。

    • 使用情况报告和审核日志包含在租户中。

  • 资源分离

    • 学生隐私。 学生用户对象只能在对象所在的租户中被发现。

    • 资源隔离。 其他租户中的用户和管理员无法发现或枚举单独租户中的资源。

    • 对象占用。 通过 Microsoft Graph 或其他管理界面写入 Microsoft Entra ID 和其他 Microsoft Online 服务的应用程序只能影响本地租户中的资源。

    • 配额。 租户范围的 Azure 配额和限制 消耗与其他租户的配额和限制不同。

  • 配置分离

    • 提供一组单独的租户范围设置,这些设置可以容纳具有不同配置要求的资源和信任应用程序。

    • 启用一组新的 Microsoft Online 服务,例如Office 365。

除了用户超过 100 万之外,以下注意事项还可能导致多个租户。

  • 管理注意事项

    • 根据条件(如国籍、居住国或许可级别)限制谁可以管理环境的规定进行操作。

    • 你具有合规性要求,例如要求在特定本地区域中创建标识的学生数据隐私。

  • 资源注意事项

    • 由于法规或业务关键原因,你拥有资源(可能用于研发)必须防止现有管理员发现、枚举或接管。

    • 自定义应用程序的开发周期,这些应用程序可以使用 MS Graph 或类似 API 大规模 (更改用户的数据,例如授予 Directory.ReadWrite.All)

  • 配置注意事项

    • 具有与现有租户范围安全性或协作态势(例如允许的身份验证类型、设备管理策略、自助服务能力或外部标识的身份验证)冲突的要求的资源。

确定多租户方法

在本部分中,我们考虑一所名为美术学院的虚构大学,在美国的100所学校有200万名学生。 在这些学校中,共有130,000名教师和30,000名全职员工和教职员工。

部署多个租户时,建议采用区域方法,如下所示:

  1. 首先,将学生和教师社区除以每个区域包含的用户少于 100 万的地理区域。

  2. 为每个区域创建Microsoft Entra租户。

    多租户方法。

  3. 在其相应区域中预配教职员工、教师和学生以优化协作体验。

    租户中的预配。

为何使用区域?

建议使用区域方法,以最大程度地减少跨租户移动的用户数。 如果为每个学校级别创建了租户, (例如小学、中学和高中) 则必须在每个学年结束时迁移用户。 如果用户仍位于同一区域,则无需在租户属性更改时跨租户移动他们。

区域方法的其他优势包括:

  • 每个区域中的最佳协作

  • 需要其他租户的来宾对象数量最少

当租户的用户超过 100 万时,管理体验和工具往往会随着时间的推移而降级。 同样,某些最终用户体验(如使用人员选取器)将变得繁琐且不可靠。

选择在没有令人信服的原因的情况下部署多个租户的小型组织将不必要地增加其管理开销和用户迁移数。 这样做还需要确保跨租户的协作体验的步骤。

使用 Microsoft Entra B2B 协作跨租户协作

Microsoft Entra B2B 协作,用户可以使用一组凭据登录到多个租户。 对于教育机构,B2B 协作的优势包括:

  • 集中管理团队管理多个租户

  • 跨区域的教师协作

  • 使用自己的凭据加入家长和监护人

  • 外部合作关系,如承包商或研究人员

通过 B2B 协作,在一个租户中创建的用户帐户 (其主租户) 将作为来宾用户邀请到另一个租户 (资源租户) 并且用户可以使用其主租户的凭据登录。 管理员还可以使用 B2B 协作通过与标识提供者(例如FacebookMicrosoft 帐户、Google企业标识提供者)建立联合身份验证,使外部用户使用其现有社交或企业帐户登录。

成员和来宾

Microsoft Entra租户中的用户根据其 UserType 属性是成员或来宾。 默认情况下,成员用户是租户原生的用户。 默认情况下,Microsoft Entra B2B 协作用户添加为 UserType = Guest 的用户。 来宾在目录和应用程序中 具有有限的权限 。 例如,来宾用户不能浏览租户中超出其自己的配置文件信息的信息。 但是,来宾用户可以通过提供 UPN) 或 objectId (用户主体名称来检索有关其他用户的信息。 来宾用户还可以读取其所属组的属性,包括组成员身份,而不管 来宾用户权限是有限的 设置。

在某些情况下,资源租户可能希望将主租户中的用户视为成员而不是来宾。 如果是这样,则可以使用 Microsoft Entra B2B 邀请管理器 API 将用户从主租户添加或邀请到资源租户作为成员。 有关详细信息,请参阅 Microsoft Entra B2B 协作用户的属性

集中管理多个租户

使用 Microsoft Entra B2B 载入外部标识。 然后,可为外部标识分配特权角色,以Microsoft Entra租户作为集中式 IT 团队的成员进行管理。 还可以使用 Microsoft Entra B2B 为其他员工(例如区域或地区级别的管理员)创建来宾帐户。

但是,特定于服务的角色(如 Exchange 管理员或 SharePoint 管理员)需要其租户原生的本地帐户。 ​

可将以下角色分配给 B2B 帐户

  • 应用程序管理员

  • 应用程序开发人员

  • 身份验证管理员

  • B2C IEF 密钥集管理员

  • B2C IEF 策略管理员

  • 云应用程序 B2C IEF 策略管理员

  • 云设备 B2C IEF 策略管理员

  • 条件访问管理

  • 设备管理员

  • 设备加入

  • 设备用户

  • 目录读取器

  • 目录作者

  • 目录同步帐户

  • 外部 ID 用户流管理员

  • 外部 ID 用户流属性管理员

  • 外部标识提供者

  • 组管理员

  • 来宾邀请者

  • 帮助台管理员

  • 混合标识管理员

  • Intune 服务管理员

  • 许可证管理员

  • 密码管理员

  • 特权身份验证管理员

  • 特权角色管理员

  • 报告读取者

  • 受限来宾用户

  • 安全管理员

  • 安全信息读取者

  • 用户帐户管理员

  • 工作区设备加入

中的自定义管理员角色Microsoft Entra ID显示内置角色的基础权限,以便你可以创建和组织自己的自定义角色。 此方法允许你在需要时以比内置角色更精细的方式授予访问权限。

下面是一个示例,说明管理如何适用于可跨多个租户委派和使用的管理角色。

Susie 的本机帐户位于区域 1 租户中,Microsoft Entra B2B 用于将帐户作为身份验证管理员添加到区域 2 和区域 3 租户中的中心 IT 团队。

集中式管理。

跨多个租户使用应用

若要缓解与多租户环境中应用管理相关的问题,应考虑编写 多租户应用。 还需要验证哪些 SaaS 应用支持多个 IdP 连接。 支持多个 IDP 连接的 SaaS 应用应在每个租户上配置单独的连接。 不支持多个 IDP 连接的 SaaS 应用可能需要独立的实例。 有关详细信息,请参阅如何:使用多租户应用程序模式登录任何Microsoft Entra用户

注意:许可模型可能因 SaaS 应用而异。 与供应商检查,以确定多租户环境中是否需要多个订阅。

每租户管理

特定于服务的角色需要按租户管理。 特定于服务的角色需要具有租户原生的本地帐户。 除了在每个租户中都有一个集中式 IT 团队外,还需要在每个租户中拥有一个区域 IT 团队来管理 Exchange、SharePoint 和 Teams 等工作负载。

以下角色需要每个租户的本机帐户

  • Azure DevOps 管理员

  • Azure 信息保护管理员

  • 帐务管理员

  • CRM 服务管理员

  • 合规管理员

  • 合规数据管理员

  • 客户密码箱访问审批者

  • 桌面分析管理员

  • Exchange 管理员

  • Insights 管理员

  • Insights 业务主管

  • Kaizala 管理员

  • Lync 服务管理员

  • 消息中心隐私读取器

  • 消息中心读取器

  • 打印机管理员

  • 打印机技术员

  • 搜索管理员

  • 搜索编辑器

  • 安全操作员

  • 服务支持管理员

  • SharePoint 管理员

  • Teams 通信管理员

  • Teams 通信支持工程师

  • Teams 通信支持专家

  • Teams 服务管理员

每个租户中的唯一管理员

如果每个区域都有一个原生的 IT 团队,则可以让其中一名本地管理员管理 Teams 管理。 在以下示例中,Charles 位于区域 1 租户中,具有 Teams 服务管理员角色。 Alice 和一郎分别居住在 2 和 3 区域,并在其所在地区担任相同角色。 每个本地管理员都有一个本地帐户,该帐户是本地的。

图片 7.

跨租户管理员角色

如果每个区域没有本地管理员池,则可以仅将 Teams 服务管理员角色分配给一个用户。 在此方案中,如下所示,可以通过在每个租户中为 Bob 创建一个本地帐户,让中心 IT 团队的 Bob 充当所有三个租户中的 Teams 服务管理员。

图片 9.

租户中的管理员角色委派

应使用管理单元 (OU) 来对Microsoft Entra用户和组进行逻辑分组。 使用行政单位限制行政范围对于由不同地区、地区或学校组成的教育组织很有用。

例如,我们的虚构美术学院分布在三个区域,每个区域包含多个学校。 每个区域都有一个 IT 管理员团队,他们控制访问、管理用户并为各自的学校设置策略。

例如,IT 管理员可以:

  • 为区域 1 中的每个学校的用户创建 AU,以管理该学校中的所有用户。 (未)

  • 创建包含每个学校中的教师的 AU,以管理教师帐户。

  • 创建一个单独的 AU,其中包含每个学校的学生,以管理学生帐户。

  • 为学校的教师分配学生 AU 的密码管理员角色,以便教师可以重置学生密码,但不能重置其他用户的密码。

管理单元。

可限定为管理单元的角色包括:

  • 身份验证管理员

  • 组管理员

  • 帮助台管理员

  • 许可证管理员

  • 密码管理员

  • 用户管理员

有关详细信息,请参阅 将作用域内的角色分配给管理单元

跨租户管理

在每个租户中单独配置设置。 在可能的情况下,在租户创建过程中配置 then,以帮助最大程度地减少重新访问这些设置。 虽然某些常见任务可以自动执行,但没有内置的跨租户管理门户。

大规模管理对象

Microsoft Graph (MS Graph) Microsoft Graph PowerShell 使你可以大规模管理目录对象。 它们还可用于管理租户中的大多数策略和设置。 但是,应了解以下性能注意事项:

  • MS Graph 将创建用户、组和成员身份更改限制为每小时每个租户 72,000 个。

  • MS Graph 性能可能会受到用户驱动操作(例如租户中的读取或写入操作)的影响

  • MS Graph 性能可能会受到租户中其他相互竞争的 IT 管理员任务的影响

  • PowerShell、SDS、Microsoft Entra Connect 和自定义预配解决方案通过 MS Graph 以不同的速率添加对象和成员身份

后续步骤

如果尚未查看Microsoft Entra租户简介,可能需要这样做。请参阅: