0
0
Lập trình
Admin Team
Admin Teamtechmely

CMK: Chìa Khóa Chính Trong Vương Quốc Mã Hóa AWS

Đăng vào 7 tháng trước

• 7 phút đọc

CMK: Chìa Khóa Chính Trong Vương Quốc Mã Hóa AWS

Giới thiệu

Trong thế giới mã hóa của AWS, chìa khóa luôn hiện diện. Chúng bảo vệ các bucket S3, các volume cơ sở dữ liệu và cả những bí mật của bạn. Nhưng bạn có biết những chìa khóa này đến từ đâu? Ai là người kiểm soát chúng?

Câu trả lời nằm tại trung tâm của Dịch vụ Quản lý Chìa Khóa AWS (KMS): Chìa Khóa Chính Khách Hàng (CMK). Mặc dù AWS đã bắt đầu sử dụng thuật ngữ đơn giản hơn "chìa khóa KMS" trong tài liệu mới, nhưng khái niệm CMK vẫn là nền tảng quan trọng. Nó không chỉ là một chìa khóa; mà là một tài nguyên mạnh mẽ kết hợp giữa vật liệu mã hóa với quản lý chính sách phức tạp.

Hãy tưởng tượng nó như một chùm chìa khóa chính cho toàn bộ tài khoản AWS của bạn. Một số chìa khóa trên chùm này bạn sở hữu hoàn toàn. Những chìa khóa khác được cung cấp cho bạn, nhưng bạn không thể sao chép chúng hoặc lấy chúng ra khỏi chùm. Việc chọn loại chìa khóa đúng là bước đầu tiên và quan trọng nhất trong việc xây dựng một môi trường đám mây an toàn và tuân thủ.

Ba Loại Chìa Khóa KMS: Một Hệ Thống Kiểm Soát

Không phải tất cả các chìa khóa KMS đều giống nhau. AWS cung cấp ba loại khác nhau, mỗi loại cung cấp một mức độ kiểm soát và trách nhiệm khác nhau. Hiểu được hệ thống này là rất quan trọng.

Loại chìa khóa AWS Owned Keys AWS Managed Keys Customer Managed Keys (CMKs)
Mức độ kiểm soát Không có kiểm soát Kiểm soát hạn chế Kiểm soát toàn bộ
Khả năng nhìn thấy Không nhìn thấy Có thể nhìn thấy trong tài khoản của bạn Được tạo và quản lý bởi bạn
Quản lý Hoàn toàn do AWS quản lý Được quản lý bởi dịch vụ AWS thay mặt bạn Bạn quản lý chính sách, vòng quay, xóa bỏ
Chi phí Miễn phí Trả theo mức sử dụng ($0.03/10k yêu cầu) Trả theo mức sử dụng + $1.03/chìa/tháng
Tình huống sử dụng Mã hóa mặc định cho một số dịch vụ Con đường dễ nhất để mã hóa mặc định có thể kiểm tra Tiêu chuẩn cho dữ liệu nhạy cảm

1. AWS Owned Keys: Mặc Định Vô Hình

Đây là những chìa khóa chính do AWS sở hữu và quản lý hoàn toàn, chia sẻ cho nhiều khách hàng. Bạn không bao giờ thấy chúng, không tương tác với chúng, hoặc kiểm tra chúng. Khi bạn chọn "mã hóa mặc định" cho một dịch vụ mà không chỉ định chìa khóa, đây thường là cái được sử dụng.

  • Phép ẩn dụ: Một chìa khóa chính được giữ bởi người quản lý tòa nhà của bạn, có thể mở tất cả các ổ khóa căn hộ mặc định. Bạn không kiểm soát nó, nhưng nó hoàn thành công việc.
  • Khi nào nên sử dụng: Đối với dữ liệu không nhạy cảm, nơi mã hóa chỉ là một checkbox tuân thủ và không yêu cầu các dấu vết kiểm tra.

2. AWS Managed Keys: Mặc Định Có Thể Nhìn Thấy

Đây là những chìa khóa chủ yếu cho mã hóa dịch vụ AWS. Khi bạn kích hoạt mã hóa mặc định cho một dịch vụ như S3 hoặc EBS, dịch vụ đó sẽ tạo một chìa khóa trong tài khoản của bạn với bí danh như aws/s3 hoặc aws/ebs.

  • Phép ẩn dụ: Người quản lý tòa nhà đưa cho bạn một chìa khóa riêng cho cửa chính căn hộ của bạn, nhưng vẫn được quản lý bởi người quản lý. Bạn có thể thấy và theo dõi việc sử dụng của nó, nhưng bạn không thể thay đổi ổ khóa.
  • Khi nào nên sử dụng: Khi bạn muốn mã hóa mặc định dễ dàng, được quản lý nhưng vẫn cung cấp một dấu vết kiểm tra trong AWS CloudTrail. Một sự cân bằng tốt giữa dễ dàng và khả năng nhìn thấy.

3. Customer Managed Keys (CMKs): Tài Sản Quý Giá

