Skip to content

Chương 32: Secret Manager & Cloud KMS — Quản Lý Secrets & Mã Hoá

Tại sao chương này quan trọng

Bảo mật thông tin xác thực và mã hoá dữ liệu là hai trụ cột không thể thiếu trong bất kỳ hệ thống production nào. Hầu hết các incident bảo mật nghiêm trọng — từ data breach đến supply chain attack — bắt nguồn từ một trong hai nguyên nhân: secret bị lộ (hardcode vào code, lưu trong biến môi trường không kiểm soát, commit vào git) hoặc mã hoá yếu (không dùng CMEK, dùng key không rotate, không có audit trail cho key usage).

Secret Manager giải quyết bài toán thứ nhất: một kho lưu trữ tập trung cho secrets với versioning, rotation, audit logging, và fine-grained IAM. Nhưng hiểu Secret Manager ở mức production không chỉ là "tạo secret và đọc ra" — mà là hiểu cơ chế versioning states, replication mechanics, rotation flow qua Pub/Sub, và cách tích hợp với GKE mà không phải expose secrets dưới dạng environment variables.

Cloud KMS giải quyết bài toán thứ hai: quản lý key mã hoá ở tầng infrastructure, tách biệt key material khỏi data. Nhưng Cloud KMS phức tạp hơn nhiều so với cái nhìn đầu tiên — có một key hierarchy ba tầng (Key Ring → CryptoKey → CryptoKeyVersion), nhiều protection level với trade-offs khác nhau (SOFTWARE, HSM, EXTERNAL), và mô hình envelope encryption mà tất cả CMEK đều dựa vào nhưng rất ít engineer hiểu đúng.

Chương này đi sâu vào cơ chế bên trong của cả hai service — không phải cách cấu hình, mà là tại sao chúng được thiết kế như vậy, ràng buộc thực sự là gì, và hệ quả của các quyết định thiết kế đó đối với production system.


Điều kiện tiên quyết

  • Chương 31: IAM Policy Model — service accounts, bindings, IAM conditions
  • Hiểu cơ bản về mã hoá đối xứng/bất đối xứng (AES-256, RSA, ECDSA)
  • Kubernetes fundamentals (để đọc phần GKE integration)

Cấu trúc chapter

FileNội dung cốt lõi
Secret Manager — Model & Versioning InternalsSecret object model, version states (ENABLED/DISABLED/DESTROYED), alias latest, replication automatic vs user-managed, encryption at rest
Secret Rotation & Patterns Truy CậpRotation flow qua Pub/Sub, CSI driver cho GKE, sidecar/init container patterns, so sánh với environment variables
Cloud KMS Key Hierarchy & Protection LevelsKey Ring → CryptoKey → CryptoKeyVersion, các key purpose, primary version mechanics, SOFTWARE/HSM/EXTERNAL protection levels
Envelope Encryption & CMEKDEK/KEK model, tại sao KEK không bao giờ rời Cloud KMS, CMEK implementation, Google's internal key hierarchy
Key Rotation & Vòng Đời CryptoKeyVersionAutomatic rotation (chỉ ENCRYPT_DECRYPT), manual rotation, version states, DESTROY_SCHEDULED (30 ngày mặc định), re-encryption
Cloud EKM — Keys Ngoài Hạ Tầng GoogleEXTERNAL vs EXTERNAL_VPC, availability implications, tại sao EKM là double-edged sword, HYOK model

Mental model tổng quan

Secrets vs Keys — Hai khái niệm khác nhau hoàn toàn

Một nhầm lẫn phổ biến là dùng "secret" và "key" lẫn lộn. Trong hệ sinh thái GCP:

Secret Manager                    Cloud KMS
──────────────────────────────    ──────────────────────────────────
Lưu TRỮ thông tin nhạy cảm       Quản lý KEY MÃ HOÁ
(passwords, API keys, certs)      (KEK để mã hoá DEK hoặc data)

Bạn ĐỌC giá trị secret ra        Bạn DÙNG key để mã/giải mã
→ plaintext bạn trực tiếp dùng   → key material KHÔNG BAO GIỜ ra ngoài

Versioned                         Versioned (mỗi rotation = version mới)
Replicated (auto/manual)          Regional (key ring gắn với location)
Rotated (bạn tạo version mới)    Rotated (KMS tự tạo version mới)

Quan hệ giữa hai service

Secret Manager và Cloud KMS bổ trợ nhau, không thay thế nhau:

[Secret data: database password]

         ▼ mã hoá bởi
[CMEK từ Cloud KMS]   ← Secret Manager hỗ trợ CMEK

         ▼ KEK trong KMS mã hoá
[DEK ngẫu nhiên per-secret]

         ▼ DEK mã hoá
[Ciphertext lưu trong Google storage]

Cả hai cùng tồn tại trong một hệ thống security-in-depth:

  • Secret Manager: kiểm soát ai được đọc secret (IAM), lịch sử của secret (versioning), sẵn sàng của secret (replication)
  • Cloud KMS: kiểm soát ai được dùng key để mã/giải mã, audit mọi crypto operation, vòng đời của key material

References