S3 Express One Zone 中的数据保护和加密
有关 S3 Express One Zone 如何加密和保护数据的更多信息,请参阅以下主题。
服务器端加密
默认情况下,所有目录存储桶都配置了加密,所有上传到目录存储桶的新对象都会自动静态加密。具有 Amazon S3 托管式密钥的服务器端加密(SSE-S3)是每个目录存储桶的默认加密配置。如果要指定不同的加密类型,则可以通过设置存储桶的默认加密配置,来使用具有 AWS Key Management Service(AWS KMS)密钥的服务器端加密(SSE-KMS)。有关目录存储桶中的 SSE-KMS 的更多信息,请参阅在目录存储桶中使用具有 AWS KMS 密钥的服务器端加密(SSE-KMS)。
我们建议存储桶的默认加密使用所需的加密配置,并且不要在 CreateSession
请求或 PUT
对象请求中覆盖存储桶默认加密。然后,使用所需的加密设置自动对新对象进行加密。有关目录存储桶中加密覆盖行为的更多信息,请参阅 Specifying server-side encryption with AWS KMS for new object uploads。
目录存储桶中的 SSE-KMS 与通用存储桶中的 SSE-KMS 在以下几个方面有所不同。
-
在存储桶的生命周期内,SSE-KMS 配置只能支持每个目录存储桶 1 个 customer managed key。AWS 托管式密钥 (
aws/s3
) 不受支持。此外,在为 SSE-KMS 指定客户自主管理型密钥后,无法覆盖存储桶的 SSE-KMS 配置的客户自主管理型密钥。可以通过以下方式,确定您为存储桶的 SSE-KMS 配置指定的客户自主管理型密钥:
您发出
HeadObject
API 操作请求以查找响应中x-amz-server-side-encryption-aws-kms-key-id
的值。
要对数据使用新的客户自主管理型密钥,我们建议使用新的客户自主管理型密钥将现有对象复制到新的目录存储桶中。
-
对于除 CopyObject 和 UploadPartCopy 之外的可用区端点(对象级)API 操作,可以通过 CreateSession 验证请求和为请求授权,以实现低延迟。我们建议存储桶的默认加密使用所需的加密配置,并且不要在
CreateSession
请求或PUT
对象请求中覆盖存储桶默认加密。然后,使用所需的加密设置自动对新对象进行加密。要使用 SSE-KMS 加密目录存储桶中的新对象,必须将具有 KMS 密钥(特别是 customer managed key)的 SSE-KMS 指定为目录存储桶的默认加密配置。然后,在为可用区端点 API 操作创建会话时,将在会话期间使用 SSE-KMS 和 S3 存储桶密钥自动加密和解密新对象。有关目录存储桶中加密覆盖行为的更多信息,请参阅 Specifying server-side encryption with AWS KMS for new object uploads。在可用区端点 API 调用(CopyObject 和 UploadPartCopy 除外)中,无法覆盖
CreateSession
请求中加密设置(x-amz-server-side-encryption
、x-amz-server-side-encryption-aws-kms-key-id
、x-amz-server-side-encryption-context
和x-amz-server-side-encryption-bucket-key-enabled
)的值。无需在可用区端点 API 调用中显式指定这些加密设置值,Amazon S3 将使用CreateSession
请求中的加密设置值来保护目录存储桶中的新对象。注意
当您使用 AWS CLI 或 AWS SDK 时,对于
CreateSession
,会话令牌会自动刷新,以避免在会话到期时服务中断。AWS CLI 或 AWS SDK 将存储桶的默认加密配置用于CreateSession
请求。不支持覆盖CreateSession
请求中的加密设置值。此外,在可用区端点 API 调用(CopyObject 和 UploadPartCopy 除外)中,不支持覆盖CreateSession
请求中加密设置的值。 -
对于 CopyObject,要使用 SSE-KMS 加密目录存储桶中新的对象副本,必须将具有 KMS 密钥(特别是 customer managed key)的 SSE-KMS 指定为目录存储桶的默认加密配置。然后,当您使用 SSE-KMS 为新的对象副本指定服务器端加密设置时,必须确保加密密钥与您为目录存储桶的默认加密配置指定的客户自主管理型密钥相同。对于 UploadPartCopy,要使用 SSE-KMS 加密目录存储桶中新的对象分段副本,必须将具有 KMS 密钥(特别是 customer managed key)的 SSE-KMS 指定为目录存储桶的默认加密配置。无法在 UploadPartCopy 请求标头中使用 SSE-KMS 为新的对象分段副本指定服务器端加密设置。此外,您在 CreateMultipartUpload 请求中提供的加密设置必须与目标存储桶的默认加密配置相匹配。
-
始终为目录存储桶中的
GET
和PUT
操作启用 S3 存储桶密钥,并且不能禁用。当您通过 CopyObject、UploadPartCopy、批量操作中的 Copy 操作或 import 任务,将 SSE-KMS 加密的对象从通用存储桶复制到目录存储桶、从目录存储桶复制到通用存储桶,或在目录存储桶之间复制时,不支持 S3 存储桶密钥。在这种情况下,每次对 KMS 加密的对象发出复制请求时,Amazon S3 都会调用 AWS KMS。 -
当您在目录存储桶中指定用于加密的 AWS KMS customer managed key 时,请仅使用密钥 ID 或密钥 ARN。不支持 KMS 密钥的密钥别名格式。
目录存储桶不支持具有 AWS Key Management Service(AWS KMS)密钥的双层服务器端加密(DSSE-KMS),也不支持具有客户提供的加密密钥的服务器端加密(SSE-C)。
传输中加密
只能通过 HTTPS(TLS)访问 S3 Express One Zone。
S3 Express One Zone 使用区域和可用区 API 端点。根据您使用的 Amazon S3 API 操作,需要区域端点或可用区端点。您可以通过网关虚拟私有云(VPC)端点访问区域端点和可用区端点。使用网关端点不会发生任何额外费用。要了解有关区域和可用区 API 端点的更多信息,请参阅S3 Express One Zone 联网。
其他校验和
S3 Express One Zone 可让您选择用于在上传或下载过程中验证数据的校验和算法。您可以选择以下安全哈希算法(SHA)或循环冗余校验(CRC)数据完整性检查算法之一:CRC32、CRC32C、SHA-1 和 SHA-256。S3 Express One Zone 存储类不支持基于 MD5 的校验和。
有关更多信息,请参阅 其他 S3 校验和最佳实践。
数据删除
您可以使用 Amazon S3 控制台、AWS SDK、AWS Command Line Interface(AWS CLI)或 Amazon S3 REST API,直接从 S3 Express One Zone 删除一个或多个对象。由于目录存储桶中的所有对象都会产生存储费用,因此建议您删除不再需要的对象。
删除存储在目录存储桶中的对象也会递归地删除所有父目录,前提是在要删除的对象之外,这些父目录不包含其他任何对象。
注意
S3 Express One Zone 不支持多重身份验证(MFA)删除和 S3 版本控制。