Đây là lựa chọn được khuyến nghị cho bất kỳ dữ liệu nhạy cảm nào. Đây là các chìa khóa KMS mà bạn tạo, quản lý và kiểm soát hoàn toàn trong tài khoản AWS của bạn.

  • Phép ẩn dụ: Bạn lắp đặt khóa an toàn cao của riêng mình trên cửa căn hộ. Bạn giữ chìa khóa chính duy nhất. Bạn quyết định ai được sao chép, và bạn có một nhật ký mỗi khi chìa khóa được sử dụng.
  • Khi nào nên sử dụng: Luôn luôn, cho bất cứ điều gì quan trọng. Bạn cần kiểm soát hoàn toàn đối với chính sách chìa khóa, lịch trình quay vòng và quyền truy cập.

Cấu Trúc của Chìa Khóa Quản Lý Khách Hàng (CMK)

Một CMK không chỉ là một chuỗi mã hóa. Nó là một tài nguyên AWS phong phú với nhiều thành phần:

  1. Vật liệu chìa khóa: Bí mật mã hóa thực tế được sử dụng cho mã hóa. Đối với CMK, bạn có thể chọn để KMS tạo ra điều này, hoặc bạn có thể nhập vật liệu chìa khóa của riêng mình từ HSM tại chỗ để có kiểm soát tối đa.
  2. ID chìa khóa & Tên Tài Nguyên Amazon (ARN): Định danh duy nhất cho chìa khóa của bạn. ARN được sử dụng trong các chính sách IAM để chỉ định chìa khóa nào mà một người dùng có thể truy cập.
  3. Chính sách chìa khóa: Người Giữ Cửa: Đây là phần quan trọng nhất. Chính sách chìa khóa là một chính sách tài nguyên xác định ai có thể sử dụng và quản lý chìa khóa. Nếu không có sự cho phép rõ ràng trong chính sách chìa khóa, không ai—kể cả người dùng root có thể sử dụng CMK. Đây là nơi bạn cấp quyền truy cập cho các nguyên tắc IAM và cho phép các dịch vụ AWS sử dụng chìa khóa thay mặt bạn.
  4. Bí danh: Một tên thân thiện mà bạn tạo cho chìa khóa của bạn (ví dụ: alias/prod-database-encryption) thay vì sử dụng ID chìa khóa phức tạp.
  5. Quay vòng: Bạn có thể kích hoạt quay vòng chìa khóa tự động hàng năm. KMS sẽ tự động tạo ra vật liệu mã hóa mới cho CMK hàng năm, nhưng sẽ giữ lại vật liệu cũ để giải mã dữ liệu đã được mã hóa dưới các phiên bản trước đó. ID chìa khóa và ARN vẫn giữ nguyên, đơn giản hóa việc quản lý.

Vai Trò Quan Trọng Của Chính Sách Chìa Khóa

Chính sách chìa khóa là điều phân biệt một CMK với các loại chìa khóa khác. Đây là tài liệu đặt bạn vào vị trí kiểm soát. Một chính sách chìa khóa điển hình thực hiện hai điều chính:

  1. Cấp quyền quản trị cho người dùng/nhóm IAM (ví dụ: ai có thể bật/tắt chìa khóa, thay đổi chính sách).
  2. Cấp quyền sử dụng cho người dùng/nhóm IAM và các dịch vụ AWS.

Một mẫu quan trọng là cho phép một dịch vụ AWS sử dụng chìa khóa của bạn. Đoạn chính sách sau cho phép Amazon S3 sử dụng CMK để mã hóa đối tượng thay mặt bạn, một yêu cầu phổ biến cho SSE-KMS:

json Copy
{
    "Sid": "Allow-S3-to-use-the-key",
    "Effect": "Allow",
    "Principal": {
        "Service": "s3.amazonaws.com"
    },
    "Action": [
        "kms:Encrypt",
        "kms:Decrypt",
        "kms:ReEncrypt*",
        "kms:GenerateDataKey",
        "kms:DescribeKey"
    ],
    "Resource": "*",
    "Condition": {
        "Bool": {
            "kms:GrantIsForAWSResource": true
        }
    }
}

Kết Luận

Việc chọn loại chìa khóa KMS phù hợp phản ánh trực tiếp tư thế an toàn và tuân thủ của bạn.

  • Quên lãng: Sử dụng AWS Owned Keys.
  • Học hỏi: Sử dụng AWS Managed Keys.
  • Làm chủ: Sử dụng Customer Managed Keys.

Bằng cách nắm quyền sở hữu các CMK của bạn, bạn không chỉ đơn giản là kích hoạt mã hóa mà còn chủ động quản lý nó. Bạn có khả năng tạo ra sự phân tách nhiệm vụ thực sự, nơi các nhóm bảo mật kiểm soát các chìa khóa và các nhà phát triển kiểm soát dữ liệu, tất cả đều duy trì một dấu vết kiểm tra rõ ràng cho mỗi hành động. Đây là nền tảng của một chiến lược bảo mật đám mây trưởng thành.

Tiếp theo trong An ninh và Tuân thủ: Chúng ta thường nghe về phần cứng "đã được xác thực FIPS". Điều đó thực sự có nghĩa là gì, và tại sao nó lại là một yếu tố phân biệt quan trọng cho các dịch vụ như CloudHSM? Chúng tôi sẽ làm sáng tỏ tiêu chuẩn này trong Phần Cứng Đã Được Xác Thực FIPS.

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào