多租户资源隔离

在某些特定情况下,在单个租户范围内委托管理无法满足你的需求。 本部分讨论了可能推动你创建多租户体系结构的要求。 多租户组织可能跨越两个或更多个 Microsoft Entra 租户。 这可能导致需要满足独特的跨租户协作和管理要求。 多租户体系结构会增加管理开销和复杂性,应谨慎使用。 建议使用单个租户(如果需求可以通过该体系结构得到满足)。 有关更多详细信息,请参阅多租户用户管理

单独的租户会创建一个新的边界,因此对 Microsoft Entra 目录角色、目录对象、条件访问策略、Azure 资源组、Azure 管理组和其他控件进行了分离管理,如前几节所述。

单独的租户对于组织的 IT 部门来说非常有用,可在保护组织的用户和资源的同时,验证 Microsoft 服务(如 Intune、Microsoft Entra Connect 或混合身份验证配置)中租户范围的更改。 这包括测试服务配置,这些配置可能会产生租户范围的影响,并且不能局限于生产租户中的一部分用户。

在开发可使用 MS Graph 或类似 API 更改生产用户对象数据的自定义应用程序(例如,被授予 Directory.ReadWrite.All 或类似的宽范围的应用程序)的过程中,可能有必要在单独的租户中部署非生产环境。

注意

Microsoft Entra Connect 同步到多个租户,在单独的租户中部署非生产环境时这可能很有用。 有关详细信息,请参阅 Microsoft Entra Connect:支持的拓扑

结果

除了使用前述单个租户体系结构实现的结果外,组织还可以完全分离资源和租户交互:

资源分离

  • 可见性 - 无法由其他租户中的用户和管理员发现或枚举单独的租户中的资源。 同样,使用情况报告和审核日志包含在新的租户边界内。 这种可见性分离允许组织管理机密项目所需的资源。

  • 对象足迹 - 通过 Microsoft Graph 或其他管理接口写入 Microsoft Entra ID 和/或其他 Microsoft Online 服务的应用程序可以在单独的对象空间中运行。 这使开发团队能够在软件开发生命周期期间执行测试,而不会影响其他租户。

  • 配额 - 租户范围的 Azure 配额和限制 的使用独立于其他租户。

配置分离

新租户提供了一组单独的租户范围设置,可以容纳资源和信任应用程序(这些应用程序具有在租户级别需要不同配置的要求)。 此外,新租户还提供一组新的 Microsoft Online 服务,例如 Office 365。

管理分离

新的租户边界包含一组单独的 Microsoft Entra 目录角色,使你能够配置不同的管理员集。

常见用法

下图演示了多个租户中资源隔离的常见用法:预生产环境(或“沙盒”环境),该环境需要的分离比在单个租户中的委派管理实现的分离更多。

显示常见使用场景的图表。

Contoso 是一个组织,它使用名为 ContosoSandbox.com 的预生产租户来增强其公司租户体系结构。 沙盒租户用于支持持续开发企业解决方案,这些解决方案使用 Microsoft Graph 写入 Microsoft Entra ID 和 Microsoft 365。 这些解决方案在公司租户中部署。

沙盒租户联机,以防止这些开发中的应用程序通过使用租户资源和影响配额或限制来直接或间接影响生产系统。

开发人员需要在开发生命周期期间访问沙盒租户,理想情况下,自助访问需要在生产环境中受限的额外权限。 这些额外权限的示例可能包括创建、删除和更新用户帐户,注册应用程序,预配和取消预配 Azure 资源以及更改环境的策略或总体配置。

在此示例中,Contoso 使用 Microsoft Entra B2B 协作预配企业租户中的用户,使用户可以在沙盒租户中的应用程序中管理和访问资源,而无需管理多个凭据。 此功能主要面向跨组织协作场景。 但是,具有多个租户的企业(如 Contoso)可以使用此功能来避免额外的凭据生命周期管理和复杂的用户体验。

使用外部标识跨租户访问设置来管理如何通过 B2B 协作与其他 Microsoft Entra 组织展开协作。 这些设置用于确定外部 Microsoft Entra 组织中的用户对你的资源的入站访问级别,以及你的用户对外部组织的出站访问级别。 这些设置还允许信任来自其他 Microsoft Entra 组织的多重身份验证 (MFA) 和设备声明(合规声明和已建立 Microsoft Entra 混合联接的声明)。 有关详情和规划注意事项,请参阅 Microsoft Entra 外部标识中的跨租户访问

另一种方法本可以是利用 Microsoft Entra Connect 的功能,将相同的本地 Microsoft Entra 凭据同步到多个租户,同时保留相同的密码,但在用户 UPN 域上有所不同。

多租户资源隔离

使用新租户时,你会有一组单独的管理员。 组织可以选择通过 Microsoft Entra B2B 协作使用企业标识。 同样,组织可以实施 Azure Lighthouse 进行 Azure 资源的跨租户管理,使非生产 Azure 订阅可由生产对应方中的标识进行管理。 Azure Lighthouse 不能用于管理 Azure 外部的服务,例如 Microsoft Intune。 对于托管服务提供商 (MSP),Microsoft 365 Lighthouse 是一个管理门户,可帮助使用 Microsoft 365 商业高级版、Microsoft 365 E3 或 Windows 365 商业版的中小型企业 (SMB) 客户大规模保护与管理设备、数据和用户。

这将允许用户继续使用其公司凭据,同时实现分离的好处。

