你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
支持安全性的云设计模式
设计工作负载体系结构时,应使用可应对常见挑战的行业模式。 模式可以帮助你在工作负载中做出有意的权衡,并针对所需的结果进行优化。 它们还有助于缓解源自特定问题的风险,这些问题可能会影响可靠性、性能、成本和操作。 这些风险可能表明缺乏安全保障,如果无人看管可能会给业务带来重大风险。 这些模式以实际体验为后盾,专为云规模和运营模型而设计,本质上与供应商无关。 使用已知模式来标准化工作负载设计是卓越运营的一个组成部分。
许多设计模式直接支持一个或多个体系结构支柱。 支持安全支柱的设计模式优先考虑分段和隔离、强授权、统一应用程序安全性和新式协议等概念。
安全设计模式
下表总结了支持安全目标的云设计模式。
模式 | 总结 |
---|---|
代表 | 通过卸载与网络通信相关的跨领域任务来封装和管理网络通信。 生成的帮助程序服务代表客户端启动通信。 此中介点提供了增强网络通信安全性的机会。 |
用于前端的后端 | 通过创建特定于特定前端接口的单独服务,将工作负荷的服务层个性化。 由于这种分离,支持一个客户端的服务层中的安全性和授权可以根据该客户端提供的功能进行定制,从而可能减少 API 的外围应用,减少可能公开不同功能的不同后端之间的横向移动。 |
隔层 | 在组件之间引入有意和完整的分段,以隔离故障的爆炸半径。 还可以使用此策略将安全事件控制到遭到入侵的隔舱。 |
声明检查 | 将数据与消息流分开,从而提供一种单独检索与消息相关的数据的方法。 此模式支持将敏感数据排除在消息正文外,而是将其保留在受保护的数据存储中。 此配置使你能够建立更严格的授权,以支持从预期使用数据的服务访问敏感数据,但从队列监视解决方案等辅助服务中删除可见性。 |
联合标识 | 将信任委托给工作负载外部的标识提供者,用于管理用户并为应用程序提供身份验证。 通过将用户管理和身份验证外部化,无需在工作负载中实现这些功能,即可获得用于基于标识的威胁检测和预防的改进功能。 外部标识提供者使用新式互操作身份验证协议。 |
守护程序 | 卸载在将请求转发到后端节点之前和之后专门用于强制实施安全和访问控制的请求处理。 将网关添加到请求流中可以集中使用安全功能,例如 Web 应用程序防火墙、DDoS 防护、机器人检测、请求操作、身份验证启动和授权检查。 |
网关聚合 | 通过在单个请求中聚合对多个后端服务的调用,简化了客户端与工作负载的交互。 此拓扑通常会减少客户端与系统具有的接触点数,从而减少公共外围应用和身份验证点。 聚合后端可以与客户端保持完全网络隔离。 |
网关卸载 | 在将请求转发到后端节点之前和之后,将请求处理卸载到网关设备。 将网关添加到请求流中可以集中使用安全功能,例如 Web 应用程序防火墙和与客户端的 TLS 连接。 平台提供的任何卸载功能都已提供增强的安全性。 |
发布方/订阅方 | 通过将直接客户端到服务通信替换为通过中间消息中转站或事件总线的通信,分离体系结构中的组件。 此替换引入了一个重要的安全分段边界,使队列订阅者能够与发布服务器进行网络隔离。 |
隔离 | 在授权外部资产在工作负载中使用外部资产之前,确保其符合团队商定的质量级别。 此检查充当外部项目的第一个安全验证。 在安全开发生命周期内对项目进行验证之前,先在分段环境中进行验证, (SDL) 。 |
Sidecar | 通过在main应用程序一起存在的配套进程中封装非主任务或交叉任务,扩展应用程序的功能。 通过封装这些任务并在进程外部署它们,可以将敏感进程的外围应用减少到仅完成该任务所需的代码。 还可以使用挎斗向非本机设计的应用程序组件添加横切安全控制。 |
限制 | 对资源或组件的传入请求的速率或吞吐量施加限制。 可以设计限制以帮助防止系统自动滥用可能导致的资源耗尽。 |
附属密钥 | 授予对资源的安全限制访问权限,而无需使用中间资源来代理访问。 此模式使客户端无需长期或长期凭据即可直接访问资源。 所有访问请求都以可审核事务开头。 然后,授予的访问权限在范围和持续时间上都受到限制。 此模式还便于撤销授予的访问权限。 |
后续步骤
查看支持其他 Azure Well-Architected Framework 支柱的云设计模式: