Skip to content
Khoá học AWSSecurity & EncryptionGiới thiệu KMS

AWS Key Management Service (KMS) là gì

AWS Key Management Service (KMS) là dịch vụ quản lý khóa mã hóa tập trung của AWS. KMS cho phép bạn tạo, lưu trữ và kiểm soát việc sử dụng cryptographic keys để bảo mật dữ liệu trên hầu hết các dịch vụ AWS.

👉 Thay vì bạn phải tự xây dựng cơ chế quản lý khóa (phức tạp, khó an toàn), KMS cung cấp một giải pháp an toàn, tuân thủ chuẩn bảo mật và tích hợp trực tiếp với các dịch vụ AWS.

Các khái niệm chính

Customer Master Key (CMK) / KMS Key

  • khóa mã hóa chính được quản lý trong KMS.
  • Có thể do AWS quản lý (AWS Managed Key) hoặc do người dùng tự quản lý (Customer Managed Key).
  • Dùng để mã hóa/giải mã trực tiếp hoặc để tạo các Data Key.

Data Key

  • Là khóa được sinh ra từ CMK và dùng để mã hóa dữ liệu thực tế.
  • AWS khuyến khích:
    • CMK: dùng để mã hóa khóa (Key Encryption Key - KEK).
    • Data Key: dùng để mã hóa dữ liệu (Data Encryption Key - DEK).

Envelope Encryption

Cơ chế “bao bọc”:

  1. Sinh ra một Data Key từ CMK.
  2. Dữ liệu được mã hóa bằng Data Key.
  3. Data Key được mã hóa lại bằng CMK.
  4. Lưu cả ciphertext (dữ liệu mã hóa) và encrypted Data Key.

➡️ Giúp tăng tốc độ (vì mã hóa dữ liệu lớn bằng đối xứng nhanh hơn) và vẫn đảm bảo bảo mật khóa.

Các loại Key trong KMS

  • AWS Managed Keys: tạo sẵn, AWS quản lý hoàn toàn (dùng cho S3, EBS, RDS…).
  • Customer Managed Keys: do bạn tạo và kiểm soát (có thể bật rotation, gắn policy, audit).
  • AWS Owned Keys: do AWS sở hữu, bạn không thấy hay quản lý được (dùng ngầm trong các dịch vụ).

Tích hợp với các dịch vụ AWS

AWS KMS tích hợp sẵn với hầu hết dịch vụ AWS:

  • Amazon S3: Server-Side Encryption with KMS (SSE-KMS).
  • Amazon EBS: Mã hóa volume và snapshot.
  • Amazon RDS / Aurora: Mã hóa dữ liệu lưu trữ (at-rest encryption).
  • AWS Lambda: Bảo mật biến môi trường.
  • AWS Secrets Manager / Parameter Store: Quản lý secrets/passwords.

Quản lý & Kiểm soát

  • Key Policies: kiểm soát ai có quyền sử dụng hoặc quản trị key.
  • IAM Policies: kết hợp với key policies để chi tiết hóa quyền.
  • Audit với CloudTrail: mọi hành động sử dụng KMS key đều được log lại.
  • Automatic Key Rotation: có thể bật xoay vòng key hàng năm để tăng tính bảo mật.

Use Cases

  • Bảo mật dữ liệu nhạy cảm trong S3 (tài liệu, logs).
  • Mã hóa dữ liệu database (RDS, DynamoDB).
  • Bảo vệ secrets (API keys, passwords).
  • Đáp ứng yêu cầu tuân thủ bảo mật (compliance).
  • Ký số (Digital Signing) trong ứng dụng.

Pricing của KMS

Chi phí KMS gồm:

  1. Chi phí quản lý key: mỗi CMK có phí hàng tháng.
  2. Chi phí sử dụng: mỗi API call (Encrypt, Decrypt, GenerateDataKey…) sẽ tính phí.