Mục tiêu học tập
- Hiểu Amazon Macie: phát hiện dữ liệu nhạy cảm trong S3
- Nắm Secrets Manager vs SSM Parameter Store — chọn đúng theo đề
- Tích hợp secrets vào pipeline (Glue, Lambda, Redshift, DMS)
- Biết các dịch vụ security lân cận: GuardDuty, Security Hub (mức nhận biết)
1. Amazon Macie
Khái niệm
Dịch vụ dùng ML + pattern matching để phát hiện dữ liệu nhạy cảm (PII, tài chính, credentials) trong S3 và đánh giá tư thế bảo mật bucket.
Điểm thi
- "Discover PII in S3 data lake" / "scan S3 for sensitive data" → Macie (gần như one-to-one)
- Macie chỉ quét S3 — không quét RDS/DynamoDB/Redshift (Redshift/Glue có tính năng PII riêng — bài mai)
- Custom data identifier: regex cho định dạng nội bộ (mã nhân viên, số hợp đồng)
- Tự động hóa: finding "bucket public" → EventBridge → Lambda chặn (remediation)
2. Secrets Manager vs SSM Parameter Store
| Secrets Manager | SSM Parameter Store | |
|---|---|---|
| Mục đích | Credentials/secrets | Config + secrets nhẹ (SecureString) |
| Rotation tự động | Có (managed cho RDS/Redshift/DocumentDB; Lambda tùy ý) | Không (tự xây) |
| Cross-account | Có (resource policy) | Hạn chế (advanced) |
| Giá | ~$0.40/secret/tháng + API | Standard miễn phí |
| Tích hợp data services | Glue connections, DMS endpoints, Redshift COPY... native | Đọc qua API |
Quy tắc chọn: cần rotation tự động hoặc tích hợp native database credentials → Secrets Manager; config thường/ít nhạy cảm, muốn miễn phí → Parameter Store.
Tích hợp trong pipeline
- Glue connection: chọn secret thay vì nhập user/password
- DMS endpoint: secret cho source/target database
- Lambda: đọc secret lúc runtime (cache bằng extension/Powertools — đừng gọi API mỗi invocation)
- Redshift: query editor/Data API auth bằng secret
- Anti-pattern trong đề: credentials trong code / env var plaintext / job parameters / file cấu hình trên S3 — luôn sai
3. Các mảnh ghép security lân cận (nhận biết)
| Dịch vụ | Một câu |
|---|---|
| GuardDuty | Threat detection từ log (CloudTrail, VPC Flow, DNS...) — phát hiện hành vi bất thường, kể cả S3 protection (đọc dữ liệu bất thường) |
| Security Hub | Tập hợp findings (Macie, GuardDuty, Config...) + chấm điểm chuẩn (CIS, FSBP) |
| AWS Config | Ghi cấu hình tài nguyên + rules ("bucket phải mã hóa") + auto remediation |
| IAM Access Analyzer | Phát hiện resource share ra ngoài (bucket, key, role) |
Phân vai nhanh: nội dung dữ liệu nhạy cảm → Macie; hành vi đe dọa → GuardDuty; cấu hình lệch chuẩn → Config; tổng hợp → Security Hub.
Câu hỏi ôn tập
-
Compliance yêu cầu xác định mọi object chứa PII trong data lake S3 hàng trăm TB và cảnh báo khi phát hiện mới. Giải pháp?
Xem đáp án
Amazon Macie: bật automated sensitive data discovery (sampling liên tục) hoặc discovery job định kỳ trên các bucket lake; findings đẩy qua EventBridge → SNS (hoặc Security Hub) để alert/ticket. Managed data identifiers phủ PII phổ biến; thêm custom identifier (regex) cho mã nội bộ.
-
Glue job kết nối PostgreSQL on-prem; mật khẩu phải rotate 30 ngày/lần không sửa job. Thiết kế?
Xem đáp án
Lưu credential trong Secrets Manager, Glue connection tham chiếu secret (không hardcode); bật rotation với Lambda rotation function (với RDS thì managed rotation sẵn). Job lấy credential mỗi lần chạy qua connection → rotation không đòi sửa job. IAM role của Glue cần
secretsmanager:GetSecretValue(+ KMS decrypt trên key của secret). -
Khi nào Parameter Store đủ thay vì Secrets Manager?
Xem đáp án
Khi lưu config (endpoint, feature flag, tham số job) hoặc secret không cần rotation tự động và muốn miễn phí (standard tier, SecureString mã hóa KMS được). Cần rotation managed, cross-account resource policy, hay tích hợp native (Glue/DMS/RDS) → Secrets Manager. Đề nhắc "automatic rotation" là dấu hiệu Secrets Manager.
-
Macie có quét được bảng Redshift hoặc DynamoDB không? Nếu không thì làm gì?
Xem đáp án
Không — Macie chỉ quét S3. Với store khác: export/unload mẫu dữ liệu ra S3 rồi cho Macie quét; hoặc dùng tính năng tại chỗ — Glue "Detect PII" transform trong ETL, Redshift dynamic data masking sau khi tự phân loại. Câu hỏi "PII in S3" → Macie; "PII trong pipeline Glue" → Detect PII transform.
-
Phân vai: (a) phát hiện access key AWS bị commit vào file trong S3; (b) phát hiện EC2 gọi domain đào coin; (c) phát hiện bucket không bật mã hóa.
Xem đáp án
(a) Macie — quét nội dung object, có managed identifier cho AWS credentials; (b) GuardDuty — threat detection trên DNS/VPC Flow logs; (c) AWS Config rule (
s3-bucket-server-side-encryption-enabled) — cấu hình lệch chuẩn, kèm auto remediation. Cả ba đổ về Security Hub để nhìn một chỗ.
Bài tập thực hành
- Bật Macie trong account lab, chạy discovery job trên bucket chứa file CSV có email/số điện thoại giả
- Tạo secret trong Secrets Manager, gắn vào một Glue connection
- Viết custom data identifier regex cho định dạng "EMP-XXXXX"
- Đọc Secrets Manager rotation
Tài liệu tham khảo chính thức
Tiếp theo: Data Privacy và Masking