🌿 What? §
- Là dịch vụ lưu trữ keys encrypt trên AWS.
- Bất cứ khi nào nhắc về encrypt, hầu hết sẽ đề cập đến KMS.
- Được tích hợp với IAM để thực hiện authorization.
- Giúp việc quản lý truy cập dữ liệu dễ dàng hơn.
- Có thể audit các KMS keys được sử dụng ntn thông qua CloudTrail.
- Có khả năng tích hợp với nhiều services của AWS như RDS, S3, EBS, …
- Không bao giờ được lưu trữ các khóa bằng text thường, đặc biệt là ở trong code, lưu trong biến môi trường thôi.
🌿 Types §
- KMS Key có tên mới là KSM Customer Master Key
- Symmetric(AES-256 keys)
- Một khóa duy nhất dùng cả cho encrypt và decrypt
- Các services AWS sẽ được tích hợp trực tiếp với KMS để sử dụng Symmetric key.
- Chúng ta sẽ không thể truy cập được vào Symmetric Key để lấy dữ liệu unencrypt(bắt buộc phải thông qua API của KMS)
- Asymmetric(RSA & ECC key pair)
- Có một cặp khóa public/private, khóa public để encrypt, khóa private để decrypt.
- Public key chúng ta có thể download và lưu trữ được, còn private thì không.
- Sử dụng với các trường hợp người dùng không thể call API của KMS.
🌿 Policies §
- Kiểm soát truy cập tới các KMS Keys.
- Default KMS Key Policy
- Được tạo nếu chúng ta không chỉ địng policy nào.
- Cho phép toàn bộ AWS accounts truy cập
- Custom KMS Key Policy
- Xác định users, roles nào được truy cập vào KMS Key.
- Xác định quản trị viên cho KMS Key.
- Phù hợp để sử dụng với trường hợp xài chung cho nhiều accounts.
🌿 Multi-Region Key §
- Một khóa chính và được nhân rộng(sao chép) khóa cho các regions còn lại.
- Giúp dễ dàng quản lý key, giảm thiểu thao tác tạo key trên nhiều region.
- Sử dụng với các service trên nhiều region vd như Global DynamoDB, Global Aurora…