Azure Key Vault保护云中的加密密钥、证书(以及与证书关联的私钥)以及机密(例如连接字符串和密码)。 存储敏感数据和业务关键型数据时,必须采取措施以最大限度提高保管库及其中存储的数据的安全性。
本文提供安全建议来帮助保护Azure Key Vault部署。
特定于服务的安全性
Azure Key Vault具有与保管库架构和服务的适当使用相关的独特安全注意事项,这些注意事项涉及存储加密材料。
Key Vault 体系结构
为每个应用程序、区域和环境使用一个Key Vault:为开发、预生产环境和生产环境创建单独的 Key Vault,以减少违规的影响。
密钥保管库为存储的机密定义安全边界。 将机密分组到同一保管库会增加安全事件的冲击半径,因为攻击可能能够跨关注点访问机密。 若要缓解跨关注点访问机密这一情况,请考虑特定应用程序应有权访问哪些机密,然后根据此描述分离密钥保管库。 将密钥保管库按应用程序分离是最常见的界限。 但是,对于大型应用程序(例如,每组相关服务),安全边界可能更为精细。
在多租户解决方案中为每个租户使用一个Key Vault:对于多租户 SaaS 解决方案,请为每个租户使用单独的Key Vault来维护数据隔离。 这是用于安全隔离客户数据和工作负荷的推荐方法。 请参阅 Multitenancy 和 Azure Key Vault。
Key Vault中的对象存储
不要将Key Vault用作数据存储来存储客户配置或服务配置:服务应将 Azure Storage 用于静态加密或 Azure configuration manager。 在此类场景中,存储性能更高。
不要将证书(客户或服务拥有)存储为机密:服务拥有的证书应存储为Key Vault证书并配置为自动轮换。 有关详细信息,请参阅 Azure 密钥保管库:证书。
- 客户内容(不包括机密和证书)不应存储在 Key Vault:Key Vault 不是数据存储,也没有像数据存储那样的扩展能力。 请改用适当的数据存储,例如 Cosmos DB 或 Azure Storage。 客户可以选择 BYOK(创建自己的密钥)进行静态加密。 此密钥可以存储在Azure Key Vault中,以加密Azure Storage中的数据。
网络安全
减少网络暴露对于防止Azure Key Vault未经授权的访问至关重要。 根据组织的要求和用例配置网络限制。 有关详细信息和分步配置说明,请参阅 配置Azure Key Vault 的网络安全性。
这些网络安全功能从限制最多的功能到限制最少的功能依次列出。 选择最适合组织用例的配置。
禁用公共网络访问,仅使用专用终结点:部署 Azure Private Link 以在虚拟网络中建立到 Azure Key Vault 的专用接入点,避免暴露于公共互联网。 有关实现步骤,请参阅 integrate Key Vault with Azure Private Link。
- 某些客户方案要求受信任的Azure服务绕过防火墙,在这种情况下,可能需要将保管库配置为允许受信任的Azure服务。 有关完整详细信息,请参阅 网络安全:已启用 Key Vault 防火墙(仅限受信任的服务)。
启用 Key Vault 防火墙:将访问限制为公共静态 IP 地址或虚拟网络。 有关完整详细信息,请参阅 “配置网络安全:防火墙设置”。
- 某些客户方案要求受信任的Azure服务绕过防火墙,在这种情况下,可能需要将保管库配置为允许受信任的Azure服务。
使用网络安全外围:为 PaaS 资源(例如,Azure Key Vault、Azure Storage和 SQL 数据库)定义逻辑网络隔离边界,这些边界部署在组织的虚拟网络外围和公共静态 IP 地址之外。 有关完整详细信息,请参阅 “配置网络安全:网络安全外围”。
-
publicNetworkAccess: SecuredByPerimeter替代“允许受信任的Azure服务绕过防火墙”,这意味着某些需要信任的方案将不起作用。
-
TLS 和 HTTPS
Azure Key Vault支持 TLS 1.2 和 1.3 协议版本,以确保客户端和服务之间的安全通信。
- Enforce TLS 版本控制:Key Vault前端(数据平面)是一个多租户服务器,来自不同客户的密钥保管库可以共享相同的公共 IP 地址。 为了实现隔离,每个 HTTP 请求都经过身份验证并独立授权。 HTTPS 协议允许客户端参与 TLS 协商,客户端可以强制实施 TLS 版本,以确保整个连接使用相应的保护级别。 有关监视客户端使用的 TLS 版本的示例 Kusto 查询,请参阅 Key Vault日志记录。
标识和访问管理
启用托管标识:对所有应用和服务连接使用 Azure 托管标识连接到 Azure Key Vault,从而消除硬编码凭据。 托管标识有助于保护身份验证,同时不再需要显式凭据。 有关身份验证方法和方案,请参阅 Azure Key Vault 身份验证。
使用基于角色的访问控制:使用 Azure 角色访问控制(RBAC)来管理对 Azure Key Vault 的访问权限。 有关详细信息,请参阅 适用于 Key Vault 数据平面操作的 Azure RBAC。
- 不要使用旧访问策略:旧访问策略具有已知的安全漏洞,并且缺少对Privileged Identity Management(PIM)的支持,不应用于关键数据和工作负荷。 Azure RBAC 可缓解潜在的未经授权的Key Vault访问风险。 请参阅Azure基于角色的访问控制(Azure RBAC)与访问策略(旧版)。
重要
RBAC 权限模型允许保管库级别的角色分配以实现持久访问,并为特权操作提供合格(JIT)分配。 对象范围分配仅支持读取操作;而管理操作(例如:网络访问控制、监视和对象管理)需要保管库级别的权限。 若要跨应用程序团队进行安全隔离,请为每个应用程序使用一个Key Vault。
分配实时(JIT)特权角色:使用 Azure Privileged Identity Management(PIM)为Key Vault管理员和操作员分配符合条件的 JIT Azure RBAC 角色。 有关详细信息,请参阅 Privileged Identity Management (PIM) 概述。
- 要求批准特权角色激活:添加额外的一层安全保护,确保至少需要一个审批者来激活 JIT 角色,以防止未经授权的访问。 请参阅 在 Privileged Identity Management 中配置 Microsoft Entra 角色设置。
- 为角色激活强制执行多重身份验证:要求进行多重身份验证,为操作员和管理员激活 JIT 角色。 请参阅 Microsoft Entra 多重身份验证。
启用Microsoft Entra Conditional Access策略:Key Vault支持基于用户位置或设备等条件应用访问控制的Microsoft Entra Conditional Access策略。 有关详细信息,请参阅条件访问概述。
应用最小特权原则:限制具有管理角色的用户数,并确保仅向用户授予其角色所需的最低权限。 请参阅使用最小特权原则增强安全性
数据保护
保护存储在Azure Key Vault中的数据需要启用软删除、清除保护并实现加密材料的自动轮换。
启用软删除:确保软删除已启用,以便在 7 到 90 天的保留期内恢复已删除的 Key Vault 对象。 请参阅 Azure Key Vault 软删除概述。
恢复清除保护:启用清除保护以防止意外或恶意删除Key Vault对象,即使在启用软删除之后也是如此。 请参阅 Azure Key Vault 软删除概述:清除保护
为加密资产实现自动轮换:配置密钥、机密和证书的自动轮换,以最大程度地降低泄露风险并确保符合安全策略。 定期轮换加密材料是一种关键的安全做法。 请参阅配置密钥自动轮换、配置证书自动轮换、自动化机密轮换资源,使用一组身份验证凭据,以及自动化机密轮换资源,使用两组身份验证凭据。
日志记录和威胁检测
全面的日志记录和监视功能可检测可疑活动和符合审核要求。
启用审核日志记录:Key Vault日志记录保存有关对保管库执行的操作的信息。 有关完整详细信息,请参阅 Key Vault 日志记录。
为 Key Vault 启用 Microsoft Defender:使用 Microsoft Defender 来监控 Key Vault 的可疑活动并发出警报。 有关详细信息,请参阅 Microsoft Defender for Key Vault 介绍。
为安全事件启用日志警报:设置警报,以便在记录关键事件(如访问失败或机密删除)时发出通知。 请参阅Azure Key Vault 的监控和警报。
监控和警报:将 Key Vault(密钥保管库)与 Event Grid(事件网格)集成,以接收有关密钥、证书或机密更改的通知。 有关详细信息,请参阅 使用 Azure Event Grid 监控 Key Vault。
备份和恢复
定期备份可确保业务连续性并防止数据丢失,防止意外删除或恶意删除数据。
启用 Azure Key Vault 的本地备份:配置和使用 Azure Key Vault 的本地备份功能来备份机密、密钥和证书,确保可恢复性。 请参阅 Azure Key Vault backup。
确保无法重新创建的机密的备份:备份Key Vault中无法从其他源重新创建的对象(如加密密钥)。 请参阅 Azure Key Vault backup。
测试备份和恢复过程:若要验证备份过程的有效性,请定期测试Key Vault机密、密钥和证书的还原。 请参阅 Azure Key Vault backup。
后续步骤
- Azure Key Vault安全基线
- 确保您的 Azure 托管 HSM 部署的安全
Azure Key Vault 的虚拟网络服务终结点 - Azure RBAC:内置角色