在我的 Amazon Simple Storage Service (Amazon S3) 桶上,我使用 AWS Key Management Service (AWS KMS) 启用了默认加密。我想知道新对象和现有对象的加密方式会有什么变化。
解决方法
在您的桶上启用默认 AWS KMS 加密后,Amazon S3 仅将该加密应用于没有加密设置的新上传对象。
默认桶加密不会更改现有对象的加密设置。例如,如果您在桶上启用具有 AWS KMS 的服务器端加密 (SSE-KMS),则桶中已经存在的任何未加密对象将保持未加密状态。此外,任何已经通过 SSE-KMS、SSE-S3 或 SSE-C 加密的对象将依然使用各自的密钥进行加密。
默认桶加密也不会覆盖您在上传新对象时指定的加密设置。例如,对于默认使用 SSE-KMS 加密的桶,如果您在 PutObject 请求中指定使用 AES256 加密,那么该对象将使用 AES256 加密 (SSE-S3)。
如果您的桶有默认加密方式,但您看到新上传的对象使用了不同的加密设置,请查看 AWS CloudTrail 数据事件日志。PUT、POST 和 InitiateMultipartUpload API 请求的日志有一个 SSEApplied 字段。如果此字段的值为 Default_SSE_S3 或 Default_SSE_KMS,则该对象使用了默认加密。如果该值为 SSE_S3 或 SSE_KMS,则该对象在 PutObject 请求中指定了加密设置。
**注意:**为了要求用户使用 SSE-KMS 上传对象,请使用桶策略、接入点策略或 AWS Organizations 服务控制策略。