Bỏ qua để đến nội dung

AWS Security & Encryption

Trước khi nói về dịch vụ nào, phải nắm được dữ liệu được mã hóa ở đâu và ai giữ khóa. Slide chia làm ba kiểu, và đề thi rất hay bắt bạn chọn đúng kiểu.

Dữ liệu được mã hóa trước khi gửigiải mã sau khi nhận. TLS certificate là thứ giúp thực hiện việc mã hóa này (chính là HTTPS). Mục đích: đảm bảo không thể xảy ra MITM (man in the middle attack) — kẻ nghe giữa đường chỉ thấy chuỗi ký tự vô nghĩa thay vì Username: admin / Password: supersecret.

Dữ liệu được mã hóa sau khi server nhận được, và được giải mã trước khi gửi đi. Nó được lưu ở dạng đã mã hóa nhờ một key (thường là một data key). Điểm quan trọng: khóa mã hóa/giải mã phải được quản lý ở đâu đó, và server phải có quyền truy cập khóa đó. Ví dụ trong slide là S3: object đi vào qua HTTP(S), được ghép với data key để mã hóa và lưu; khi đọc ra thì làm ngược lại.

Dữ liệu được client mã hóaserver không bao giờ giải mã nó. Việc giải mã do một client nhận thực hiện. Yêu cầu cốt lõi: server không có khả năng giải mã dữ liệu. Kiểu này có thể tận dụng Envelope Encryption. Lưu ý là dịch vụ lưu trữ ở đây có thể là bất kỳ thứ gì (FTP, S3…) — nó chỉ giữ object đã mã hóa.

Nguyên tắc ghi nhớ từ slide: hễ nghe thấy chữ “encryption” cho một dịch vụ AWS thì gần như chắc chắn đó là KMS. KMS quản lý khóa mã hóa thay cho bạn.

  • Tích hợp hoàn toàn với IAM để phân quyền — cách dễ dàng để kiểm soát ai truy cập dữ liệu của bạn.
  • Audit được việc sử dụng KMS Key bằng CloudTrail.
  • Tích hợp mượt vào hầu hết dịch vụ AWS: EBS, S3, RDS, SSM…
  • Tuyệt đối không bao giờ lưu secret ở dạng plaintext, nhất là trong code!
  • KMS Key Encryption cũng dùng được qua API call (SDK, CLI).
  • Secret đã được mã hóa thì lưu trong code hoặc trong environment variable được.

KMS Keys là tên mới của KMS Customer Master Key. Có hai loại:

Loại Đặc điểm
Symmetric (khóa AES-256) Một khóa duy nhất dùng cho cả Encrypt và Decrypt. Các dịch vụ AWS tích hợp KMS đều dùng Symmetric CMK. Bạn không bao giờ lấy được khóa ở dạng chưa mã hóa — phải gọi KMS API để dùng
Asymmetric (cặp khóa RSA & ECC) Cặp Public Key (Encrypt)Private Key (Decrypt). Dùng cho Encrypt/Decrypt hoặc Sign/Verify. Public key tải về được, nhưng private key thì không lấy được ở dạng chưa mã hóa. Use case: mã hóa ngoài AWS bởi những người không gọi được KMS API
Loại key Chi phí
AWS Owned Keys — SSE-S3, SSE-SQS, SSE-DDB (khóa mặc định) Miễn phí
AWS Managed Key — dạng aws/service-name, ví dụ aws/rds hoặc aws/ebs Miễn phí
Customer managed keys tạo trong KMS $1 / tháng
Customer managed keys import vào $1 / tháng
API call tới KMS $0.03 / 10.000 lần gọi
  • AWS-managed KMS Key: tự động mỗi 1 năm.
  • Customer-managed KMS Key: phải bật; sau đó có cả tự động và theo yêu cầu (on-demand).
  • Imported KMS Key: chỉ rotation thủ công, thực hiện bằng cách dùng alias.

