S3安全和加密选项

S3的安全性

  • 默认情况下,所有新创建的S3存储桶都是私有的,只有存储桶的创建者/拥有者才能访问
  • 你可以通过桶策略(Bucket Policy)访问控制列表(Access Control Lists)两个方法来控制S3存储桶的安全性
  • S3存储桶的访问日志可以存到另一个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之前使用客户端来对数据进行加密

更多参考资料详见在 Amazon S3 中保护数据

S3传输加速

一般来说,我们在上传文件到S3存储桶的时候,是直接通过Internet将数据传输到位于某一个区域的S3存储桶。但如果我们的存储桶位于一个离用户比较远的区域(比如说S3存储桶位于东京区域,而我们的用户位于中国),那么基于Internet的传输速度就会非常慢。

这个时候使用S3传输加速 (Amazon S3 Transfer Acceleration),可以利用AWS CloudFront CDN网络的边缘节点(Edge Locations)加速传输的过程。我们可以将数据上传到离我们最近的边缘节点(比如说香港),然后再通过AWS内部网络(更高速,更稳定)传输到东京区域的S3存储桶。

在以下情形下你可能就需要考虑使用S3传输加速:

  • 您位于全球各地的客户需要上传到集中式存储桶
  • 您定期跨大洲传输数 GB 至数 TB 数据
  • 您在上传到 Amazon S3 时未充分利用 Internet 上的可用带宽

使用S3托管一个静态网站

您可以在 Amazon Simple Storage Service (Amazon S3) 上托管静态网站。这个静态网站可以包含HTML,图片和视频等静态文件,也可以包含客户端脚本。

但是这个静态网站不支持服务端处理的脚本,比如PHP、JSP或者ASP.NET。

假设S3存储桶的名字是aws-cloudbin-com,那么访问其中的index.html文件的路径是

  • 普通的S3 URL:https://s3.ap-northeast-2.amazonaws.com/itilv4.cn/index.html
  • S3托管的静态网站URL:http://itilv4.cn.s3-website-ap-northeast-2.amazonaws.com

请留意其中的区别,这个内容在SAA考试中经常会涉及。

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据