S3的安全性
- 默认情况下,所有新创建的S3存储桶都是私有的,只有存储桶的创建者/拥有者才能访问
- 你可以通过桶策略(Bucket Policy)和访问控制列表(Access Control Lists)两个方法来控制S3存储桶的安全性
- S3存储桶的访问日志可以存到另一个S3存储桶里面,方便对日志进行查看
- IAM角色用于需要Amazon S3 访问权限的应用程序和AWS服务
- 考虑S3对象锁定
- 考虑使用VPC断点进行Amazon S3访问
- 实施传输中数据加密以及考虑加密静态数据
S3加密选项
传输过程中的加密(In Transit)
使用SSL/TLS加密,即使用HTTPS而不是HTTP来传输从S3到客户端之间的数据。
处于静态下的加密(At Rest)
- 使用服务器端加密保护数据(Server Side Encryption,SSE)
- 即在Amazon S3将你的数据写入物理磁盘的时候加密这些数据,并在你需要访问这些数据的时候再对其进行解密
- Amazon S3 托管密钥的服务器端加密 (SSE-S3) – 使用256位AES-256加密标准进行加密,并且主密钥会定期轮换
- AWS KMS 托管密钥的服务器端加密 (SSE-KMS) – 使用AWS提供的密钥管理系统,有更多的密钥管理能力
- 服务器端加密与客户提供的密钥一起使用 (SSE-C) – 你来提供和管理加密密钥,S3负责加密和解密
- 使用客户端加密保护数据(Client Side Encryption)
- 在数据发送到Amazon S3之前使用客户端来对数据进行加密