AWS ML Security
#exam-tip
Mục lục
- AWS ML Security
- 1. Tổng quan
- 2. Các Nguyên tắc Bảo mật Cốt lõi
#important - 3. Mã hóa (Encryption)
#important - 4. Quản lý Danh tính & Truy cập (IAM - Identity and Access Management)
#important#exam-tip - 5. Bảo mật Mạng (Network Security)
#important - 6. Các Dịch vụ Bảo mật (Security Services)
#exam-tip - 7. Tổng hợp Thực tiễn Tốt nhất về Bảo mật (Security Best Practices Summary)
#exam-tip - 8. Các Kịch bản Bài thi Thường gặp (Common Exam Scenarios)
#important - Related Topics
1. Tổng quan
Các lưu ý về bảo mật và tuân thủ dành cho các workloads machine learning trên AWS.
2. Các Nguyên tắc Bảo mật Cốt lõi #important
2.1 Nguyên tắc Quyền Tối thiểu (Principle of Least Privilege) #exam-tip
Định nghĩa: Chỉ cấp những quyền tối thiểu nhất vừa đủ để thực hiện một tác vụ cụ thể.
Tại sao lại Quan trọng:
- Thu hẹp phạm vi ảnh hưởng (blast radius) nếu xảy ra vi phạm bảo mật.
- Hạn chế những pha “lỡ tay” gây hậu quả nghiêm trọng.
- Đáp ứng các yêu cầu về tuân thủ pháp lý (compliance).
- Là thực tiễn tốt nhất (best practice) chung cho mọi dịch vụ AWS.
Ứng dụng trong ML: #exam-tip
| Tình huống | Triển khai Quyền Tối thiểu |
|---|---|
| Training Job | IAM role CHỈ có quyền truy cập vào: các S3 buckets cụ thể (chứa training data), ECR (chứa container images), và CloudWatch Logs. |
| Data Scientist | IAM policy cho phép dùng SageMaker Studio, cấp quyền chỉ đọc (read-only) đối với S3, KHÔNG CÓ quyền xóa các production endpoints. |
| Inference Endpoint | IAM role CHỈ có quyền truy cập vào: các model artifacts trên S3, CloudWatch Logs, KHÔNG CÓ quyền chạy training. |
| Lambda Function | CHỈ có quyền gọi (invoke) SageMaker endpoint, KHÔNG CÓ quyền đụng vào S3 hay các dịch vụ khác. |
Kịch bản Bài thi: #exam-tip
- “Data scientist lỡ tay xóa mất mô hình production” → Triển khai quyền tối thiểu (cấp quyền read-only cho các role phi-production).
- “Giảm thiểu rủi ro bảo mật cho các training jobs” → Tạo IAM role chỉ cấp quyền truy cập vào đúng cái S3 bucket cần thiết.
- “Bảo mật cho inference endpoint” → Dùng IAM role riêng biệt cho endpoints, tuyệt đối không cấp quyền training.
Thực tiễn Tốt nhất:
- Tạo các IAM roles riêng biệt cho khâu training, inference, and development.
- Dùng resource-based policies để siết chặt quyền truy cập vào những S3 buckets/paths cụ thể.
- Tránh xài quyền đại trà (wildcard) (
s3:*là rất dở,s3:GetObjectmới là chuẩn). - Kiểm toán thường xuyên (Regular audits) - Đọc lại các IAM policies hàng quý.
- Dùng IAM Access Analyzer - Quét xem có policy nào đang cấp quyền quá trớn không.
Ví dụ: Role dành cho Training Job (Chuẩn)
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Resource": [
"arn:aws:s3:::my-training-data/*",
"arn:aws:s3:::my-models/*"
]
}
Ví dụ: Quá Dễ dãi (Tệ)
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": "*"
}
2.2 Che giấu và Ẩn danh Dữ liệu (Data Masking & Anonymization) #exam-tip
Mục đích: Bảo vệ dữ liệu nhạy cảm nhưng vẫn giữ lại được giá trị cốt lõi để đem đi train ML.
Các Khái niệm Chính:
1. Che giấu Dữ liệu (Data Masking)
Định nghĩa: Thay thế dữ liệu nhạy cảm bằng dữ liệu giả nhưng trông y như thật.
Các Kỹ thuật:
- Thay thế (Substitution): Thay tên thật bằng tên giả.
- Xáo trộn (Shuffling): Xáo trộn ngẫu nhiên thứ tự các giá trị trong một cột.
- Bôi đen (Redaction): Thay thế bằng dấu sao hoặc khoảng trắng (ví dụ: “*--1234”).
- Che một phần (Masking): Che đi khúc giữa (ví dụ: “joh***@email.com”).
Use Case: Môi trường phi-production (testing, development).
2. Ẩn danh (Anonymization)
Định nghĩa: Loại bỏ vĩnh viễn các thông tin nhận dạng cá nhân (PII - Personally Identifiable Information).
Các Kỹ thuật:
- Khái quát hóa (Generalization): “Tuổi: 32” → biến thành “Tuổi: 30-40”.
- Triệt tiêu (Suppression): Xóa xổ luôn toàn bộ trường dữ liệu (ví dụ: xóa luôn cột Họ tên).
- Biệt danh hóa (Pseudonymization): Thay thế bằng một mã định danh ngẫu nhiên (ví dụ: ID-12345).
- Nhiễu loạn (Perturbation): Bơm thêm nhiễu vào dữ liệu (cơ chế differential privacy).
Use Case: Dữ liệu Production, nơi mà yêu cầu bắt buộc là không bao giờ được phép dò ngược lại danh tính thật.
3. Mã thông báo (Tokenization)
Định nghĩa: Thay dữ liệu nhạy cảm bằng một token, và lưu cái bảng ánh xạ (mapping) sang một chỗ khác.
Ví dụ:
- Thẻ tín dụng: 4532-1234-5678-9010 → biến thành TOKEN-ABC123.
- Bảng ánh xạ từ TOKEN sang số thẻ thật được cất ở một cái két sắt (vault) bảo mật.
Use Case: Xử lý thanh toán, những lúc cần phải dò ngược lại dữ liệu thật (reverse mapping).
Các Dịch vụ AWS chuyên trị Bảo vệ Dữ liệu: #important
| Dịch vụ | Mục đích | Use Case |
|---|---|---|
| Amazon Macie | Đánh hơi và phân loại PII trong S3 | Tìm diệt PII trước khi đem đi train |
| AWS Glue DataBrew | Che giấu dữ liệu trực quan (250+ phép biến đổi) | Mask dữ liệu trước lúc train ML |
| Lake Formation | Bảo mật tới cấp độ Cột (giấu các cột PII) | Kiểm soát ai được xem các cột nhạy cảm |
| Comprehend | Truy tìm PII trong văn bản | Lọc dữ liệu nhạy cảm nằm trong các tài liệu text |
| SageMaker Processing | Viết script che giấu (masking scripts) tự chế | Phục vụ logic ẩn danh phức tạp |
Kịch bản Bài thi: #exam-tip
| Kịch bản | Giải pháp |
|---|---|
| “Train mô hình nhưng không được để lộ tên khách hàng” | Dùng Biệt danh hóa (Pseudonymization) (thay tên bằng ID) |
| “Tìm toàn bộ PII trong mớ bòng bong S3 data lake trước khi train” | Dùng Amazon Macie |
| “Cho Data Scientists xem dữ liệu nhưng cấm xem cột số An sinh Xã hội (SSN)” | Dùng Lake Formation column-level security (bảo mật cấp cột) |
| “Che bớt thẻ tín dụng trong bộ data train” | Dùng Glue DataBrew xài các tính năng masking |
| “Tuân thủ luật GDPR (quyền được lãng quên - right to be forgotten)” | Dùng Ẩn danh (Anonymization) (xóa vĩnh viễn không thể khôi phục) |
| “Môi trường Testing đang cần data trông cho giống thật” | Dùng Che giấu (Data masking) (dữ liệu giả nhưng format y như thật) |
Thực tiễn Tốt nhất:
- Tìm PII trước đã - Ném Macie vào quét xem dữ liệu nhạy cảm đang nằm ở đâu.
- Xác định tính đảo ngược (reversibility) - Masking thì có thể đảo ngược lại, còn Anonymization thì một đi không trở lại.
- Test xem mô hình có bị ngu đi không - Phải đảm bảo quá trình che giấu không làm hỏng tính hiệu quả của mô hình.
- Kiểm toán quyền truy cập (Audit access) - Bật CloudTrail logs để coi đứa nào đang rình mò dữ liệu nhạy cảm.
- Tự động hóa - Dùng Glue DataBrew, SageMaker Processing để quá trình masking diễn ra đồng bộ.
Khái niệm K-Anonymity (Tính ẩn danh K): #exam-tip
- Định nghĩa: Mỗi dòng dữ liệu (record) sẽ không thể phân biệt được với ít nhất là k-1 dòng khác.
- Ví dụ: k=5 nghĩa là bạn không tài nào chỉ mặt điểm tên được một cá nhân cụ thể trong một nhóm ít hơn 5 người.
- Kỹ thuật: Khái quát hóa (generalize) dữ liệu cho đến khi nào từng nhóm k người đều chia sẻ chung một thuộc tính.
- Use Case: Publish dataset ra công chúng nhưng vẫn phải bảo vệ quyền riêng tư.
3. Mã hóa (Encryption) #important
Xem chi tiết tại hướng dẫn riêng: Mã hóa
Các chủ đề bao gồm:
- Mã hóa lúc nghỉ (at rest) và lúc vận chuyển (in transit).
- Mã hóa trong SageMaker (training volumes, model artifacts, kết nối giữa các containers).
- AWS KMS (Customer Master Keys, xoay vòng khóa, policies).
- AWS Secrets Manager (quản lý thông tin xác thực, tự động đổi pass).
Tóm tắt Nhanh:
| Kịch bản | Giải pháp |
|---|---|
| “Mã hóa training data trên S3” | SSE-KMS xài khóa do khách hàng tự quản lý (customer-managed key) |
| “Mã hóa đường truyền khi chạy distributed training” | Đặt tham số enable_inter_container_traffic_encryption=True |
| “Giấu password database cho SageMaker xài” | Bỏ vào AWS Secrets Manager |
| “Tuân thủ quy định bắt buộc phải xài khóa do công ty tự cấp” | Dùng KMS customer-managed CMK |
4. Quản lý Danh tính & Truy cập (IAM - Identity and Access Management) #important #exam-tip
4.1 Những Điều Cơ bản về IAM
Các Thành phần Nòng cốt:
1. Users (Người dùng)
- Từng cá nhân hoặc từng ứng dụng cụ thể.
- Thông tin xác thực dài hạn (Long-term credentials) (password + access keys).
- Best practice: Tuyệt đối không xài tài khoản root cho các công việc hàng ngày.
2. Groups (Nhóm)
- Tập hợp của nhiều Users
- Cấp quyền cho Group (chứ đừng đi cấp lắt nhắt cho từng User).
- Ví dụ: Tạo group “DataScientists” và quẳng quyền xài SageMaker cho cả group này.
3. Roles (Vai trò)
- Thông tin xác thực tạm thời (Temporary credentials) dành cho các dịch vụ AWS hoặc ứng dụng.
- Không có keys dài hạn (bảo mật hơn hẳn xài access keys).
- Dùng cho: EC2, Lambda, các SageMaker training jobs, các endpoints.
Users vs Roles: #exam-tip
| Tiêu chí | Users (Người dùng) | Roles (Vai trò) |
|---|---|---|
| Dành cho | Con người, ứng dụng bên ngoài | Các dịch vụ AWS, truy cập ngắn hạn |
| Thông tin xác thực | Dài hạn (access keys) | Ngắn hạn (STS tokens) |
| Tốt nhất cho | Định danh cá nhân | SageMaker jobs, EC2, Lambda |
| Đổi khóa (Rotation) | Phải làm bằng cơm | Auto đổi |
4. Policies (Chính sách)
- Là các tài liệu JSON định nghĩa chi tiết các quyền.
- Effect (Hiệu lực): Allow (Cho phép) hoặc Deny (Cấm cản).
- Action (Hành động): Được phép làm trò gì (ví dụ:
s3:GetObject). - Resource (Tài nguyên): Được phép làm trò đó trên cái gì (ví dụ: một cái S3 bucket cụ thể).
Ví dụ về Policy:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"sagemaker:CreateTrainingJob",
"sagemaker:DescribeTrainingJob"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Resource": "arn:aws:s3:::my-training-bucket/*"
}
]
}
4.2 IAM dành cho SageMaker #exam-tip
Các IAM Roles Phổ biến:
1. SageMaker Execution Role (Role Thực thi cho Training)
Ai xài: Các training jobs, processing jobs. Cần quyền truy cập vào:
- S3 (để đọc training data, ghi model artifacts).
- ECR (để kéo container images về).
- CloudWatch Logs (để ghi log).
- KMS (nếu có bật mã hóa).
Ví dụ Policy:
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:ListBucket",
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents",
"ecr:GetAuthorizationToken",
"ecr:BatchGetImage"
],
"Resource": [...]
}
2. SageMaker Endpoint Role (Role cho Endpoint)
Ai xài: Các Real-time endpoints. Cần quyền truy cập vào:
- S3 (để bốc model artifacts ra).
- CloudWatch Logs (để ghi log truy cập).
- ECR (để kéo inference container về).
3. Data Scientist Role (Role cho Người)
Ai xài: Con người bằng xương bằng thịt (data scientists, ML engineers). Cần quyền truy cập vào:
- SageMaker Studio.
- S3 (quyền đọc training data, quyền đọc/ghi các experiments).
- Quyền read-only đối với các production endpoints (TUYỆT ĐỐI KHÔNG cấp quyền delete).
Kịch bản Bài thi: #exam-tip
- “Training job không chui vào S3 lấy data được” → Kiểm tra xem cái IAM execution role có chứa quyền
s3:GetObjectchưa. - “Deploy endpoint bị lỗi” → Kiểm tra xem cái endpoint role có quyền móc model artifacts từ S3 ra chưa.
- “Chặn đứng mấy thanh niên data scientist lỡ tay xóa production models” → Gỡ quyền
sagemaker:DeleteModelra khỏi user policy của mấy ông đó.
4.3 SageMaker Role Manager #important #exam-tip
Mục đích: Đơn giản hóa việc đẻ IAM role cho SageMaker bằng các role templates (khuôn mẫu) có cấu hình sẵn, chuẩn chỉ theo nguyên tắc quyền tối thiểu (least-privilege).
Tại sao nó Lại Ra Đời:
- Việc ngồi gõ từng cái IAM role bằng tay rủi ro rất cao (lúc thì thiếu quyền, lúc thì cấp quyền thả cửa quá lố).
- Role Manager ném luôn cho bạn các templates chứa các quyền mà AWS đã kiểm duyệt là chuẩn mực.
- Tự động áp dụng nguyên tắc quyền tối thiểu (least privilege).
- Setup lẹ như chớp - Chả cần tự ngồi gõ mấy cái JSON policies dài ngoằng nữa.
Cách Hoạt Động:
1. Theo Hoạt động ML (ML Activities - Roles phân theo Tác vụ) Các roles cấu hình sẵn nhắm vào từng tác vụ ML cụ thể:
| Hoạt động ML | Mục đích | Các Quyền Được Bao gồm |
|---|---|---|
| Training | Dùng để train mô hình | S3 read/write, ECR pull, CloudWatch logs, SageMaker training APIs |
| Processing | Chạy các processing jobs | S3 read/write, CloudWatch logs, SageMaker processing APIs |
| Inference | Deploy endpoints | S3 read (model artifacts), CloudWatch logs, SageMaker endpoint APIs |
| Model Card Creation | Viết tài liệu (docs) cho mô hình | SageMaker model card APIs, S3 read |
2. Theo Chân dung Người dùng (Personas - Roles phân theo Người xài) Các roles cấu hình sẵn đo ni đóng giày cho từng vị trí nhân sự:
| Chân dung (Persona) | Mục đích | Các Quyền Được Bao gồm |
|---|---|---|
| Data Scientist | Vọc vạch ML thả ga | SageMaker Studio, training, experiments, endpoints (chỉ read-only đối với production) |
| ML Ops Engineer | Lo mảng deploy lên production | Pipelines, Model Registry, production endpoints, monitoring |
| ML Business Analyst | Chỉ xem (View-only) | Read-only cho SageMaker, xem experiments, coi dashboards |
Cách Sử dụng: #hands-on
import boto3
sagemaker_client = boto3.client('sagemaker')
# Đẻ một role dùng cho training thông qua Role Manager
response = sagemaker_client.create_role(
RoleName='MySageMakerTrainingRole',
RoleType='Training', # Xài template Training có sẵn
# Tự động Role Manager sẽ nhét đủ các quyền cần thiết vào
)
# Đẻ một role cho một Chân dung cụ thể
response = sagemaker_client.create_role(
RoleName='DataScientistRole',
RoleType='DataScientist',
# Auto có đủ đồ nghề: Studio, training, experiment
)
Lợi ích: #exam-tip
| Lợi ích | Mô tả |
|---|---|
| Quyền Tối thiểu | Các templates chỉ hở đúng những chỗ cần hở (không có xài wildcard) |
| Đã Test kỹ | Được AWS chống lưng và xác thực độ an toàn |
| Onboarding siêu tốc | Quăng role cho nhân viên mới vào làm chỉ mất vài phút |
| Tính Nhất quán | Mọi training roles đều có bộ quyền y chang nhau (siêu dễ quản lý) |
| Dễ dàng Kiểm toán | Mấy cái chuẩn form này bên kiểm toán nhìn vô là thích liền |
Kịch bản Bài thi: #exam-tip
| Kịch bản | Giải pháp |
|---|---|
| “Cần tạo nhanh một role để training mà phải chuẩn least privilege” | SageMaker Role Manager chọn nhóm ML Activity là Training |
| “Cần đồng bộ hóa IAM roles cho toàn bộ anh em trong team” | Chọn Role Manager personas (Data Scientist, MLOps Engineer) |
| “Thanh niên data scientist mới vào công ty cần xin quyền xài Studio” | Đắp luôn cho cái Role Manager Data Scientist persona |
| “Deploy endpoint nhưng muốn thắt chặt quyền tối đa” | Bốc cái Role Manager Inference ML Activity ra xài |
| “Bị sếp chửi vì hay cấu hình sai IAM” | Chuyển qua xài Role Manager pre-configured templates (bỏ trò gõ tay JSON đi) |
Role Manager vs Tự gõ IAM bằng tay: #exam-tip
| Tiêu chí | Role Manager | Tự gõ IAM (Manual IAM) |
|---|---|---|
| Tốc độ | Vài giây (chỉ việc click chọn template) | Tính bằng tiếng (hì hục viết policy rồi test lòi mắt) |
| Quyền Tối thiểu | Auto chuẩn | Dễ dính lỗi của con người (error-prone) |
| Đồng bộ | Răm rắp như một | Tùy hứng từng người viết |
| Trong bài thi | Lựa chọn Ưu tiên số 1 để Chuẩn hóa (Standardization) | Chỉ xài nếu gặp các yêu cầu siêu dị, siêu đặc thù (custom) |
Thực tiễn Tốt nhất:
- Quất Role Manager cho các nhu cầu phổ thông (training, inference, personas).
- Cần chế biến (Customize) thì: Cứ bốc cái template ra làm cốt, rồi đắp thêm quyền vào sau.
- Phổ cập cho toàn quân - Chuẩn hóa (Standardize) roles trên khắp mặt trận tổ chức.
- Năng review lại - Lâu lâu AWS lại nhét thêm quyền tính năng mới vào các templates.
Mẹo Bài thi (Exam Tip): #exam-tip
- “Chuẩn hóa (Standardize) IAM roles cho SageMaker” → Đánh SageMaker Role Manager.
- “Giảm thời gian lọ mọ tạo các roles quyền tối thiểu” → Chọn Role Manager templates.
- “Có thành viên mới (New team member) cần truy cập SageMaker” → Quăng cái Role Manager persona (Data Scientist) vào mặt.
4.4 Xác thực Đa yếu tố (IAM MFA - Multi-Factor Authentication) #exam-tip
Mục đích: Kẹp thêm một lớp bảo mật nữa (cái bạn CÓ + cái bạn BIẾT).
Các thể loại MFA:
- MFA Ảo (Virtual MFA) - Dùng Google Authenticator, Authy (app trên điện thoại).
- MFA Cứng (Hardware MFA) - Dùng khóa YubiKey, hoặc mấy con FIDO devices.
- SMS (Tin nhắn) - Đừng xài (không an toàn đâu).
Thực tiễn Tốt nhất:
- Ép MFA cho thằng root user (bắt buộc, sống chết cũng phải làm).
- Ép MFA cho dàn chóp bu (privileged users) (bọn admins, bọn được đụng vào production).
- Chặn từ cửa (Enforce MFA with IAM policy) (viết policy từ chối mọi truy cập nếu không đưa MFA ra).
Cái Policy Chặn Cửa (Enforce MFA Policy):
{
"Effect": "Deny",
"Action": "*",
"Resource": "*",
"Condition": {
"BoolIfExists": {
"aws:MultiFactorAuthPresent": "false"
}
}
}
Mẹo Bài thi:
- “Bảo mật truy cập cho những thằng có quyền to (privileged user access)” → Bật MFA.
- “Chống việc admin vô tình xóa nhầm dữ liệu” → Bắt phải nhập MFA mỗi khi thực hiện các hành vi phá hoại (destructive operations).
5. Bảo mật Mạng (Network Security) #important
Xem chi tiết tại hướng dẫn riêng: Bảo mật Mạng
Các chủ đề bao gồm:
- Sơ lòng về VPC (subnets, IGW, NAT Gateway).
- Security Groups và NACLs.
- VPC Endpoints (Gateway và Interface).
- VPC Peering và PrivateLink.
- VPN và Direct Connect.
- Cấu hình SageMaker VPC (SageMaker VPC Configuration).
Tóm tắt Nhanh:
| Kịch bản | Giải pháp |
|---|---|
| “SageMaker đang kẹt trong private subnet, muốn moi data từ S3” | S3 Gateway Endpoint (hàng chùa - free) |
| “Training job bị kẹt trong VPC cần mâm mạng để tải packages” | NAT Gateway hoặc VPC Endpoints |
| “Cấm cửa một cái IP cụ thể” | Phải dùng NACL (vì Security Groups không có luật Deny) |
| “Lambda dưới private subnet gọi tới endpoint” | Phải cài SageMaker Runtime Interface Endpoint |
6. Các Dịch vụ Bảo mật (Security Services) #exam-tip
6.1 Amazon Macie #important
Mục đích: Truy lùng (Discover) và bảo vệ dữ liệu nhạy cảm (sensitive data) phơi thây trên S3 bằng sức mạnh của machine learning.
Macie Có Tài Cán Gì:
- Tự động rà quét PII ẩn nấp trong các mớ S3 buckets.
- Phân loại dữ liệu (hồ sơ tài chính, thông tin danh tính, dữ liệu cá nhân).
- Bắn findings (kết quả dò quét) khi tóm được dữ liệu nhạy cảm.
- Giám sát ai đang sờ mó (Monitor access patterns) (báo động khi có truy cập lạ).
Những thứ PII bị Lật mặt:
- Tên họ, địa chỉ nhà, số An sinh Xã hội (SSN), số hộ chiếu.
- Số thẻ tín dụng, số tài khoản ngân hàng.
- Số bằng lái xe, số điện thoại, email.
- Địa chỉ IP, các khóa AWS credentials (để lọt mã nguồn).
Use Cases:
- Quét trạm thu phí (Pre-training scan) - Chặn PII lại trước khi đút vào cho model ăn.
- Tuân thủ (Compliance) - Đạt chuẩn GDPR, HIPAA, PCI-DSS (phải nắm rõ dữ liệu nhạy cảm nằm ở xó nào).
- Quản trị dữ liệu (Data governance) - Làm nguyên cái sổ kiểm kê các dữ liệu nhạy cảm trên toàn cõi S3.
Cách Nó Hoạt Động:
- Kích hoạt Macie cho cái AWS account.
- Chỉ định mấy cái S3 buckets muốn nó lùng sục.
- Macie xách đít đi chạy discovery jobs (nó xài ML + dò theo mẫu - pattern matching).
- Sếp ngồi coi báo cáo (findings) trên Macie console.
- Giải quyết (Remediate): Bắt mask lại, xóa đi, hoặc thắt chặt quyền truy cập.
Kịch bản Bài thi: #exam-tip
| Kịch bản | Giải pháp |
|---|---|
| “Cần dò tìm toàn bộ PII dưới S3 trước khi đem đi train ML” | Chọn Amazon Macie (chạy discovery job) |
| “Yêu cầu từ GDPR - hãy chỉ ra chỗ cất dữ liệu cá nhân” | Gọi Amazon Macie |
| “Báo động nếu có S3 bucket chứa PII nào bị lòi ra public” | Dùng Macie (nó tự hú còi) |
| “Phân loại mức độ nhạy cảm của mớ data trên S3” | Dùng Macie |
6.2 AWS WAF (Web Application Firewall) #exam-tip
Mục đích: Bảo vệ các web applications khỏi mấy trò hack thông thường.
Nó Đứng Gác ở Đâu:
- CloudFront (CDN)
- Application Load Balancer (ALB)
- API Gateway
Bảo vệ Khỏi (Protection Against):
- SQL injection - Bơm mã SQL bẩn vào requests.
- Cross-site scripting (XSS) - Nhét scripts độc hại.
- Tấn công DDoS - Lấy thịt đè người (Rate limiting - giới hạn số lượt truy cập).
- Bot traffic - Đuổi bọn bot dỏm.
- Geo-blocking (Chặn theo khu vực) - Cấm cửa nguyên một quốc gia.
Use Cases cho bên ML:
- Bảo kê cho cái inference API (Combo: API Gateway + Lambda + SageMaker).
- Giới hạn tốc độ (Rate limiting) - Chống bọn phá hoại spam calls làm lủng túi tiền inference endpoints.
- Cấm vận theo quốc gia (Geo-restrictions) - Chỉ cho dân mấy nước chỉ định được xài.
Vài Luật (Rules) Ví dụ:
- Chặn cổ mọi request có mang mấy cái chữ sặc mùi SQL trong query string.
- Giới hạn: Tối đa 1000 requests mỗi IP trong vòng 5 phút.
- Chặn toàn bộ traffic đến từ mấy cái IP thuộc diện tình nghi cao.
- Chỉ mở cửa cho mấy ông có User-Agent chuẩn.
Kịch bản Bài thi:
- “Bảo kê SageMaker inference API chống DDoS” → Build combo API Gateway + AWS WAF (có chặn rate limiting).
- “Chống SQL injection chọc ngoáy vào API” → Kích hoạt WAF và gài luật chống SQL injection.
6.3 AWS Shield #exam-tip
Mục đích: Tấm khiên chuyên chống DDoS (Distributed Denial of Service).
Phân Hạng (Tiers):
| Hạng | Mức độ Bảo vệ | Tiền | Phù hợp cho |
|---|---|---|---|
| Shield Standard (Thường) | Chống DDoS cơ bản (Layer 3/4) | Chùa (mặc định mở) | Mọi thần dân AWS |
| Shield Advanced (Vip) | DDoS xịn + 24/7 có lính cứu hỏa (DRT) canh gác | $3,000/tháng | Mấy cái app tỷ đô |
Shield Standard (Hàng Chùa):
- Mặc định bảo vệ bạn khỏi các đòn DDoS cỏ (SYN floods, UDP reflection).
- Ai xài AWS cũng được hưởng sái.
Shield Advanced (Khá chát - $$$):
- DDoS Response Team (DRT) - Có đội hỗ trợ kỹ thuật ngồi trực 24/7, bị đập là có người gọi điện liền.
- Bảo kê túi tiền (Cost protection) - Bọn nó DDoS làm server scale lên tốn mớ tiền? AWS sẽ trả lại tiền cho bạn (refund).
- Nhận diện siêu việt (Advanced detection) - Trấn áp tùy biến (Custom mitigation).
- Combo tặng kèm: Tặng luôn AWS WAF, bảo kê bao sân cho CloudFront, Route 53, ALB, ELB.
Kịch bản Bài thi:
- “Cần chống DDoS cơ bản cho cái inference endpoint” → Shield Standard (đồ free, auto có).
- “Cần chống DDoS tận răng, có người canh 24/7” → Shield Advanced.
- “Chống DDoS cho cái CloudFront distribution” → Shield Standard (auto có).
7. Tổng hợp Thực tiễn Tốt nhất về Bảo mật (Security Best Practices Summary) #exam-tip
7.1 Bảo mật Dữ liệu (Data Security)
- Mã hóa lúc nghỉ (Encryption at rest) - Phải bật cho S3, EBS, EFS (xài KMS).
✅ Mã hóa đường truyền (Encryption in transit) - Quấn TLS cho mọi kết nối (ép xài HTTPS). ✅ Che giấu dữ liệu (Data masking) - Chịu khó ẩn danh PII trước khi đem đi train (xài Glue DataBrew, Macie). ✅ Quản lý Khóa (Key management) - Dùng khóa KMS customer-managed CMK để đạt chuẩn compliance.
7.2 Kiểm soát Truy cập (Access Control)
✅ Quyền Tối thiểu (Least privilege) - Cắt bớt quyền, chỉ cấp đúng cái cần xài cho các IAM roles. ✅ Chia để trị (Separate roles) - Role để Training phải KHOÁC với Role để Inference, KHÁC luôn Role của User (người dùng). ✅ Bắt xài MFA (MFA for privileged users) - Chặn cửa bắt buộc xác thực 2 bước với đám Admins và bọn hay sờ vào production. ✅ Secrets Manager - TUYỆT ĐỐI không bao giờ hardcode (viết chết) password/thông tin xác thực vào code.
7.3 Bảo mật Mạng (Network Security)
✅ Nhốt vào VPC (VPC mode) - Vứt các endpoints vào trong private subnets để giấu kỹ các workloads nhạy cảm. ✅ Xài VPC Endpoints - Mua cái ống nước S3 Gateway Endpoint, và SageMaker Interface Endpoints. ✅ Security Groups - Bóp chặt đầu vào (inbound), chỉ mở đúng các port thật sự cần thiết. ✅ Say NO với public endpoints - Giữ mớ inference endpoints tránh xa ánh sáng mặt trời (private).
7.4 Giám sát & Tuân thủ (Monitoring & Compliance)
✅ CloudTrail - Con mắt thần lưu vết toàn bộ các pha gọi API (API calls). ✅ VPC Flow Logs - Camera quay lén đường truyền mạng (network traffic). ✅ Macie - Lùng sục và giấu đi PII dưới S3. ✅ CloudWatch Alarms - Hú còi ngay nếu đánh hơi thấy mùi khét (suspicious activity).
7.5 Món Riêng Của SageMaker (SageMaker-Specific)
✅ Bật mã hóa giao tiếp nội bộ (Enable inter-container encryption) - Nhất là lúc chạy Distributed training. ✅ Cấu hình VPC (VPC configuration) - Nhét vào Private subnets + Dùng VPC Endpoints. ✅ IAM execution roles - Tách riêng biệt ra cho từng use case một. ✅ Mã hóa Model artifacts - Đưa KMS vào bảo kê cho S3 storage.
8. Các Kịch bản Bài thi Thường gặp (Common Exam Scenarios) #important
| Kịch bản | Giải pháp |
|---|---|
| “Bảo mật khâu training trên một cục dữ liệu siêu nhạy cảm” | Combo: Nhốt VPC mode + Mã hóa (KMS) + Bóp quyền IAM role (least privilege) |
| “Training job kẹt trong VPC, đói mốc mỏ vì không moi được S3” | Phá rào bằng cách nhét S3 VPC Gateway Endpoint vào |
| “Quét tìm PII trước lúc train” | Gọi ngay Amazon Macie |
| “Mã hóa đám model artifacts” | Nhét cái KMS key vào tham số output_kms_key của SageMaker |
| “Chặn đứng cái trò trượt tay xóa prod models của thanh niên data scientist” | Gỡ bỏ mớ quyền Delete khỏi cái IAM policy của thanh niên đó |
| “SageMaker training cần chui xuống hầm gọi RDS” | Nhốt vào VPC mode + cấu hình Security group của RDS cho chui lọt |
| “Mật khẩu database giấu chỗ nào cho an toàn?” | Bỏ vào AWS Secrets Manager |
| “Quy định bắt đổi khóa mã hóa mỗi năm một lần” | Bật tính năng automatic rotation (tự động xoay khóa) của KMS |
| “Khóa mõm một IP lì lợm chọc ngoáy vào endpoint” | Đập NACL mang Deny rule vào (vì Security Group không có chức năng Deny) |
| “Bảo vệ inference API khỏi các cuộc hành hung DDoS” | Combo thần thánh: API Gateway + WAF + Shield |
| “Phải tuân thủ chuẩn y tế HIPAA” | Combo: VPC + Mã hóa + Ghi log kiểm toán (CloudTrail) + Ký hợp đồng BAA với AWS |
| “Truy cập Data Lake nằm rải rác đa tài khoản (Multi-account)” | Phối hợp Lake Formation cross-account + Dăng lưới VPC Peering |
| “Ép phải dùng đường truyền HTTPS để gọi S3” | Vả cái luật aws:SecureTransport=true vào S3 bucket policy |