一、介绍
1、简介
AWS Secrets Manager 是一个托管的机密管理服务,用于保护应用程序、服务和 IT 资源中的机密信息。它支持安全地存储、管理和访问应用程序所需的机密数据,比如数据库凭证、API 密钥、访问密钥等。通过 Secrets Manager,你可以轻松管理、轮换和访问这些机密信息,而无需将其硬编码在应用程序中。
-
安全存储敏感数据(账号、密码、API Token、私钥等)
-
自动加密(使用 KMS)
-
自动轮换(如定期更换数据库密码)
-
控制访问权限(基于 IAM)
-
与 AWS 服务(如 Lambda、RDS、ECS)无缝集成
2、主要功能
- 存储机密数据:例如数据库密码、API 密钥、TLS/SSL 证书等。
- 自动轮换:Secrets Manager 可以自动轮换你的机密数据(如数据库密码),确保敏感数据的安全。
- 访问控制:通过 AWS IAM,Secrets Manager 允许你精细控制哪些用户或应用程序可以访问特定的机密。
- 审计和监控:通过 AWS CloudTrail,Secrets Manager 提供了对机密访问的详细审计日志,以便你跟踪谁访问了机密数据。
- 与其他 AWS 服务集成:可以与 Amazon RDS、Amazon Redshift、Amazon ECS 等服务进行无缝集成,自动管理机密数据。
3、能存什么
(1)存任何字符串类型的秘密
如
{
"username": "admin",
"password": "MySecurePassword123"
}
(2)API Key
(3)SSH 密钥
(4)加密证书
(5)自定义 token
(6)整段 JSON
4、使用场景
| 场景 | 示例 |
|---|---|
| 数据库密码 | 存储并自动轮换 RDS 密码 |
| 应用配置 | 存储私密 API Key,如 Stripe、Slack 等 |
| 多环境机密 | /dev/db/secret, /prod/db/secret |
| Kubernetes | 与 Secrets Manager CSI Driver 配合使用 |
5、和KMS的区别
| 项目 | 类比解释 |
|---|---|
| KMS(Key Management Service) | 它是“金库”,专门存放加密密钥。可以用来加密/解密,但不保存数据本身。 |
| Secrets Manager | 它是“保险箱”,专门存储密码、API 密钥等敏感数据,内部用 KMS 来加密数据。你可以直接读取密文或明文。 |
两者可以一起使用:Secrets Manager 依赖于 KMS 来加密存储的敏感信息。所以如果你同时需要管理加密密钥和存储敏感数据,通常会将它们结合使用。

二、aws控制台操作
aws控制台搜索Secrets Manager,之后点击store a new secret进入创建导引。

1、选择机密类型

并在底部选择一个数据源

也可以选择非数据库密钥

2、配置机密

3、配置旋转
4、示例代码
点击Next完成创建,最后会给出示例代码

// Use this code snippet in your app.
// If you need more information about configurations or implementing the sample
// code, visit the AWS docs:
// https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/home.html
// Make sure to import the following packages in your code
// import software.amazon.awssdk.regions.Region;
// import software.amazon.awssdk.services.secretsmanager.SecretsManagerClient;
// import software.amazon.aws

最低0.47元/天 解锁文章
652

被折叠的 条评论
为什么被折叠?



