保护 Azure 应用配置

Azure 应用配置提供通过时间点配置快照集中管理应用程序设置和功能标志的功能。 部署此服务时,请务必遵循安全最佳做法来保护数据、配置和基础结构。

本文提供有关如何最好地保护 Azure 应用配置部署的指导。

网络安全

网络安全控制可防止未经授权的访问应用程序配置存储,并建立安全通信边界来访问配置数据。

  • 启用专用终结点:通过使用 Azure 专用链接在虚拟网络内路由流量,消除公共 Internet 暴露。 专用终结点提供专用网络接口,用于直接连接到应用配置,同时防止数据外泄风险。 请参阅 使用专用终结点进行 Azure 应用配置

  • 禁用公共网络访问:使用专用终结点阻止所有基于 Internet 的连接,以防止未经授权的访问尝试并减少攻击面。 将服务配置为拒绝公用网络访问,并强制通过专用终结点进行所有通信。 请参阅 “在 Azure 应用配置中禁用公共访问”。

  • 为专用终结点子网配置网络安全组:使用专用终结点时,将网络安全组应用于托管专用终结点的子网(NSG),以控制流量流。 在专用终结点子网上启用网络策略并实施严格的 NSG 规则,以仅允许必要的流量访问应用配置专用终结点。 请参阅 管理专用终结点的网络策略

标识和访问管理

标识和访问管理控制可确保只有经过授权的用户和应用程序才能访问应用配置资源,并对配置数据操作具有适当权限。

  • 使用Microsoft Entra ID 身份验证:将访问密钥替换为 Microsoft Entra ID 身份验证,以利用集中式标识管理、条件访问策略和高级安全功能。 这提供更好的审核线索并消除长期机密。 请参阅 使用 Microsoft Entra ID 访问 Azure 应用配置

  • 实现基于角色的访问控制(RBAC):使用内置角色(如应用配置数据读取者或应用配置数据所有者)分配用户和应用程序所需的最低权限,而不是使用管理角色。 请参阅 Azure 应用配置的 Azure 内置角色

  • 启用托管标识:为应用程序配置系统分配的或用户分配的托管标识以访问应用配置,而无需在代码或配置文件中存储凭据。 托管身份提供自动凭证轮换和增强的安全性。 请参阅 如何对 Azure 应用配置使用托管标识

  • 禁用访问密钥身份验证:关闭访问密钥身份验证,为所有配置数据访问强制实施Microsoft Entra ID 身份验证。 这消除了泄露访问密钥的风险,并提供集中式标识管理。 请参阅 “禁用访问密钥身份验证”。

  • 定期轮换访问密钥:当需要访问密钥身份验证时,请实施常规密钥轮换,以限制泄露凭据的公开。 使用主密钥和辅助密钥实现无缝轮换,而不会造成服务中断。 请参阅 使用访问密钥访问 Azure 应用配置

数据保护

数据保护机制通过应用程序设置和功能标志的加密、密钥管理和安全存储做法来保护配置信息。

  • 启用客户管理的密钥进行加密:使用 Azure Key Vault 配置客户管理的密钥(CMK)加密,以保持对静态配置数据的加密密钥的控制。 这除了 Azure 托管的加密之外,还提供额外的保护,并帮助满足严格的合规性要求。 请参阅 使用客户管理的密钥来加密应用配置数据

  • 实现 Key Vault 集成:使用 Azure Key Vault 集成将机密和证书存储和管理为 Key Vault 引用,而不是将它们直接存储在应用配置中。 这为集中式机密管理提供硬件级加密、精细访问策略、过期管理和管理作,例如证书轮换。 请参阅 教程:在 ASP.NET Core 应用中使用 Key Vault 引用

  • 配置自动机密重载:设置从 Key Vault 自动重新加载机密和证书,以确保应用程序始终使用当前值,而无需手动干预。 这样可降低作开销,同时维护安全性。 请参阅 自动从 Key Vault 重新加载机密和证书

  • 确保传输中的加密:验证所有通信都使用 TLS 1.2 或更高版本加密在应用程序和应用配置终结点之间传输的数据。 默认情况下,所有终结点都强制实施 TLS 加密,以保护配置数据和 API 通信。 请参阅 Azure 应用配置安全基线

日志记录和监控

全面的日志记录和监视提供对应用配置作、访问模式和安全事件的可见性,以实现威胁检测和合规性监督。

  • 启用诊断日志记录:配置诊断设置以收集应用配置资源日志和指标,以便进行安全监视和合规性审核。 将诊断数据发送到 Azure Monitor 日志、存储帐户或事件中心,以便集中分析和保留。 请参阅 “监视 Azure 应用配置”。

  • 监视访问模式并配置警报:跟踪配置检索请求、修改事件和访问频率,以检测可能指示安全威胁或未经授权的访问尝试的异常使用模式。 设置 Azure Monitor 警报以自动通知可疑活动,例如身份验证尝试失败、异常请求模式、限制事件和配置修改。 这样就可以通过实时监视和自动警报快速响应潜在的安全事件。 请参阅 Monitor Azure 应用配置监视应用配置数据参考

  • 启用 Azure 活动日志监视:监视 Azure 活动日志以跟踪应用配置资源的更改、管理操作和控制平面操作。 为关键更改(例如网络访问修改或身份验证设置更新)配置警报。 请参阅 Azure Monitor 中的活动日志

  • 监视身份验证和授权失败:为 HTTP 401(未经身份验证)和 403(禁止)响应设置监视和警报,以检测常见的安全配置问题。 401 错误通常表示生产应用程序中使用的访问键无效或已轮换但未更新,而 403 错误通常表示用于访问应用配置的身份的角色分配缺失或不正确。 为这些错误模式配置自动警报,以便快速检测和解决身份验证和授权问题。 请参阅 Monitor Azure 应用配置监视应用配置数据参考

