Secrets Manager 最佳实践 - Amazon Secrets Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

Secrets Manager 最佳实践

以下建议可以帮助您更安全地使用 Amazon Secrets Manager:

保护其他敏感信息

密钥通常包含更多的信息,不仅仅是用户名和密码,例如密码提示。请参阅 保护其他敏感信息

使用客户端缓存提高性能

要最高效地使用您的密钥,请在客户端上缓存您的密钥,并在密钥更改时更新缓存。请参阅 缓存密钥以提高性能

将重试添加到您的应用程序

您的 Amazon 客户端可能会看到 Secrets Manager 的调用由于速率限制而失败。当您超过 API 请求配额时,Secrets Manager 会限制请求。要响应,请使用退避和重试策略。请参阅 将重试添加到您的应用程序

降低记录和调试 Lambda 函数的风险

您创建自定义 Lambda 轮换函数时,请慎重地在函数中包括调试或日志记录语句。这些语句可导致函数中的信息写入 Amazon CloudWatch 中,因此请确保日志中不包含密钥中的任何敏感数据。如果您在代码中确实包含了此类语句以进行测试和调试,请确保在生产中使用代码之前进行了删除。还要删除包含开发期间收集的敏感信息的所有日志。

支持数据库的 Lambda 函数不包括日志记录和调试语句。

降低使用 Amazon CLI 存储密钥的风险

当您使用 Amazon CLI 并在命令 shell 中输入命令,存在访问命令历史记录或实用程序可以访问您命令参数的风险。请参阅 降低使用 Amazon CLI 存储密钥的风险

在 VPC 中运行所有内容

我们建议您在无法从私有网络访问的专用网络上运行尽可能多的基础设施。请参阅 在 VPC 中运行所有内容

按计划轮换密钥

如果您很长一段时间未更改密钥,密钥泄露的可能性就会增大。我们建议您每 30 天轮换一次密钥。请参阅 轮换您的 Amazon Secrets Manager 密钥

监控您的密钥

监控您的密钥,并录入对密钥进行的任何更改。如果您需要调查任何意外的使用或更改,您可以使用日志,并回滚不需要的更改。您还可以设置自动检查不当使用密钥的机制和任何尝试删除密钥的机制。请参阅 监控您的 Amazon Secrets Manager 密钥的使用

使用 Secrets Manager 为 Lambda 函数提供凭据

使用 Secrets Manager 可以安全地向 Lambda 函数提供数据库凭据,而无需在代码中对密码进行硬编码或通过环境变量传递这些密码。请参阅如何通过使用 Amazon Secrets Manager 安全地向 Lambda 函数提供数据库凭据。

有关最佳实践的更多资源

有关更多资源,请参阅安全性支柱-Amazon Well-Architected 框架