KMS Key Policy kiểm soát quyền truy cập vào KMS key, “tương tự” S3 bucket policy. Nhưng có một khác biệt then chốt: với KMS thì bạn không thể kiểm soát truy cập mà không có key policy — nó là bắt buộc.

  • Default KMS Key Policy — được tạo nếu bạn không cung cấp key policy cụ thể. Nó cho root user quyền truy cập đầy đủ vào khóa, tức là toàn bộ AWS account.
  • Custom KMS Key Policy — bạn định nghĩa user/role nào được truy cập khóa, ai được quản trị (administer) khóa. Đây là thứ cần thiết cho truy cập cross-account vào KMS key của bạn.

Đây là hai luồng thao tác rất hay xuất hiện dạng câu hỏi “các bước theo thứ tự nào”.

Một EBS Volume ở region eu-west-2 được mã hóa bằng KMS Key A; snapshot của nó cũng mã hóa bằng Key A. Khi copy sang region ap-southeast-2, KMS thực hiện ReEncrypt với KMS Key B — vì khóa là theo region, snapshot ở region đích được mã hóa bằng Key B, và volume tạo ra từ nó cũng vậy.

Năm bước theo slide:

  1. Tạo một Snapshot, mã hóa bằng KMS Key của chính bạn (Customer Managed Key).
  2. Gắn một KMS Key Policy để cho phép truy cập cross-account.
  3. Share snapshot đã mã hóa đó.
  4. (Ở account đích) Tạo một bản copy của Snapshot, mã hóa nó bằng một CMK trong account của mình.
  5. Tạo volume từ snapshot đó.

Multi-Region Keys là các KMS key giống hệt nhau ở các AWS Region khác nhau, dùng thay thế cho nhau được.

  • Chúng có cùng key ID, cùng key material, cùng cơ chế rotation tự động. Trong ARN, phần key id bắt đầu bằng mrk- và giống nhau ở mọi region.
  • Mã hóa ở một Region, giải mã ở Region kháckhông cần re-encryptkhông cần gọi API xuyên region.
  • Cấu trúc gồm một multi-Region Primary key và các multi-Region Replica key được sync sang các region khác.
  • KMS Multi-Region KHÔNG phải key global — nó là Primary + Replicas, và mỗi key được quản lý độc lập.
  • Use case: client-side encryption toàn cầu, mã hóa trên Global DynamoDB, Global Aurora.

Bạn có thể mã hóa một số attribute cụ thể ở phía client trong bảng DynamoDB bằng Amazon DynamoDB Encryption Client. Kết hợp với Global Tables, dữ liệu đã mã hóa phía client được replicate sang các region khác. Nếu dùng multi-region key được replicate vào cùng region với Global Table, thì client ở các region đó gọi KMS ngay trong region của mình với độ trễ thấp để giải mã.

Luồng 5 bước theo diagram (ví dụ attribute SSN):

  1. Client App ở us-east-1 mã hóa attribute bằng primary MRK.
  2. Ghi attribute đã mã hóa vào DDB Table.
  3. Global Table Replication đưa dữ liệu sang ap-southeast-2.
  4. Client App ở region đó đọc attribute đã mã hóa.
  5. Giải mã bằng replica MRK trong chính region đó.

Điểm lợi: client-side encryption cho phép bảo vệ từng field cụ thể và đảm bảo chỉ giải mã được nếu client có quyền với API key.

Cơ chế tương tự, chỉ khác là dùng AWS Encryption SDK để mã hóa attribute phía client trong bảng Aurora, và replication là Global DB Replication của Aurora Global Tables. Slide nhấn thêm một lợi ích: cách này bảo vệ được field cụ thể ngay cả trước database admin.

