View a markdown version of this page

新存储桶的默认 SSE-C 设置常见问题解答 - Amazon Simple Storage Service

新存储桶的默认 SSE-C 设置常见问题解答

重要

正如 2025 年 11 月 19 日宣布的那样,Amazon Simple Storage Service 正在部署新的默认存储桶安全设置,该设置将对所有新的通用存储桶自动禁用具有客户提供的密钥的服务器端加密(SSE-C)。对于 AWS 账户中没有 SSE-C 加密对象的现有存储桶,Amazon S3 还将对所有新的写入请求禁用 SSE-C。对于使用 SSE-C 的 AWS 账户,Amazon S3 不会更改这些账户中任何现有存储桶的存储桶加密配置。此次部署于 2026 年 4 月 6 日启动,并将在接下来的几周内在 37 个 AWS 区域完成,包括 AWS 中国和 AWS GovCloud(美国)区域。

通过这些更改,需要 SSE-C 加密的应用程序必须在创建新的存储桶后,专门使用 PutBucketEncryption API 操作启用 SSE-C。

以下各部分回答了有关此更新的问题。

1. 2026 年 4 月,新的 SSE-C 设置是否会对所有新创建的存储桶生效?

可以。此次部署于 2026 年 4 月 6 日启动,并将在接下来的几周内在 37 个 AWS 区域完成,包括 AWS 中国和 AWS GovCloud(美国)区域。

注意

部署完成后,在除中东(巴林)和中东(阿联酋)之外的所有 AWS 区域中新创建的存储桶将默认禁用 SSE-C。

2. 这次推出需要多长时间才能涵盖所有 AWS 区域?

部署于 2026 年 4 月 6 日开始,将在几周后完成。

3. 我怎么知道更新已完成?

您可以创建新的存储桶,然后调用 GetBucketEncryption API 操作来确定是否已禁用 SSE-C 加密,从而轻松地确定您所在的 AWS 区域是否已完成更改。更新完成后,默认情况下,所有新的通用存储桶都将自动禁用 SSE-C 加密。您可以在创建 S3 存储桶后,通过调用 PutBucketEncryption API 操作调整这些设置。

4. Amazon S3 会更新我现有的桶配置吗?

如果您的 AWS 账户中没有任何 SSE-C 加密对象,则 AWS 将在所有现有存储桶上禁用 SSE-C 加密。如果您的 AWS 账户中的所有存储桶都包含 SSE-C 加密对象,则 AWS 不会更改该账户中任何存储桶的存储桶配置。您所在 AWS 区域的 CreateBucket 更改完成后,新的默认设置将应用于所有新的通用存储桶。

5. 我能否在更新完成之前对存储桶禁用 SSE-C 加密?

可以。您可以调用 PutBucketEncryption API 操作并指定新的 BlockedEncryptionTypes 标头,为所有存储桶禁用 SSE-C 加密。

6. 我能否使用 SSE-C 对新存储桶中的数据进行加密?

可以。Amazon S3 中的大多数现代化使用案例不再使用 SSE-C,因为相比具有 Amazon S3 托管式密钥的服务器端加密(SSE-S3)或具有 AWS KMS 密钥的服务器端加密(SSE-KMS),这种方法欠缺灵活性。如果您需要在新存储桶中使用 SSE-C 加密,则可以创建新的存储桶,然后在单独的 PutBucketEncryption 请求中启用 SSE-C 加密。

示例

aws s3api create-bucket \ bucket amzn-s3-demo-bucket \ region us-east-1 \ aws s3api put-bucket-encryption \ -- bucket amzn-s3-demo-bucket \ -- server-side-encryption-configuration \ '{ \Rules\: [{ { \ApplyServerSideEncryptionByDefault\: { \SSEAlgorithm\: \AES256\, }, \BlockedEncryptionTypes\: [ \EncryptionType\:\NONE\] } }] }'
注意

您必须拥有调用 PutBucketEncryption API 的 s3:PutEncryptionConfiguration 权限。

7. 阻止 SSE-C 会如何影响对我的存储桶的请求?

为存储桶阻止了 SSE-C 之后,任何指定 SSE-C 加密的 PutObjectCopyObjectPostObject 或者分段上传或复制请求都将被拒绝,并返回 HTTP 403 AccessDenied 错误。