Mục tiêu bài học
Tách tài liệu compliance, identity cho người dùng ứng dụng và secret runtime.
Bài giảng chi tiết
Bài toán thực tế
Một sản phẩm có người dùng đăng nhập, backend cần database password và auditor yêu cầu SOC report. Team đang gom mọi thứ vào IAM; bài học phân biệt identity ứng dụng, secret runtime, AWS permission và compliance evidence.
Đừng học nội dung này như một danh sách tên dịch vụ. Hãy đi theo chuỗi: requirement → khái niệm → quyết định → bằng chứng. Một câu trả lời tốt phải nói được vì sao lựa chọn phù hợp, phương án gần nhất bị loại ở đâu, và kiểm tra nào chứng minh lựa chọn đó hoạt động.
Khái niệm được giải thích theo scenario
- Cognito hỗ trợ sign-up/sign-in/federation cho user ứng dụng; không thay IAM cho quyền AWS backend.
- Secrets Manager lưu/retrieve/rotation secret runtime; secret vẫn cần IAM permission và rotation strategy.
- Artifact cung cấp report/agreement compliance của AWS; không chứng minh workload của khách hàng tự compliant.
- Shared compliance yêu cầu xác định control của AWS và control của khách hàng.
Ví dụ khi gặp một scenario mới, hãy thay các từ khóa trong đề bằng một hệ thống cụ thể: ai là người dùng, dữ liệu đi qua đâu, thành phần nào có thể lỗi, quyền nào cần có và điều gì phải được quan sát. Cách làm này giúp phân biệt các đáp án gần đúng thay vì chọn theo trí nhớ tên service.
flowchart LR
A[Scenario / requirement] --> B[Concept and boundary]
B --> C[Service or control choice]
C --> D[Evidence and trade-off]
D --> E[Failure variant]
Khái niệm cốt lõi
Artifact cung cấp report/agreement compliance của AWS. Cognito quản lý sign-up, sign-in và federation cho người dùng ứng dụng. Secrets Manager lưu, truy xuất và hỗ trợ rotation secret như database password. Compliance là phần việc chung: bằng chứng của AWS không tự chứng minh workload của khách hàng compliant.
Ví dụ giảng viên: phân loại một quyết định cloud
Bốn nhu cầu có bốn boundary: Cognito là identity của user ứng dụng; Secrets Manager là secret runtime; IAM là quyền gọi AWS API; Artifact là evidence/agreement của AWS. Nếu backend dùng Cognito token để tự động có quyền S3 mà không có mapping/role rõ ràng, authentication đã bị nhầm với authorization.
Failure drill: secret bị log, user app được cấp quyền AWS quá rộng, auditor yêu cầu evidence workload nhưng team chỉ đưa Artifact report. Với mỗi trường hợp, ghi principal, resource, evidence và control còn thiếu.
Thực hành có kiểm soát
Lập bảng “người dùng app”, “mật khẩu database”, “báo cáo SOC”, “quyền đọc secret”. Chọn Cognito, Secrets Manager, Artifact hoặc IAM và ghi thêm control cần kiểm tra.
Expected state và recovery
Trước khi thực hành, ghi rõ target/account/region, trạng thái hiện tại và output mong đợi. Sau thao tác, kiểm chứng bằng trạng thái thực tế hoặc command phù hợp; nếu kết quả sai, giữ lại evidence, quay về thay đổi nhỏ nhất và cleanup đúng owner. Không coi exit code 0 hoặc thông báo “success” là bằng chứng duy nhất.
- Phân biệt Cognito với IAM Identity Center/IAM role.
- Chọn Secrets Manager cho password runtime và nêu rotation.
- Chọn Artifact cho AWS compliance report.
- Giải thích report của AWS không tự chứng minh app customer compliant.
Bẫy đề thi và cách tự kiểm tra
Cognito không phải IAM thay thế cho quyền AWS API của backend. Secrets Manager không phải nơi lưu source code. Artifact không phải vulnerability scanner.