Khi bật replication cho S3, hành vi mã hóa khác nhau tùy loại:

  • Object không mã hóa và object mã hóa bằng SSE-S3 được replicate mặc định.
  • Object mã hóa bằng SSE-C (khóa do khách hàng cung cấp) replicate được.
  • Object mã hóa bằng SSE-KMS thì phải bật tùy chọn và làm thêm mấy việc:
    • Chỉ định KMS Key nào dùng để mã hóa object trong bucket đích.
    • Điều chỉnh KMS Key Policy cho khóa ở đích.
    • Cần một IAM Rolekms:Decrypt cho KMS Key nguồn và kms:Encrypt cho KMS Key đích.
    • Có thể gặp lỗi KMS throttling — khi đó xin tăng Service Quotas.
  • Dùng được multi-region AWS KMS Keys, nhưng hiện tại Amazon S3 coi chúng như các khóa độc lập (object vẫn bị giải mã rồi mã hóa lại).

Quy trình 5 bước theo slide:

  1. AMI ở Source Account được mã hóa bằng KMS Key của Source Account.
  2. Phải sửa image attribute để thêm một Launch Permission tương ứng với AWS account đích.
  3. Phải share KMS Key đã dùng để mã hóa snapshot mà AMI tham chiếu, cho account đích / IAM Role đích.
  4. IAM Role/User ở account đích phải có quyền DescribeKey, ReEncrypt*, CreateGrant, Decrypt.
  5. Khi launch EC2 instance từ AMI đó, account đích có thể (không bắt buộc) chỉ định một KMS key mới trong account của mình để mã hóa lại (re-encrypt) các volume.

SSM Parameter Store là nơi lưu cấu hình và secret một cách an toàn.

  • Mã hóa mượt (seamless) bằng KMS — là tùy chọn, không bắt buộc.
  • Serverless, scalable, durable, SDK dễ dùng.
  • Theo dõi version của cấu hình / secret.
  • Bảo mật qua IAM.
  • Thông báo qua Amazon EventBridge.
  • Tích hợp với CloudFormation.

Luồng đọc một parameter đã mã hóa: ứng dụng gọi Parameter Store → kiểm tra quyền IAM → Parameter Store nhờ AWS KMS giải mã → trả cấu hình về cho ứng dụng.

Parameter được tổ chức theo đường dẫn dạng cây, giúp một Lambda function dùng GetParameters hoặc GetParametersByPath lấy cả nhóm cấu hình một lần:

/my-department/
my-app/
dev/
db-url
db-password
prod/
db-url
db-password
other-app/
/other-department/

Ngoài cây của bạn, có hai nhánh đặc biệt:

  • /aws/reference/secretsmanager/secret_ID_in_Secrets_Manager — trỏ tới secret nằm trong Secrets Manager.
  • /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2 — parameter public của AWS, cho AMI Amazon Linux mới nhất.
Standard Advanced
Tổng số parameter cho phép (mỗi AWS account và Region) 10.000 100.000
Kích thước tối đa của giá trị parameter 4 KB 8 KB
Có Parameter policies Không
Chi phí Không phụ phí Có phí
Giá lưu trữ Miễn phí $0.05 / advanced parameter / tháng

Cho phép gán một TTL (ngày hết hạn) cho parameter để buộc phải cập nhật hoặc xóa các dữ liệu nhạy cảm như password. Gán được nhiều policy cùng lúc:

  • Expiration — để xóa một parameter.
  • ExpirationNotification — thông báo qua EventBridge.
  • NoChangeNotification — thông báo (qua EventBridge) khi parameter lâu không thay đổi.

AWS Secrets Manager là dịch vụ mới hơn, sinh ra để lưu secret.

  • Có khả năng buộc rotation secret sau mỗi X ngày.
  • Tự động sinh secret mới khi rotation — dùng Lambda để làm việc này.
  • Tích hợp với Amazon RDS (MySQL, PostgreSQL, Aurora).
  • Secret được mã hóa bằng KMS.
  • Slide nói rõ: nó chủ yếu dành cho việc tích hợp với RDS.
  • Replicate secret sang nhiều AWS Region.
  • Secrets Manager giữ các read replica đồng bộ với secret chính (primary).
  • Có khả năng promote một replica secret thành secret độc lập (standalone).
  • Use case: ứng dụng multi-region, chiến lược disaster recovery, database multi-region…