合规性和治理

合规性和治理控制可确保应用配置部署通过适当的配置管理和审核功能满足法规要求和组织策略。

  • 应用 Azure Policy 定义:使用 Azure Policy 强制实施安全配置并监视应用配置资源的符合性。 对专用链接使用情况、访问密钥限制和加密要求应用内置策略。 请参阅 Azure 应用配置的 Azure Policy 法规符合性控制措施。

  • 实现资源标记:将一致的资源标记应用于应用配置存储,以实现成本管理、安全监视、合规性跟踪和治理。 使用标记标识数据分类、所有者信息和法规要求。 请参阅 Azure 应用配置的 Azure Policy 法规符合性控制措施。

  • 配置条件访问策略:实施 Microsoft Entra 条件访问策略,以在使用 Microsoft Entra ID 身份验证时基于用户标识、位置、设备符合性和风险级别来控制对应用配置的访问。 请参阅 Azure 应用配置的 Azure 安全基线

  • 使用 Azure Policy 监视安全符合性:使用 Microsoft Defender for Cloud 的法规符合性仪表板跟踪 Azure Policy 与安全基线的合规性,并接收有关应用配置安全配置的建议。 虽然没有适用于应用配置的专用 Defender 计划,但服务会监视策略符合性和配置偏差。 请参阅 Azure 应用配置的 Azure Policy 法规符合性控制措施。

  • 维护审核追踪:确保全面的审计日志使用诊断设置和活动日志记录所有配置更改、访问尝试和管理操作,以便进行法规遵从和安全调查。 请参阅 “监视 Azure 应用配置”。

备份和恢复

备份和恢复策略可保护应用配置数据,并通过适当的灾难恢复规划和异地复制功能确保业务连续性。

  • 启用异地复制以实现高可用性:跨多个 Azure 区域创建应用配置存储的副本,以提供冗余,并确保在区域性中断期间的可用性。 异地复制会自动跨区域同步配置数据。 请参阅 异地复制概述

  • 实现自动故障转移机制:配置应用配置提供程序库,以在服务中断期间自动故障转移副本,以维护应用程序可用性,而无需手动干预。 这为依赖于配置的应用程序提供无缝连续性。 请参阅 “启用异地复制”。

  • 跨区域和可用性区域部署:在具有 Azure 可用性区域支持的区域中配置应用配置存储,以通过自动化区域冗余提供防止数据中心中断的弹性能力。 在应用程序运行的区域部署副本,以最大程度地减少延迟、分配请求负载,并增强针对暂时性故障和区域性中断的复原能力。 请参阅 将应用配置迁移到可用性区域支持复原能力和灾难恢复的区域。

  • 创建配置快照:使用时间点快照创建可用于回滚方案和安全部署做法的不可变配置版本。 快照提供有保证的一致性,并允许从配置错误快速恢复。 请参阅快照

  • 启用软删除保护:为所有标准层和高级层应用配置存储自动启用软删除,以防止意外删除,在恢复期间保留已删除的存储,并允许还原整个存储及其配置数据。 为了增强安全性,请考虑启用清除保护,以防止在保留期内永久删除(清除)已软删除的存储。 这为防止恶意删除尝试提供额外的保护,对于配置数据对应用程序功能至关重要的生产环境尤其重要。 请参阅 “恢复 Azure 应用配置”中删除的存储

特定于服务的安全性

应用配置提供专为配置管理、功能标志作和应用程序设置保护而设计的独特安全功能。

  • 实施安全部署做法:使用配置快照和渐进式部署模型尽量减少配置更改的爆破半径。 在生产部署之前生成和测试快照,并维护用于快速回滚的最后已知良好配置。 请参阅 Azure 应用配置最佳做法

  • 将机密与配置数据分开:将机密和证书(如连接字符串、API 密钥和证书)存储在 Azure Key Vault 中,并从应用配置中引用它们,而不是直接存储它们。 Key Vault 提供硬件级加密、精细访问策略、过期管理和管理作,例如证书轮换。 将应用配置用于应用程序设置、功能标志和其他配置数据,这些配置数据受益于集中式管理和时间点快照。 请参阅 教程:在 ASP.NET Core 应用中使用 Key Vault 引用

  • 配置 Azure 资源管理器身份验证模式:将应用配置存储的 Azure 资源管理器身份验证模式设置为 直通,以实现自动部署。 此模式需要数据平面和 Azure 资源管理器管理角色的组合才能进行数据访问,可实现对部署调用方的适当审核归属,并且对于安全基础结构即代码部署至关重要。 避免具有审核限制和安全约束的 本地 身份验证模式。 请参阅部署概述