您可以将 S3 兼容快照存储的 Amazon Web Services 凭证存储在 MongoDB Ops Manager 应用程序数据库或 HashiCorp Vault 中。将凭证存储在密钥保管库中时,MongoDB Ops Manager 会按需从 HashiCorp Vault 中提取凭证。按需提取有助于集中、轮换和 Atlas 审核敏感凭证。
MongoDB Ops Manager 支持 HashiCorp Vault 和本地凭证存储。您可为每个 S3兼容快照存储选择要使用的方法。
凭证存储选项
MongoDB Ops Manager支持两个凭证存储位置,用于 S3兼容快照存储:
存储位置 | 说明 |
|---|---|
AppDB | Ops Manager 将 Amazon Web Services 访问密钥和秘密密钥存储在 Ops Manager 应用程序数据库中。AppDB 是默认方法,不需要 HashiCorp Vault。 |
密钥保管 | MongoDB Ops Manager 按需从 HashiCorp Vault 读取 Amazon Web Services 访问密钥和秘密密钥。MongoDB Ops Manager 仅存储每个秘密的路径,而不是秘密值。 |
当安全或 Atlas 审核要求调用集中式秘密管理器时,请使用密钥保管库。如果您未使用 HashiCorp Vault,请使用 AppDB。
Ops Manager 如何使用 HashiCorp Vault
要将 HashiCorp Vault 用于 S3兼容快照存储凭证,必须完成两个配置任务:
创建密钥保管库配置,用于存储 HashiCorp Vault 服务器的连接和身份验证详情。要了解具体操作,请参阅为快照存储配置密钥保管。
配置与 S3 兼容的快照存储以使用密钥保管库。您指定密钥保管库、Amazon Web Services 访问密钥的路径以及 Amazon Web Services 秘密密钥的路径。MongoDB Ops Manager 从密钥保管库读取凭证并将其传递给 Amazon Web Services S3。要了解具体操作,请参阅 添加一个与 S3 兼容的快照存储。
MongoDB Ops Manager 使用令牌或 JSON web token 对 HashiCorp Vault 进行身份验证。然后,MongoDB Ops Manager 从为快照存储指定的秘密路径中读取 Amazon Web Services 访问密钥和秘密钥。每个路径的形式为 <secret-path>/<key>。
凭证检索和缓存
MongoDB Ops Manager 从 HashiCorp Vault 读取 Amazon Web Services 访问密钥和秘密密钥,并将其缓存在内存中。MongoDB Ops Manager 不会将这些凭证存储在 MongoDB Ops Manager 应用程序数据库中。
默认情况下,MongoDB Ops Manager 每五分钟刷新一次缓存凭证。要更改此间隔,请设置 mms.keyVault.secret.cacheSoftTtlMs 属性。
如果 Ops Manager 刷新缓存凭证时 HashiCorp Vault 不可用,Ops Manager 将继续使用上次已知凭证并日志事件,以便现有备份继续进行。如果不存在缓存凭证且 Ops Manager 无法访问 HashiCorp Vault,则需要凭证的操作将失败。
重要
MongoDB Ops Manager 没有专门用于 HashiCorp Vault 可用性的警报。如果 Vault 变得无法访问且没有缓存凭证,则产生的备份失败会 trigger 适用于任何失败备份作业的相同备份警报。配置备份警报以接收这些警报。要了解具体操作,请参阅配置警报设置。
当 MongoDB Ops Manager 验证使用密钥保管库的 S3 兼容快照存储并且 S3 返回 401 或 403 错误时,MongoDB Ops Manager 会从 HashiCorp Vault 刷新凭证一次,然后重试。如果重试也失败,MongoDB Ops Manager 会返回错误,并且验证失败。
安全性
MongoDB Ops Manager 会以下方式保护您的 HashiCorp Vault 身份验证详情:
MongoDB Ops Manager 使用
gen.key文件对静态的 Vault 身份验证秘密进行加密,这与 MongoDB Ops Manager 对其他集成使用的方法相同。MongoDB Ops Manager 在 API 响应和 MongoDB Ops Manager 控制台中对 Vault 身份验证秘密和任何自定义证书进行匿名。MongoDB Ops Manager 返回
[REDACTED]而不是存储值。
要求
要将 HashiCorp Vault 用作 S3兼容快照存储凭证,您需要:
可访问的 HashiCorp Vault 部署。
授予 MongoDB Ops Manager 对 Amazon Web Services 凭证的只读访问权限的 Vault 策略、角色和秘密路径。
Ops Manager、备份守护程序和 HashiCorp Vault 之间安全可靠的网络连接。
将现有快照存储迁移到 HashiCorp Vault
要将现有的 S3兼容快照存储从本地凭证切换到 HashiCorp Vault:
创建密钥保管库配置,如 为快照存储配置密钥保管库 所述。
编辑 S3兼容快照存储,并将其凭证存储位置设置为密钥保管,如 编辑一个现有的 S3兼容快照存储 所述。