ACM giúp bạn cấp phát, quản lý và triển khai TLS Certificate một cách dễ dàng, tức là cung cấp in-flight encryption (HTTPS) cho website.

  • Hỗ trợ cả public và private TLS certificate.
  • Miễn phí cho public TLS certificate.
  • Tự động gia hạn (renewal) certificate.
  • Tích hợp (nạp TLS certificate lên) các dịch vụ: Elastic Load Balancer (CLB, ALB, NLB), CloudFront Distributions, và API trên API Gateway.
  • Không dùng được ACM với EC2 — vì certificate không thể trích xuất ra khỏi ACM.
  1. Liệt kê các domain name sẽ nằm trong certificate — dạng FQDN (corp.example.com) hoặc Wildcard Domain (*.example.com).
  2. Chọn phương thức xác thực: DNS Validation hoặc Email validation.
    • DNS Validation được ưu tiên vì phục vụ tự động hóa; nó dùng một CNAME record trong cấu hình DNS (ví dụ Route 53).
    • Email validation gửi email tới các địa chỉ liên hệ trong database WHOIS.
  3. Mất vài giờ để được xác thực.
  4. Public Certificate sẽ được tự động đăng ký gia hạn: ACM tự gia hạn các certificate do chính ACM sinh ra, 60 ngày trước khi hết hạn.

Bạn cũng có thể sinh certificate ngoài ACM rồi import vào. Khi đó:

  • Không có tự động gia hạn — phải import certificate mới trước khi hết hạn.
  • ACM gửi event hết hạn hằng ngày, bắt đầu từ 45 ngày trước khi hết hạn; số ngày này cấu hình được.
  • Các event xuất hiện trong EventBridge, từ đó bắn sang Lambda / SNS / SQS.
  • AWS Config có managed rule tên acm-certificate-expiration-check để kiểm tra certificate sắp hết hạn (số ngày cũng cấu hình được), và phát event non-compliance.

Với ALB: ACM cấp và duy trì TLS cert cho Application Load Balancer; client nói HTTPS với ALB, ALB nói HTTP với các EC2 instance trong Auto Scaling group. ALB còn cấu hình được rule redirect HTTP → HTTPS.

Với API Gateway, trước hết cần nhớ ba Endpoint Type:

Endpoint Type Đặc điểm
Edge-Optimized (mặc định) Cho client toàn cầu; request đi qua các CloudFront Edge location (giảm latency), nhưng API Gateway vẫn chỉ nằm ở một region
Regional Cho client trong cùng region; có thể tự kết hợp với CloudFront để kiểm soát chiến lược cache và distribution nhiều hơn
Private Chỉ truy cập được từ VPC của bạn qua một interface VPC endpoint (ENI); dùng resource policy để định nghĩa quyền truy cập

Khi tạo Custom Domain Name trong API Gateway, vị trí của certificate phụ thuộc endpoint type:

  • Edge-Optimized: TLS Certificate phải nằm cùng region với CloudFront, tức là us-east-1. Sau đó thiết lập CNAME hoặc (tốt hơn) A-Alias record trong Route 53.
  • Regional: TLS Certificate phải được import vào API Gateway, ở cùng region với API Stage. Sau đó cũng thiết lập CNAME hoặc A-Alias record trong Route 53.

AWS WAF bảo vệ ứng dụng web khỏi các web exploit phổ biến ở Layer 7. Nhắc lại: Layer 7 là HTTP, còn Layer 4 là TCP/UDP.

Triển khai được trên: Application Load Balancer, API Gateway, CloudFront, AppSync GraphQL API, Cognito User Pool.

Bạn định nghĩa các rule trong một Web ACL (Web Access Control List):

  • IP Set — tối đa 10.000 địa chỉ IP; cần nhiều hơn thì dùng nhiều rule.
  • Khớp theo HTTP header, HTTP body, hoặc URI string — bảo vệ khỏi các tấn công phổ biến như SQL injectionCross-Site Scripting (XSS).
  • Size constraints, geo-match (chặn theo quốc gia).
  • Rate-based rules — đếm số lần xảy ra sự kiện, dùng cho chống DDoS.

