保护敏感 S3 数据:问题与解决方案
发布: (2026年2月4日 GMT+8 15:56)
3 分钟阅读
原文: Dev.to
Source: Dev.to

问题:敏感数据与细粒度访问
想象一下,你的公司将客户通话记录存放在 Amazon S3 桶中。这些数据包含 PII(个人身份信息),因此必须在静止时加密。
普通加密不足以满足需求。只有特定员工(例如合规团队)能够解密并读取这些日志。即使系统管理员能够访问 S3 桶本身,也不应能够读取这些敏感数据。
挑战
如何在尽可能少的运维工作量下,强制加密并严格限制谁可以使用解密密钥?
解决方案:带 IAM 策略的 SSE‑KMS
最有效的方案是使用 AWS KMS 密钥的服务器端加密(SSE‑KMS),并配合限制性的 IAM 策略。

工作原理
- SSE‑KMS:不使用 S3 的透明密钥管理(SSE‑S3),而是使用 AWS 密钥管理服务(KMS)。这样可以为这些通话记录创建专用的客户托管密钥(CMK)。
- 密钥策略:配置密钥策略(或为用户附加 IAM 策略),明确仅允许指定的员工(例如合规团队)对该密钥执行
kms:Decrypt。
结果
如果普通管理员尝试下载对象,S3 可能会让他们获取文件,但因为他们没有使用 KMS 密钥的权限,数据仍然是乱码、加密状态。
为什么此方案更优
- 将 存储访问 与 数据访问 分离。
- 符合 最小特权原则。
- 不需要额外硬件(无需 CloudHSM),也不需要在自己的服务器上手动管理密钥(无需 SSE‑C)。