了解 Azure Key Vault 最佳做法

已完成

Azure Key Vault 是一个用于安全存储和访问机密的工具。 机密是你想要严格控制访问权限的任何内容,例如 API 密钥、密码或证书。 保管库是机密的逻辑组。

身份验证

若要使用密钥保管库执行任何操作,首先需要向其进行身份验证。 可通过三种方式向密钥保管库进行身份验证:

  • Azure 资源的托管标识:在 Azure 中的虚拟机上部署应用时,可以为虚拟机分配具有密钥保管库访问权限的标识。 还可以将标识分配给其他 Azure 资源。 这种方法的好处在于应用或服务不管理第一个机密的轮换。 Azure 会自动轮换与标识关联的服务主体客户端密码。 我们将此方法作为最佳做法推荐。

  • 服务主体和证书:可以使用服务主体和具有密钥保管库访问权限的关联证书。 我们不建议使用此方法,因为应用程序所有者或开发人员必须轮换证书。

  • 服务主体和机密:尽管可以使用服务主体和机密向密钥保管库进行身份验证,但我们不建议你这样做。 自动轮换用于向密钥保管库进行身份验证的启动机密非常困难。

传输中的数据加密

Azure Key Vault 强制实施传输层安全性 (TLS) 协议,以保护在 Azure Key Vault 和客户端之间传输的数据。 客户端协商与 Azure Key Vault 的 TLS 连接。 TLS 提供严格的身份验证,消息隐私性和完整性强(允许检测消息篡改、拦截和伪造),具有良好的互操作性,算法灵活,易于部署和使用。

完美正向保密 (PFS) 通过唯一密钥保护客户的客户端系统与 Microsoft 云服务间的连接。 连接还使用基于 RSA 的 2,048 位加密密钥长度。 此组合使得别人难以拦截和访问传输中的数据。

Azure Key Vault 最佳做法

  • 使用单独的密钥保管库:建议为每个环境(开发、预生产和生产)的每个应用程序使用一个保管库。 此模式可以帮助你避免在不同环境之间共享机密,并可在出现安全漏洞时降低威胁。

  • 控制对保管库的访问:Key Vault 数据是敏感数据和业务关键数据,你需要保护对 Key Vault 的访问,可通过仅允许经过授权的应用程序和用户访问加以限制。

  • 备份:在保管库中更新/删除/创建对象时,创建保管库的定期备份。

  • 日志记录:请务必启用日志记录和警报。

  • 恢复选项:如果要防止强制删除机密,请启用软删除和清除保护。