Hai chi tiết cần nhớ: Web ACL là theo region, trừ trường hợp CloudFront; và rule group là một tập rule tái sử dụng được mà bạn thêm vào web ACL.

WAF không hỗ trợ Network Load Balancer (Layer 4). Nếu bạn cần vừa có IP tĩnh vừa có WAF, giải pháp là dùng Global Accelerator cho IP tĩnh (ví dụ IPv4 cố định 1.2.3.4) và gắn WAF WebACL lên ALB phía sau. Lưu ý trong slide: WebACL phải ở cùng AWS Region với ALB.

DDoS (Distributed Denial of Service) là kiểu tấn công gửi rất nhiều request cùng lúc.

AWS Shield Standard AWS Shield Advanced
Chi phí Miễn phí, tự động bật cho mọi khách hàng AWS Tùy chọn, $3.000 / tháng / organization
Bảo vệ khỏi SYN/UDP Floods, Reflection attacks và các tấn công layer 3 / layer 4 khác Các tấn công tinh vi hơn trên Amazon EC2, Elastic Load Balancing (ELB), Amazon CloudFront, AWS Global Accelerator, Route 53
Thêm Truy cập 24/7 đội DDoS response team (DRP); bảo vệ khỏi việc bị tính phí cao do traffic tăng vọt vì DDoS; tự động mitigation DDoS ở tầng ứng dụng — tự tạo, đánh giá và triển khai WAF rule để chặn tấn công layer 7

AWS Firewall Manager quản lý rule trên tất cả account của một AWS Organization. Đơn vị quản lý là security policy — một tập rule bảo mật dùng chung, có thể gồm:

  • WAF rules (cho Application Load Balancer, API Gateway, CloudFront).
  • AWS Shield Advanced (ALB, CLB, NLB, Elastic IP, CloudFront).
  • Security Groups cho EC2, Application Load Balancer và các resource ENI trong VPC.
  • AWS Network Firewall (ở mức VPC).
  • Amazon Route 53 Resolver DNS Firewall.

Hai đặc tính vận hành: policy được tạo ở mức region, và rule được tự động áp lên các resource mới ngay khi chúng được tạo — rất tốt cho compliance — trên tất cả account hiện có và cả account tương lai trong Organization.

Ba dịch vụ này được dùng cùng nhau để bảo vệ toàn diện:

  • Bạn định nghĩa Web ACL rule trong WAF. Nếu chỉ cần bảo vệ chi tiết (granular) cho resource của mình thì WAF một mình là đủ.
  • Nếu muốn dùng WAF xuyên nhiều account, muốn tăng tốc việc cấu hình WAFtự động bảo vệ resource mới → dùng Firewall Manager cùng với WAF.
  • Shield Advanced bổ sung tính năng lên trên WAF: hỗ trợ riêng từ Shield Response Team (SRT) và báo cáo nâng cao. Nếu bạn thường xuyên bị DDoS thì hãy cân nhắc mua Shield Advanced.

Slide trình bày các best practice theo mã BP (Best Practice), nhóm theo tầng.

  • BP1 – CloudFront: phân phối web application ở edge; bảo vệ khỏi các tấn công DDoS phổ biến (SYN floods, UDP reflection…).
  • BP1 – Global Accelerator: truy cập ứng dụng từ edge; tích hợp với Shield để chống DDoS — hữu ích khi backend của bạn không tương thích với CloudFront.
  • BP3 – Route 53: phân giải tên miền ở edge, kèm cơ chế bảo vệ DDoS.

Phòng thủ ở tầng hạ tầng (BP1, BP3, BP6)

Phần tiêu đề “Phòng thủ ở tầng hạ tầng (BP1, BP3, BP6)”
  • Bảo vệ Amazon EC2 khỏi traffic lớn — bằng cách dùng Global Accelerator, Route 53, CloudFront, Elastic Load Balancing.
  • Amazon EC2 với Auto Scaling (BP7): giúp scale khi traffic tăng đột ngột, dù là do flash crowd hay do DDoS.
  • Elastic Load Balancing (BP6): ELB tự scale theo traffic tăng và phân phối traffic ra nhiều EC2 instance.

