AWS Secrets Manager 热门2018年〜
安全管理数据库凭证和 API 密钥等机密信息的服务
它能做什么
AWS Secrets Manager 是一项安全存储、管理和自动轮换数据库凭证、API 密钥、OAuth 令牌等机密信息的服务。应用通过 API 在运行时获取机密信息,无需在代码或配置文件中硬编码。支持 RDS、Redshift、DocumentDB 的自动密码轮换。
使用场景
用于数据库密码的安全管理和自动轮换、第三方 API 密钥的集中管理、应用配置中敏感信息的外部化、合规要求下的凭证定期更新。
日常类比
可以比作保险柜管理服务。将重要的钥匙(密码)存放在保险柜(Secrets Manager)中,需要时通过身份验证取出。保险柜还会定期自动更换锁芯(密码轮换)。
什么是 Secrets Manager
AWS Secrets Manager 是一项机密信息管理服务。将密码等敏感信息从应用代码中分离,集中安全管理。机密信息使用 KMS 加密存储,通过 IAM 策略控制访问权限。支持跨区域复制实现灾难恢复。
自动轮换
Secrets Manager 的核心功能是自动密码轮换。为 RDS、Aurora、Redshift、DocumentDB 提供内置的轮换 Lambda 函数。设置轮换计划后,Secrets Manager 自动生成新密码、更新数据库、更新存储的机密值。应用下次获取时自动使用新密码,无需停机。 如需深入了解自动轮换的知识,可参考相关书籍(Amazon)。
开始使用
在 Secrets Manager 控制台创建机密,输入键值对(如用户名和密码)。在应用中使用 AWS SDK 的 GetSecretValue API 获取机密值。对于 RDS 数据库,可以在创建机密时选择数据库并配置自动轮换。
注意事项
- 每个机密按月收费,加上 API 调用次数费用
- 与 Parameter Store 的 SecureString 相比,Secrets Manager 提供自动轮换功能