category
本文概述了一种在分布式环境中创建健壮且可扩展的应用程序的解决方案。该解决方案使用Azure应用程序配置和Azure密钥库在一个位置管理和存储应用程序配置设置、功能标志和安全访问设置。
架构
下图显示了应用程序配置和密钥库如何协同工作,以管理和保护开发和Azure环境中的应用程序。
开发环境
Download a Visio file of this architecture.
在开发环境中,该应用程序通过Visual Studio或Azure CLI 2.0版使用身份登录并向Microsoft Entra ID发送身份验证请求。
显示应用程序如何在开发环境中登录和身份验证的体系结构图。
Download a Visio file of this architecture.
Azure暂存或生产环境
Azure暂存和生产环境使用托管身份进行登录和身份验证。
显示应用程序如何在暂存或生产环境中登录和身份验证的体系结构图。
下载此体系结构的Visio文件。
流
- 应用程序在Visual Studio中调试期间发送身份验证请求,或通过Azure中的MSI进行身份验证。
- 验证成功后,Microsoft Entra ID将返回一个访问令牌。
- 应用程序配置SDK发送一个带有访问令牌的请求,以读取应用程序的应用程序配置密钥库secretURI值。
- 成功授权后,应用程序配置会发送配置值。
- 应用程序利用登录身份向密钥库发送请求,以检索应用程序配置发送的secretURI的应用程序机密。
- 成功授权后,密钥保管库将返回机密值。
组件
- Microsoft Entra ID是一个用于管理和保护身份的通用平台。
- 应用程序配置提供了一种将所有Azure应用程序的配置存储在通用托管位置的方法。
- 托管标识为应用程序提供了一个标识,以便在连接到支持Microsoft Entra身份验证的资源时使用。
- 密钥库保护云应用程序和服务使用的加密密钥和其他机密。
场景详细信息
基于云的应用程序通常在多个区域的多个虚拟机或容器上运行,并使用多个外部服务。在分布式环境中创建一个健壮且可扩展的应用程序是一个重大挑战。
通过使用应用程序配置,您可以在一个位置管理和存储应用程序的所有配置设置、功能标志和安全访问设置。应用程序配置与密钥库无缝配合,密钥库存储密码、密钥和机密,以实现安全访问。
潜在用例
任何应用程序都可以使用应用程序配置,但以下类型的应用程序从中受益最大:
- 在Azure Kubernetes Service(AKS)或部署在一个或多个区域的其他容器化应用程序上运行的微服务。
- 无服务器应用程序,包括Azure函数或其他事件驱动的无状态计算应用程序。
- 使用连续部署(CD)管道的应用程序。
注意事项
这些注意事项实现了Azure架构良好的框架的支柱,这是一套可用于提高工作负载质量的指导原则。有关详细信息,请参阅Microsoft Azure架构良好的框架。
- 最好为每个环境中的每个应用程序使用不同的密钥库:开发、Azure预生产和Azure生产。使用不同的保险库有助于防止跨环境共享机密,并在发生漏洞时减少威胁。
- 要使用这些方案,登录标识必须在应用程序配置资源中具有应用程序配置数据读取器角色,并具有用于检索密钥库中的机密的明确访问策略。
Learn more about the component technologies:
Next steps
Related resources
- 登录 发表评论
- 6 次浏览
最新内容
- 2 days ago
- 2 days 5 hours ago
- 2 days 5 hours ago
- 4 days 21 hours ago
- 5 days 4 hours ago
- 5 days 5 hours ago
- 5 days 5 hours ago
- 5 days 5 hours ago
- 1 week 2 days ago
- 1 week 2 days ago