更新物件加密 - Amazon Simple Storage Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

更新物件加密

您可以使用 Amazon S3 Batch Operations 對 Amazon S3 物件執行大規模的批次操作。Batch Operations UpdateObjectEncryption操作會使用單一請求更新多個 Amazon S3 物件的伺服器端加密類型。單一UpdateObjectEncryption操作任務最多可支援 200 億個物件的資訊清單。

一般用途儲存貯體支援的所有 Amazon S3 儲存類別都支援UpdateObjectEncryption此操作。您可以使用 UpdateObjectEncryption操作,將加密的物件從使用 Amazon S3 受管金鑰 (SSE- S3) 的伺服器端加密變更為AWS 金鑰管理服務 (AWS KMS) 金鑰 (SSE-KMS),或套用 S3 儲存貯體金鑰。您也可以使用 UpdateObjectEncryption操作來變更用於加密資料的客戶受管 KMS 金鑰,以便符合自訂金鑰輪換標準。

當您建立批次操作任務時,您可以根據您指定的來源位置和篩選條件產生物件清單。您可以使用 MatchAnyObjectEncryption篩選條件,從要更新並包含在資訊清單中的儲存貯體中產生物件清單。產生的物件清單僅包含具有指定伺服器端加密類型的來源儲存貯體物件。如果您選取 SSE-KMS,您可以選擇指定特定 KMS 金鑰 ARN 和儲存貯體金鑰啟用狀態,以進一步篩選結果。如需詳細資訊,請參閱《SSEKMSFilterAmazon S3API 參考》中的 JobManifestGeneratorFilter和 。

限制和考量事項

當您使用批次操作UpdateObjectEncryption操作時,適用下列限制和考量事項:

  • UpdateObjectEncryption 此操作不支援未加密的物件,或使用 (DSSE-KMS) 或客戶提供的加密金鑰 (SSE-C) 進行 AWS KMS keys 雙層伺服器端加密的物件。此外,您無法指定 SSE-S3 加密類型UpdateObjectEncryption請求。

  • 您可以使用 UpdateObjectEncryption操作來更新已啟用 S3 版本控制的儲存貯體中的物件。若要更新特定版本的加密類型,您必須在UpdateObjectEncryption請求中指定版本 ID。如果您未指定版本 ID,UpdateObjectEncryption請求會作用於物件的目前版本。如需 S3 版本控制的詳細資訊,請參閱「使用 S3 版本控制保留多個版本的物件」。

  • UpdateObjectEncryption 操作會在套用 S3 物件鎖定保留模式或法務保存的任何物件上失敗。如果物件具有控管模式保留期間或法務保存,您必須先移除物件上的物件鎖定狀態,才能發出UpdateObjectEncryption請求。您無法對套用物件鎖定合規模式保留期的物件使用 UpdateObjectEncryption操作。如需 S3 物件鎖定的詳細資訊,請參閱使用物件鎖定來鎖定物件

  • UpdateObjectEncryption 已啟用即時複寫的來源儲存貯體請求不會在目的地儲存貯體中啟動複本事件。如果您想要變更來源和目的地儲存貯體中物件的加密類型,則必須對來源和目的地儲存貯體中的物件啟動個別UpdateObjectEncryption的請求。

  • 根據預設,指定客戶受管 KMS 金鑰的所有UpdateObjectEncryption請求僅限於儲存貯體擁有者 擁有的 KMS 金鑰 AWS 帳戶。如果您使用的是 AWS Organizations,您可以透過聯絡 來請求使用組織內其他成員帳戶 AWS KMS keys 擁有的功能 AWS 支援。

  • 如果您使用 S3 批次複寫跨區域複寫資料集,且您的物件之前已將其伺服器端加密類型從 SSE-S3 更新為 SSE-KMS,您可能需要額外的許可。在來源區域儲存貯體上,您必須擁有 kms:decrypt 許可。然後,您將需要目的地區域中儲存貯體的 kms:decryptkms:encrypt許可。

  • UpdateObjectEncryption請求中提供完整的 KMS 金鑰 ARN。您無法使用別名名稱或別名 ARN。您可以在 AWS KMS 主控台或使用 AWS KMS DescribeKey API 來判斷完整的 KMS 金鑰 ARN。

如需 UpdateObjectEncryption 的相關資訊,請參閱 更新現有資料的伺服器端加密

所需的許可

若要執行UpdateObjectEncryption操作,請將下列 AWS Identity and Access Management (IAM) 政策新增至您的 IAM 主體 (使用者、角色或群組)。若要使用此政策,請將 取代amzn-s3-demo-bucket為包含您要更新加密之物件的儲存貯體名稱。amzn-s3-demo-manifest-bucket 將 取代為包含資訊清單的儲存貯體名稱,並將 取代amzn-s3-demo-completion-report-bucket為您要存放完成報告的儲存貯體名稱。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "S3BatchOperationsUpdateEncryption", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion", "s3:PutObject", "s3:UpdateObjectEncryption" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket-target" "arn:aws:s3:::amzn-s3-demo-bucket-target-target/*" ] }, { "Sid": "S3BatchOperationsPolicyForManifestFile", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket-manifest/*" ] }, { "Sid": "S3BatchOperationsPolicyForCompletionReport", "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket-completion-report/*" ] }, { "Sid": "S3BatchOperationsPolicyManifestGeneration", "Effect": "Allow", "Action": [ "s3:PutInventoryConfiguration" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket-target" ] }, { "Sid": "AllowKMSOperationsForS3BatchOperations", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:Encrypt", "kms:ReEncrypt*" ], "Resource": [ "arn:aws:kms:us-east-1:111122223333:key/01234567-89ab-cdef-0123-456789abcdef" ] } ] }

如需信任政策和許可政策,您必須連接到 S3 Batch Operations 服務主體擔任的 IAM 角色,以代表您執行 Batch Operations 任務,請參閱 授予批次操作的許可更新物件加密