发布于: Jun 28, 2022

2006 年,Amazon S3 可扩展云存储作为 Amazon Web Services 发布的第一款公有云服务面世,如今,成千上万的 Amazon Web Services 客户在利用 S3 创造各类激动人心的应用。从企业数据湖、机器学习存储,到 HPC、渲染场景中的高性能共享存储,再到广泛的 web 应用中存储静态资源、日志、文件,Amazon S3 以其高扩展性、高持久性、低成本的特性,在云原生架构中发挥了至关重要的作用。

大量的企业的数字资产存储在 Amazon S3 上,随之而来的问题是我们如何做好 S3 数据的安全保护?

Amazon S3 本身提供了丰富的安全功能,作为企业的安全团队及 IT 研发、运维团队,应在自上而下的安全策略、基线、操作制定(Due Care)的基础上,积极并持续地评估 Amazon S3 以及其他 Amazon Web Services 服务所提供的各项安全功能,进行自下而上的安全防护措施的设计和落地(Due Diligence)。

本篇博客将为读者总结 Amazon S3 相关的访问控制功能,给出通用最佳实践供读者参考,并尝试在 S3 访问控制的几项主要机制做深入的探讨。

Amazon S3 提供了大量访问控制相关的功能,包括但不限于,

  1. Bucket ACL/Object ACL
  2. Bucket policy
  3. IAM policy (principle policy)
  4. Access Points
  5. Block Public Access
  6. Access Analyzer for S3

持续的安全功能发布有时会让客户感到疑惑,这么多的访问控制功能,是否属于过度设计,从易用性上是否打了折扣?

Amazon 所践行的十四条领导力准则提到了‘客户至尚’和‘创新简化’,同时 Amazon 的产品开发方法论也提倡 ‘Working Backwards’。遵照这些理念,Amazon Web Services 始终站在客户的角度开发客户所需要的服务和功能,也保证了新发布的每个功能都对应着一套原本难以解决的客户挑战。在我们的现实世界中有大量的业务场景,对 S3 对象存储的访问控制提出了多角度要求,比如如何确保访问者和资源拥有者都能分别从自身需求角度管理访问权限,如何管理多账号甚至跨供应商的 S3 访问,如何在一个复杂组织中方便而精准地部署细粒度访问控制,如何在强制实施安全策略的同时给到业务、研发部门最大化的灵活度… 正是由于现实世界的需求驱动,才有了当前丰富的访问控制功能,同时每种新功能的发布都会确保对尚未探索该功能的客户的兼容和不受影响。

以下表格尝试将与 S3 访问控制相关的 Amazon Web Services 功能映射到 CIA 安全模型:

Confidentiality

Integrity

Availability

IAM Policy

IAM Policy

3AZ Availability (99.99%)

Bucket Policy

Bucket Policy

11 9’s Durability (99.999999999%)

ACL

ACL

MFA Delete

Block Public Access

Block Public Access

Versioning

Access Point

Access Analyzer

Cross Region Replicate

Access Analyzer

Guardduty

Access Point

Server Side Encryption

Object Lock

 

Enforced HTTPS

Versioning

 

Macie

VPC Endpoint

 

 

MFA Delete

 

除上述功能,Amazon Web Services 还提供大量服务和功能从监控、审计角度对 S3 的安全和访问控制方面进行了加强,包括但不限于 Amazon Cloudtrail, Amazon Trusted Advisor, Amazon S3 Access Log, Amazon CloudWatch, Amazon Config 等等。

相关文章