应将沙盒租户中的 Microsoft Entra B2B 协作配置为仅允许使用 Azure B2B 允许/拒绝列表加入企业环境中的标识。 对于想要允许 B2B 的租户,请考虑使用外部标识跨租户访问设置进行跨租户多重身份验证\设备信任。

重要

启用了外部标识访问的多租户体系结构仅提供资源隔离,不启用标识隔离。 使用 Microsoft Entra B2B 协作和 Azure Lighthouse 的资源隔离不会降低与标识相关的风险。

如果沙盒环境与公司环境共享标识,则以下场景适用于沙盒租户:

  • 在公司租户中入侵用户、设备或混合基础结构,并受邀进入沙盒租户的恶意参与者可能会获取对沙盒租户的应用和资源的访问权限。

  • 公司租户中的操作错误(例如,删除用户帐户或吊销凭据)可能会影响受邀用户对沙盒租户的访问。

必须执行风险分析,并可能需要考虑通过多个租户进行标识隔离,才能获得需要高度防御方法的业务关键型资源。 Azure Privileged Identity Management 可以通过为访问业务关键租户和资源增加额外的安全性来帮助降低风险。

目录对象

用于隔离资源的租户可能包含与主租户相同的对象类型、Azure 资源和信任应用程序。 可能需要预配以下对象类型:

用户和组:解决方案工程团队所需的标识,例如:

  • 沙盒环境管理员。

  • 应用程序的技术所有者。

  • 业务线应用程序开发者。

  • 测试最终用户帐户。

可以为以下项预配这些标识:

  • 通过 Microsoft Entra B2B 协作附带公司帐户的员工。

  • 为了管理、紧急管理访问或由于其他技术原因需要本地帐户的员工。

如果基础资源和应用程序需要,具有或需要本地非生产 Active Directory 的客户也可以将其本地标识同步到沙盒租户。

设备:非生产租户包含的设备数量减少到解决方案工程周期所需的程度:

  • 管理工作站

  • 开发、测试和文档编制所需的非生产计算机和移动设备

应用程序

Microsoft Entra 集成应用程序:应用程序对象和服务主体,适用于:

  • 在生产中部署的应用程序(例如,写入 Microsoft Entra ID 和 Microsoft 联机服务的应用程序)的测试实例。

  • 用于管理和维护非生产租户的基础设施服务,可能是企业租户中可用解决方案的子集。

Microsoft Online Services:

  • 通常,在生产中拥有 Microsoft Online Services 的团队应该是拥有这些服务的非生产实例的团队。

  • 非生产测试环境的管理员不应预配 Microsoft Online Services,除非这些服务经过专门测试。 这可以避免不当使用 Microsoft 服务,例如在测试环境中设置生产 SharePoint 站点。

  • 同样,可以由最终用户发起的 Microsoft Online 服务的预配(也称为临时订阅)应该被锁定。 要想了解更多信息,请参阅什么是 Microsoft Entra ID 自助注册?

  • 通常,应为使用基于组的许可的租户禁用所有非必要的许可功能。 这应该由管理生产租户中的许可证的同一团队完成,以避免可能不知道启用许可功能的影响的开发人员进行错误配置。

Azure 资源

还可以部署信任应用程序所需的任何 Azure 资源。 例如,数据库、虚拟机、容器、Azure 函数等。 对于沙盒环境,必须权衡对产品和服务使用成本较低的 SKU 的成本节省,与较少的可用安全功能。

访问控制的 RBAC 模型仍应在非生产环境中使用,以防在测试结束后将更改复制到生产环境中。 否则,非生产环境中的安全漏洞就会传播到生产租户。

具有多个租户的资源和标识隔离

隔离结果

在有限的情况下,资源隔离无法满足要求。 可以通过禁用所有跨租户协作功能和有效地构建单独的标识边界,隔离多租户体系结构中的资源和标识。 此方法是针对企业租户中的操作错误和用户标识、设备或混合基础设施泄漏的防御措施。

隔离常见用法

单独的标识边界通常用于业务关键应用程序和资源,例如面向客户的服务。 在此场景中,Fabrikam 决定为其面向客户的 SaaS 产品创建单独的租户,以避免员工标识泄露影响其 SaaS 客户的风险。 下图对此体系结构进行了说明:

FabrikamSaaS 租户包含作为 Fabrikam 业务模式一部分向客户提供的应用程序所使用的环境。

隔离目录对象

FabrikamSaas 中的目录对象如下所示:

用户和组:解决方案 IT 团队、客户支持人员或其他必要人员所需的标识是在 SaaS 租户中创建的。 若要保留隔离,请仅使用本地帐户,并且不启用 Microsoft Entra B2B 协作。

Azure AD B2C 目录对象:如果客户访问租户环境,它可能包含 Azure AD B2C 租户及其关联的标识对象。 保留这些目录的订阅对于面向使用者的独立环境来说是很好的选择。

设备:此租户包含的设备数已减少;仅包含运行面向客户的解决方案所需的设备数:

  • 保护管理工作站。

  • 支持人员工作站(这可以包括如上所述“待命”的工程师)。

隔离应用程序

Microsoft Entra 集成应用程序:应用程序对象和服务主体,适用于:

  • 生产应用程序(例如多租户应用程序定义)。

  • 用于管理和维护面向客户的环境的基础结构服务。

Azure 资源:托管面向客户的生产实例的 IaaS、PaaS 和 SaaS 资源。

后续步骤