发现 Azure Key Vault 最佳做法
Azure Key Vault 是用于安全存储和访问机密的工具。 机密是想要严格控制对访问权限的任何内容,例如 API 密钥、密码或证书。 保管库是秘密的逻辑组。
认证
若要使用 Key Vault 执行任何作,首先需要对其进行身份验证。 可通过三种方法向 Key Vault 进行身份验证:
Azure 资源的托管标识:在 Azure 中的虚拟机上部署应用时,可以将标识分配给有权访问 Key Vault 的虚拟机。 还可以将标识分配给其他 Azure 资源。 此方法的好处是应用或服务不管理第一个机密的轮换。 Azure 会自动轮换与标识关联的服务主体对象的客户端密钥。 建议使用此方法作为最佳做法。
服务主体和证书:可以使用有权访问 Key Vault 的服务主体和关联的证书。 不建议使用此方法,因为应用程序所有者或开发人员必须轮换证书。
服务主体和机密:尽管可以使用服务主体和机密向 Key Vault 进行身份验证,但我们不建议使用它。 很难自动轮换用于向 Key Vault 进行身份验证的启动机密。
传输中的数据加密
Azure Key Vault 在 Azure Key Vault 和客户端之间传输时强制实施传输层安全性(TLS)协议来保护数据。 客户端与 Azure Key Vault 协商 TLS 连接。 TLS 提供强大的身份验证、消息隐私和完整性(允许检测消息篡改、拦截和伪造)、互作性、算法灵活性以及部署和使用方便。
完美转发保密(PFS)通过唯一密钥保护客户客户端系统和Microsoft云服务之间的连接。 连接还使用基于 RSA 的 2,048 位加密密钥长度。 这种组合使得有人难以截获和访问传输中的数据。
Azure Key Vault 最佳做法
使用单独的密钥保管库: 建议为每个环境使用每个应用程序的保管库(开发、预生产和生产)。 此模式有助于不跨环境共享机密,并且如果存在泄露,也会降低威胁。
控制对保管库的访问: Key Vault 数据很敏感,业务关键是需要通过仅允许授权的应用程序和用户来保护对密钥保管库的访问。
备份: 在保管库中更新/删除/创建对象时创建保管库的常规备份。
日志记录: 请务必打开日志记录和警报。
恢复选项: 如果要防止强制删除机密,请启用 软删除 和清除保护。