AWS Secrets Manager là gì
AWS Secrets Manager là dịch vụ được thiết kế để lưu trữ, quản lý và tự động rotation secrets như:
- Database credentials.
- API keys.
- Tokens.
- Passwords hoặc các thông tin nhạy cảm khác.
Mục tiêu: loại bỏ việc hard-code secrets vào code hoặc config file, đồng thời tăng cường bảo mật.
Cách hoạt động
- Bạn tạo một secret trong Secrets Manager.
- Ví dụ: username/password kết nối tới RDS Database.
- Secrets được mã hóa bằng AWS KMS.
- Ứng dụng (EC2, Lambda, ECS, EKS…) sử dụng API call hoặc SDK để lấy secret.
- Secrets Manager có thể tự động rotation thông qua integration với Lambda.
- Ví dụ: mỗi 30 ngày đổi password database → ứng dụng không cần cập nhật lại code.
Các tính năng chính
1. Secure Storage
- Secrets luôn được mã hóa bằng AWS KMS.
- Có thể kiểm soát quyền truy cập bằng IAM policies.
2. Automatic Rotation
- Tích hợp với Amazon RDS, Aurora, Redshift.
- Cho phép định nghĩa Lambda function để rotate secrets custom.
3. Fine-grained Access Control
- Chỉ những ứng dụng/role được cấp quyền IAM mới có thể lấy secret.
- Tích hợp CloudTrail để audit mọi truy cập.
4. Cross-region & Multi-account Access
- Secrets có thể replicate sang nhiều region.
- Dễ dàng chia sẻ giữa các AWS accounts (cross-account).
5. Monitoring & Audit
- Tích hợp CloudWatch và CloudTrail để giám sát việc truy cập và thay đổi secrets.
So sánh với SSM Parameter Store
| Tiêu chí | Secrets Manager | SSM Parameter Store |
|---|---|---|
| Mục đích chính | Secrets (password, API key, DB) | Configs & parameters |
| Rotation | Có (built-in, tự động) | Không có rotation tự động |
| Chi phí | Có phí (per secret/month + API call) | Miễn phí (Standard), phí với Advanced |
| Integration | DB rotation, cross-account | Config injection, env variables |
| Best use case | Secrets nhạy cảm, cần rotate | Config chung, ít thay đổi |
Best practice:
- Secrets Manager cho secrets quan trọng, cần rotation.
- Parameter Store cho configuration values ít thay đổi.
Use Cases
- Lưu trữ database credentials cho RDS/Aurora.
- Lưu API keys của bên thứ 3 (Stripe, Slack, GitHub).
- Quản lý secrets cho microservices (ECS, EKS, Lambda).
- Hỗ trợ compliance yêu cầu key rotation.
Pricing của Secrets Manager
- $0.40 / secret / tháng (mỗi secret).
- $0.05 / 10.000 API calls để retrieve secrets.
- Extra chi phí cho cross-region replication.