跳至內容

我應該使用 AWS KMS 受管金鑰還是客戶受管 AWS KMS key 加密 Amazon S3 中的物件?

2 分的閱讀內容
0

我使用 AWS Key Management Service (KMS)。我想針對儲存在 Amazon Simple Storage Service (Amazon S3) 上的物件以 AWS KMS (SSE-KMS) 進行伺服器端加密。我需要決定要使用客戶受管 AWS KMS key 還是 aws/s3 AWS KMS 受管金鑰。

解決方法

注意: 如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請參閱 Troubleshooting errors for the AWS CLI (對 AWS CLI 錯誤進行疑難排解)。此外,請務必使用最新版 AWS CLI

請根據您所需的控制程度來選擇金鑰。AWS KMS 會為您管理預設的 aws/s3 AWS KMS key,但您對客戶受管金鑰擁有完全的控制權。

使用預設 aws/s3 KMS 金鑰的時機

在下列情境中,請使用預設的 aws/s3 KMS 金鑰:

  • 您針對與 AWS KMS key 位於相同 AWS 帳戶的 S3 物件,使用 AWS Identity and Access Management (IAM) 主體。
  • 您不想管理 AWS KMS key 的政策。

若要使用 aws/s3 AWS KMS key 來加密物件,請在上傳期間將加密方法定義為 SSE-KMS,但不要指定金鑰。請執行下列 cp AWS CLI 命令:

aws s3 cp ./mytextfile.txt s3://DOC-EXAMPLE-BUCKET/ --sse aws:kms

注意: 請將 DOC-EXAMPLE-BUCKET 替換為您的 S3 儲存貯體名稱。

使用客戶受管金鑰的時機

在下列情境中,請使用客戶受管金鑰:

  • 您想要建立、輪換、停用或定義金鑰的存取控制。
  • 您想要授予您的 S3 物件跨帳戶存取權。
    注意: 您可以設定客戶受管金鑰的政策,以允許另一個帳戶進行存取。

若要使用客戶受管金鑰來加密物件,請在上傳期間將加密方法定義為 SSE-KMS。此外,請將您的客戶受管金鑰指定為金鑰 (--sse-kms-key-id)。請執行下列 cp 命令:

aws s3 cp ./mytextfile.txt s3://DOC-EXAMPLE-BUCKET/ --sse aws:kms --sse-kms-key-id testkey

注意: 請將 mytextfile.txt 替換為您的檔案名稱,將 DOC-EXAMPLE-BUCKET 替換為您的 Amazon S3 儲存貯體名稱,並將 testkey 替換為您的金鑰 ID。

若要您客戶受管金鑰的存取權,請修改金鑰政策。如需更多資訊,請參閱 Creating a key policy (建立金鑰政策)。

使用 SSE-S3 加密的時機

您可以使用 Amazon S3 受管金鑰 (SSE-S3) 加密來取代 AWS KMS 加密。雖然 AWS KMS 加密提供強大的安全性控制,但在下列情境中,您必須使用預設的 SSE-S3 加密:

相關資訊

Protecting data with server-side encryption (使用伺服器端加密保護資料)

Using server-side encryption with AWS KMS keys (SSE-KMS) (使用 AWS KMS key (SSE-KMS) 進行伺服器端加密)

AWS 官方已更新 1 年前