Phòng thủ ở tầng ứng dụng (BP1, BP2, BP6)

Phần tiêu đề “Phòng thủ ở tầng ứng dụng (BP1, BP2, BP6)”
  • CloudFront cache nội dung tĩnh và serve từ edge location, qua đó bảo vệ backend.
  • AWS WAF đặt trên CloudFront và Application Load Balancer để filter và chặn request theo request signature.
    • WAF rate-based rules tự động chặn IP của kẻ xấu.
    • Dùng managed rules trên WAF để chặn tấn công dựa trên IP reputation, hoặc chặn các IP ẩn danh (anonymous IP).
  • CloudFront chặn được theo vùng địa lý cụ thể.
  • Shield Advanced (BP1, BP2, BP6): tự động mitigation DDoS tầng ứng dụng bằng cách tự tạo, đánh giá và triển khai WAF rule chống tấn công layer 7.

Giảm bề mặt tấn công (BP1, BP4, BP5, BP6)

Phần tiêu đề “Giảm bề mặt tấn công (BP1, BP4, BP5, BP6)”
  • Che giấu resource AWS (BP1, BP4, BP6): dùng CloudFront, API Gateway, Elastic Load Balancing để ẩn các resource backend (Lambda function, EC2 instance).
  • Security Groups và Network ACLs (BP5): filter traffic theo IP cụ thể ở mức subnet hoặc mức ENI. Elastic IP được Shield Advanced bảo vệ.
  • Bảo vệ API endpoint (BP4): ẩn EC2, Lambda và các thành phần khác; dùng chế độ edge-optimized, hoặc CloudFront + regional mode (kiểm soát DDoS tốt hơn); và WAF + API Gateway: đặt burst limit, filter header, dùng API key.

Amazon GuardDuty làm Intelligent Threat discovery để bảo vệ AWS Account của bạn. Nó dùng thuật toán Machine Learning, anomaly detection và dữ liệu từ bên thứ ba.

  • Bật bằng một click (dùng thử 30 ngày), không cần cài software.
  • Dữ liệu đầu vào gồm:
    • CloudTrail Events Logs — các API call bất thường, deployment không được phép.
    • CloudTrail Management Events — tạo VPC subnet, tạo trail…
    • CloudTrail S3 Data Events — get object, list objects, delete object…
    • VPC Flow Logs — traffic nội bộ bất thường, địa chỉ IP bất thường.
    • DNS Logs — EC2 instance đã bị chiếm quyền gửi dữ liệu mã hóa nhúng trong các truy vấn DNS.
    • Optional Features — EKS Audit Logs (và Runtime Monitoring), RDS & Aurora (login activity), EBS volumes, Lambda (network activity), S3 Data Events…
  • Thiết lập được EventBridge rule để nhận thông báo khi có finding; rule đó nhắm tới AWS Lambda hoặc SNS.
  • Chống được tấn công CryptoCurrency — có một “finding” dành riêng cho nó.

Amazon Inspector thực hiện Automated Security Assessments (đánh giá bảo mật tự động) cho đúng ba loại đối tượng:

  • EC2 instances — thông qua SSM agent; phân tích khả năng bị truy cập mạng ngoài ý muốn (unintended network accessibility) và phân tích OS đang chạy để tìm lỗ hổng đã biết.
  • Container Image được push lên Amazon ECR — đánh giá image ngay khi chúng được push.
  • Lambda Functions — tìm lỗ hổng phần mềm trong code của function và trong các package dependency; đánh giá function ngay khi được deploy.

Kết quả: báo cáo và tích hợp với AWS Security Hub, và gửi finding tới Amazon EventBridge.

