记录一下AWS对S3支持加密的方式和实现方法
服务端加密
使用服务器端加密保护数据
- Amazon Simple Storage Service
客户端加密
使用客户端加密保护数据
- Amazon Simple Storage Service
对比表格
| 加密端 |
支持的方法 |
备注 |
| 服务端 |
具有 Amazon S3 托管密钥的服务器端加密 (SSE-S3) |
当您使用具有 Amazon S3 托管密钥的服务器端加密 (SSE-S3)
时,每个对象均使用唯一密钥加密。作为额外的保护,将使用定期轮换的根密钥加密密钥本身。Amazon
S3 服务器端加密使用可用的最强数据块密码之一、256 位高级加密标准
(AES-256) 来加密您的数据。 |
| 服务端 |
在 AWS Key Management Service 中存储KMS密钥的服务器端加密
(SSE-KMS) |
AWS KMS keys 的服务器端加密 (SSE-KMS) 与 SSE-S3
类似,使用该服务具有一些另外的好处,但也要收取更多的费用。使用 KMS
密钥需要单独的权限,该密钥可进一步防止未经授权地访问 Amazon S3
中的对象。SSE-KMS 还向您提供审核跟踪,显示您的
KMS密钥的使用时间和使用者。此外,您还可以创建和管理客户托管密钥,或者使用您、服务和区域独有的
AWS 托管密钥。 |
| 服务端 |
具有客户提供密钥的服务器端加密 (SSE-C) |
使用具有客户提供密钥的服务器端加密 (SSE-C) 时,您管理加密密钥,而
Amazon S3
管理加密(在它对磁盘进行写入时)和解密(在您访问您的对象时)。 |
| 客户端 |
使用 AWS KMS 中存储的 KMS 密钥 |
|
| 客户端 |
使用在应用程序中存储的密钥 |
|
思维脑图
S3 加密流程图
价格情况