你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
多租户解决方案中的治理和合规性体系结构方法
随着你对 Azure 的使用日趋成熟,请务必考虑云资源的治理。 治理包括如何存储和管理租户的数据,以及如何组织 Azure 资源。 你可能还需要遵守法律法规或合同规定的强制标准。 本文介绍了如何在多租户解决方案中考虑治理和合规性。 还推荐了一些支持这些问题的关键 Azure 平台功能。
关键考虑因素和要求
资源隔离
确保配置 Azure 资源以满足租户的隔离要求。 有关隔离 Azure 资源的指南,请参阅多租户解决方案中的 Azure 资源组织。
数据管理
代表租户存储数据时,可能需要满足一些要求或义务。 从租户的角度来看,他们通常希望拥有和控制自己的数据。 考虑隔离、存储、访问和聚合租户的数据的方式。 发现租户的期望和要求,这些期望和要求可能会影响你的解决方案的工作方式。
隔离
查看多租户解决方案中存储和数据的体系结构方法,了解如何隔离租户的数据。 考虑租户是否要求使用自己的数据加密密钥。
无论你实施哪种隔离方法,请为租户请求对其数据的审核做好准备。 最好记录租户数据可能保存在其中的所有数据存储。 常见的数据源包括以下几种:
- 作为解决方案的一部分部署的数据库和存储帐户。
- 通常在租户之间共享的标识系统。
- 日志。
- 数据仓库。
主权
了解是否对要存储或处理的租户数据的物理位置有任何限制。 租户可能要求你将其数据存储在特定地理位置。 他们可能还会要求你不要将其数据存储在某些位置。 虽然这些要求通常以立法为基础,但也能够以文化价值和规范为基础。
有关数据驻留和主权的详细信息,请参阅在 Microsoft Azure 区域启用数据驻留和数据保护白皮书。
租户对你存储的数据的访问权限
租户有时会要求直接访问你代表他们存储的数据。 例如,他们可能想要将数据引入自己的数据湖。
规划如何响应这些请求。 考虑租户的任何数据是否保存在共享数据存储中。 如果是,规划如何避免租户访问其他租户的数据。
避免提供对数据库或存储帐户的直接访问,除非你针对此要求进行了设计,例如通过使用附属密钥模式。 出于集成目的,考虑创建一个 API 或自动数据导出流程。
有关与租户系统和外部系统集成的详细信息,请参阅租户集成和数据访问的体系结构方法。
你对租户数据的访问权限
考虑租户的要求是否限制了可以使用其数据或资源的人员。 例如,假设你生成了许多不同客户使用的 SaaS 解决方案。 政府机构可能要求只有本国/地区公民才能访问其解决方案的基础结构和数据。 可通过为敏感的客户工作负载使用单独的 Azure 资源组、订阅或管理组来满足这一要求。 可为特定用户组应用严格限定范围的 Azure 基于角色的访问控制 (RBAC) 角色分配以使用这些资源。
多个租户的数据聚合
考虑是否需要合并或聚合来自多个租户的数据。 例如,是否分析聚合数据,或训练可应用于其他租户的机器学习模型? 确保租户了解你使用其数据的方式。 包括对聚合或匿名数据的任何使用。
合规性要求
请务必了解你是否需要满足任何合规性标准。 在某些情况下可能会引入合规性要求,包括:
- 你或你的任何租户在某些行业内工作。 例如,如果你的任何租户在医疗保健行业工作,你可能需要遵守 HIPAA 标准。
- 你或你的任何租户位于需要遵守当地法律的地理或地缘政治区域。 例如,如果你的任何租户位于欧洲,则你可能需要遵守一般数据保护条例 (GDPR)。
- 购买网络保险策略以降低违规风险。 网络保险提供商可能要求你遵循他们的标准,并应用特定的控制措施,使你的策略有效。
重要
合规性是 Microsoft、你和你的租户之间的共同责任。
Microsoft 确保我们的服务符合一组特定的合规性标准,并提供 Microsoft Defender for Cloud 等工具来帮助验证你的资源是否根据这些标准进行配置。
但最终,完全理解适用于你的解决方案的合规性要求,以及如何根据这些标准配置你的 Azure 资源是你的责任。 有关更多详细信息,请参阅 Azure 合规性产品。
本文不提供有关如何符合任何特定标准的特定指南。 而是提供了有关如何在多租户解决方案中考虑合规性和治理的一些常规指导。
如果不同的租户需要遵循不同的合规性标准,请计划在整个环境中遵守最严格的标准。 始终遵循一个严格的标准比遵循不同租户的不同标准更容易。
要考虑的方法和模式
资源标记
使用资源标签来跟踪特定于租户的资源的租户标识符,或在使用部署戳模式进行缩放时跟踪戳记标识符。 通过使用资源标记,可以快速识别与特定租户或标记关联的资源。
访问控制
使用 Azure RBAC 限制对构成多租户解决方案的 Azure 资源的访问。 遵循 RBAC 最佳做法,例如将角色分配应用于组而不是用户。 限定角色分配的范围,使其提供必要的最低权限。 通过使用即时访问和 Microsoft Entra ID Privileged Access Management 等功能,避免对资源的长时间访问。
Azure Resource Graph
通过 Azure Resource Graph,可使用 Azure 资源元数据。 通过使用 Resource Graph,可跨大量 Azure 资源进行查询,即使它们分布在多个订阅中也是如此。 Resource Graph 可查询特定类型的资源,或标识以特定方式配置的资源。 它还可用于跟踪资源的配置历史记录。
Resource Graph 有助于管理大型 Azure 资产。 例如,假设跨多个 Azure 订阅部署特定于租户的 Azure 资源。 通过向资源应用标记,可使用 Resource Graph API 查找特定租户或部署戳使用的资源。
Microsoft Purview
请考虑使用 Microsoft Purview 对你存储的数据进行跟踪和分类。 当租户请求访问其数据时,你可轻松确定应包括的数据源。
验证是否符合标准
使用 Azure Policy、Microsoft Defender for Cloud 监管合规门户和 Azure 顾问等工具。 这些工具可帮助你配置 Azure 资源以满足合规性要求,并遵循建议的最佳做法。
生成合规性文档
租户可能要求你证明自己符合特定标准。 使用服务信任门户生成你可提供给租户或第三方审核者的合规性文档。
一些多租户解决方案整合了 Microsoft 365,并使用 Microsoft OneDrive、Microsoft SharePoint 和 Microsoft Exchange Online 等服务。 Microsoft Purview 合规门户可帮助你了解这些服务如何符合监管标准。
部署戳模式
如果需要符合特定于租户的要求,请考虑遵循部署戳模式。
例如,可将解决方案的戳记部署到多个 Azure 区域。 然后,可根据新租户需要存放数据的区域,将新租户分配到戳记。
同样,新租户可能会引入你在现有解决方案组件中无法满足的严格合规性要求。 可考虑为该租户部署专用戳记,然后根据租户的要求对其进行配置。
要避免的反模式
- 不了解租户的合规性要求。 请务必不要对租户可能施加的合规性要求做出假设。 如果计划将解决方案扩展到新市场,请注意租户可能在其中运营的监管环境。
- 忽略良好做法。 如果没有任何遵守合规性标准的迫切需要,则在部署 Azure 资源时,你仍然应该遵循良好做法。 例如,隔离资源,应用策略来验证资源配置,以及将角色分配应用到组而不是用户。 通过遵循良好做法,在最终需要遵循符合性标准时,可更轻松地遵循这些标准。
- 认为没有合规性要求。 首次启动多租户解决方案时,你可能不知道合规性要求,或者可能不需要遵循任何合规性要求。 随着你的发展,你可能需要提供证据,证明你遵守了各种标准。 使用 Microsoft Defender for Cloud 根据常规基线(如 CIS Microsoft 基础基准检验)监视合规性状况,甚至在你有明确要求这样做之前也是如此。
- 不规划管理。 部署 Azure 资源时,请考虑计划如何管理它们。 如果需要对资源进行批量更新,请确保了解 Azure CLI、Azure PowerShell、Azure Resource Graph 和 Azure 资源管理器 API 等自动化工具。
- 不使用管理组。 规划订阅和管理组层次结构,包括每个范围内的访问控制和 Azure Policy 资源。 在生产环境中使用资源时,引入或更改这些元素可能会很困难,而且会造成破坏。
- 未能规划访问控制策略。 Azure RBAC 在管理对资源的访问方式方面提供了高度的控制和灵活性。 确保使用 Microsoft Entra 组来避免向单个用户分配权限。 在安全与灵活性之间提供适当平衡的范围内分配角色。 尽可能使用内置角色定义,并分配提供所需最低权限的角色。
- 不使用 Azure Policy。 请务必使用 Azure Policy 来治理 Azure 环境。 规划和部署策略后,确保监视策略合规性,并仔细检查任何违规或异常。
作者
本文由 Microsoft 维护, 它最初是由以下贡献者撰写的。
主要作者:
- John Downs | 首席软件工程师
其他参与者:
- Bohdan Cherchyk | FastTrack for Azure 高级客户工程师
- Laura Nicolas | FastTrack for Azure 高级客户工程师
- 阿森·弗拉基米尔斯基|首席工程师,FastTrack for Azure
若要查看非公开的 LinkedIn 个人资料,请登录到 LinkedIn。
后续步骤
查看成本管理和分配的方法。