Inspector đánh giá những gì:

  • Chỉ cho EC2 instance, Container Image và Lambda function.
  • Quét hạ tầng liên tục, nhưng chỉ khi cần thiết.
  • Package vulnerabilities (EC2, ECR & Lambda) — dựa trên database CVE.
  • Network reachability (chỉ EC2).
  • Mọi lỗ hổng đều gắn một risk score để bạn ưu tiên xử lý.

Amazon Macie là dịch vụ fully managed về data security và data privacy, dùng machine learning và pattern matching để phát hiện và bảo vệ dữ liệu nhạy cảm của bạn trên AWS.

Macie giúp nhận diện và cảnh báo về dữ liệu nhạy cảm, ví dụ personally identifiable information (PII). Theo diagram: Macie phân tích các S3 Bucket, phát hiện dữ liệu nhạy cảm (PII), rồi thông báo qua Amazon EventBridge để đi tiếp vào các tích hợp khác.

Chủ đề Cần nhớ
Ba kiểu mã hóa In flight (TLS/HTTPS, chống MITM) · server-side at rest (server giữ khóa) · client-side (server không giải mã được, có thể dùng Envelope Encryption)
KMS Key theo thuật toán Symmetric AES-256 — các dịch vụ AWS dùng loại này, không lấy được key material · Asymmetric RSA/ECC — public key tải về được, dành cho người không gọi được KMS API
Giá KMS AWS Owned và AWS Managed miễn phí; customer managed (tạo hoặc import) $1/tháng; API call $0.03 / 10.000 lần
Key rotation AWS-managed tự động mỗi năm · customer-managed phải bật, rồi có tự động và on-demand · imported chỉ rotation thủ công qua alias
KMS Key Policy Bắt buộc — không có key policy thì không kiểm soát được truy cập; default policy cho root user toàn quyền; custom policy cần cho cross-account
Copy snapshot Cross-region đi qua ReEncrypt sang key của region đích; cross-account cần Customer Managed Key + key policy + share + copy lại bằng CMK của account đích
Multi-Region Keys Cùng key ID, key material và rotation; mã hóa ở một region giải mã ở region khác; không phải key global (Primary + Replica, quản lý độc lập); S3 Replication vẫn coi chúng là khóa độc lập
Share AMI mã hóa Thêm Launch Permission + share KMS key; account đích cần DescribeKey, ReEncrypt*, CreateGrant, Decrypt
Parameter Store Standard 10.000 param / 4 KB, Advanced 100.000 param / 8 KB kèm parameter policies (Expiration, ExpirationNotification, NoChangeNotification); mã hóa KMS là tùy chọn
Secrets Manager Rotation cưỡng bức mỗi X ngày (qua Lambda), tích hợp RDS/Aurora, mã hóa bằng KMS, replicate multi-region và promote được replica
ACM Public cert miễn phí, tự gia hạn 60 ngày trước hết hạn; cert import không tự gia hạn (event hằng ngày từ 45 ngày trước, Config rule acm-certificate-expiration-check); không dùng được với EC2
ACM + API Gateway Edge-Optimized cần cert ở us-east-1; Regional cần cert cùng region với API stage; cả hai trỏ bằng CNAME hoặc A-Alias trong Route 53
WAF Layer 7, trên ALB / API Gateway / CloudFront / AppSync / Cognito User Pool; IP Set tối đa 10.000 IP; Web ACL theo region trừ CloudFront; không hỗ trợ NLB → ghép Global Accelerator để có IP tĩnh
Shield Standard miễn phí cho mọi khách hàng (layer 3/4) · Advanced $3.000/tháng/organization, có DRP 24/7, chống bị đội hóa đơn, và tự sinh WAF rule chống layer 7
Firewall Manager Quản lý WAF / Shield Advanced / Security Group / Network Firewall / Route 53 Resolver DNS Firewall cho cả Organization; policy theo region; tự áp lên resource mới
GuardDuty / Inspector / Macie GuardDuty đọc log tìm hoạt động bất thường · Inspector quét EC2, ECR image và Lambda theo CVE, có risk score · Macie tìm dữ liệu nhạy cảm (PII) trong S3