Loading...

Amazon S3 Express One Zone 现在支持使用客户管理的 AWS KMS 密钥

2026-01-27 11:42:57

Amazon S3 Express One Zone 支持AWS KMS自管密钥

关键内容

Amazon S3 Express One Zone 现已支持使用 AWS KMS 的自管密钥进行服务器端加密SSEKMS。此功能允许用户在存储数据时提供更多合规及监管要求的灵活性,并且不会影响性能。用户可以通过 AWS CLI 设置加密配置,支持多种操作和权限管理。

Amazon S3 Express One Zone 是一种高性能的单可用区Availability ZoneS3 存储类,现在可以使用 AWS 密钥管理服务 (KMS) 进行服务器端加密。S3 Express One Zone 默认情况下会使用 Amazon S3 管理密钥 (SSES3) 加密所有存储在 S3 目录桶 中的对象。现在,您可以使用 AWS KMS 自管密钥 来加密静态数据,而不会对性能产生影响。这项新的加密功能,为您在使用 S3 Express One Zone 时满足合规和监管要求提供了额外选择。S3 Express One Zone 旨在为最常访问的数据和对延迟敏感的应用程序提供一致的单数毫秒数据访问。

功能描述加密支持支持使用 AWS KMS 自管密钥进行 SSEKMS 加密,同时支持默认的 SSES3 加密。性能使用 SSEKMS 不会影响请求延迟,仍能保持单数毫秒的数据访问。权限管理每个 S3 目录桶只能指定一个自管密钥进行加密,添加后不支持更改。同时,使用 AWS CLI 需要 IAM 用户或角色的相关权限。定价信息使用 AWS KMS 生成和检索数据密钥时会产生费用,同时 S3 Bucket Key 默认启用,减少对 AWS KMS 的请求次数从而优化性能和成本。

使用 SSEKMS 配置 Amazon S3 Express One Zone

为了演示这个新功能,我首先在 Amazon S3 控制台 中创建一个 S3 目录桶,按照 创建 S3 目录桶 的步骤,选择可用区 apne1az4。在 基础名称 中输入 s3expresskms,系统会自动添加一个后缀以创建最终名称。勾选确认 数据存储在单个可用区,然后点击 创建桶。

接下来,我将通过 AWS 命令行界面 (AWS CLI) 来设置我们刚创建的桶的加密。

使用 SSEKMS 加密需要 IAM 用户或角色,并附加相应的 策略。该策略允许执行 CreateSession API 操作,以便成功上传和下载加密文件。

json{ Version 20121017 Statement [ { Effect Allow Action [ s3expressCreateSession ] Resource [ arnawss3expressltaccountgtbucket/s3expresskmsapne1az4xs3 ] } { Effect Allow Action [ kmsDecrypt kmsGenerateDataKey ] Resource [ arnawskmsltaccountgtkey/ltkeyIdgt ] } ]}

我将使用 PutBucketEncryption API 设置默认的桶加密为 SSEKMS。以下是 AWS CLI 的示例命令:

bashaws s3api putbucketencryption bucket s3expresskmsapne1az4xs3 serversideencryptionconfiguration {Rules [{ApplyServerSideEncryptionByDefault {SSEAlgorithm awskms KMSMasterKeyID 1234abcd12ab34cd56ef1234567890ab } BucketKeyEnabledtrue}]}

Amazon S3 Express One Zone 现在支持使用客户管理的 AWS KMS 密钥

我上传到该 S3 目录桶的每个新对象都会自动使用我的 AWS KMS 密钥进行加密。使用 PutObject 命令上传一个名为 confidentialdoctxt 的新文件。

bashaws s3api putobject bucket s3expresskmsapne1az4xs3 key confidentialdoctxt body confidentialdoctxt

在执行成功后,将收到以下响应:

json{ ETag 664469eeb92c4218bbdcf92ca559d03b ChecksumCRC32 0duteA== ServerSideEncryption awskms SSEKMSKeyId arnawskmsapnortheast1ltaccountIdgtkey/ltkeyIdgt BucketKeyEnabled true}

通过 HeadObject 命令检查对象属性时,会看到它使用了之前创建的 SSEKMS 加密:

bashaws s3api headobject bucket s3expresskmsapne1az4xs3 key confidentialdoctxt

返回结果如下:

json{ AcceptRanges bytes LastModified 20240821T1529220000 ContentLength 5 ETag 664469eeb92c4218bbdcf92ca559d03b ContentType binary/octetstream ServerSideEncryption awskms Metadata {} SSEKMSKeyId arnawskmsapnortheast1ltaccountIdgtkey/ltkeyIdgt BucketKeyEnabled true StorageClass EXPRESSONEZONE}

我使用 GetObject 下载加密对象:

bashaws s3api getobject bucket s3expresskmsapne1az4xs3 key confidentialdoctxt outputconfidentialdoctxt

由于我的会话拥有必要的权限,文件将自动下载并解密。

json{ AcceptRanges bytes LastModified 20240821T1529220000 ContentLength 5 ETag 664469eeb92c4218bbdcf92ca559d03b ContentType binary/octetstream ServerSideEncryption awskms Metadata {} SSEKMSKeyId arnawskmsapnortheast1ltaccountIdgtkey/ltkeyIdgt BucketKeyEnabled true StorageClass EXPRESSONEZONE}

在第二次测试中,我使用的 IAM 用户没有被授予下载对象所需的 KMS 密钥权限。这次尝试以 AccessDenied 错误失败,展示了 SSEKMS 加密功能的正常工作。

bashAn error occurred (AccessDenied) when calling the CreateSession operation Access Denied

这个演示展示了 SSEKMS 如何与 S3 Express One Zone 无缝配合,提供了一层额外的安全保护,同时为授权用户保持了易用性。

使用须知

开始 您可以使用 AWS CLI 或 AWS SDK 启用 S3 Express One Zone 的 SSEKMS。设置 S3 目录桶的默认加密配置为 SSEKMS,并指定您的 AWS KMS 密钥。请注意,每个 S3 目录桶只能使用一个自管密钥。区域 S3 Express One Zone 对 SSEKMS 的自管密钥支持在所有 AWS 区域中 可用。性能 使用 SSEKMS 的 S3 Express One Zone 不会影响请求延迟,您仍能体验到单数毫秒的数据访问。定价 使用 AWS KMS 生成和检索数据密钥时会产生费用。关于更多细节,请访问 AWS KMS 定价页面。此外,使用 SSEKMS 的 S3 Express One Zone 默认启用 S3 Bucket Keys,从而减少对 AWS KMS 的请求数量高达 99,从而优化性能和成本。AWS CloudTrail 集成 您可以使用 AWS CloudTrail 审核 S3 Express One Zone 对象的 SSEKMS 操作。有关详细信息,请查看 我之前的博文。

Eli

加速器永久免费

更新于2024年9月19日 我们更新了 CLI 示例,以便为现有桶配置默认加密,而不是通过控制台进行设置。

Elizabeth Fuentes

我的使命是将复杂的概念拆解为易于理解的解释,激励开发者不断扩展他们的技能与知识。通过会议、教程和在线资源,我分享我的专业知识,助力全球开发者社区,为他们提供达到潜能的工具与信心。通过实操方式和简化复杂的承诺,我努力成为推动AWS技术领域增长与学习的催化剂。

加载评论

Azure 可能因 Apache Airflow 漏洞而受到威胁 媒体
Azure 可能因 Apache Airflow 漏洞而受到威胁 媒体

微软Azure Data Factory中的Apache Airflow安全漏洞关键要点微软Azure Data Factory中的Apache Airflow受到三项低严重性漏洞影响。包括Kuber...