【问题标题】:aws s3: restrict read access to named clientsaws s3:限制对命名客户端的读取访问
【发布时间】:2018-08-26 16:31:36
【问题描述】:

我知道我可以通过在存储桶策略中使用“aws:SourceIp”来限制通过 http 对我的 s3 资源的读取访问。但由于我为几个客户提供服务,我最终会得到一个 IP 地址列表。由于无法在存储桶策略 json 中添加 cmets,因此我觉得这是未记录的,并且当客户更改时很难为其他人维护。 有没有更优雅和自我解释的方式来维护这个? 我的第一个想法是创建一个带有客户端的 DNS 区域并使用策略中的名称。这样的做法是可行的还是最佳做法?

【问题讨论】:

  • 考虑使用 CloudFormation 创建和应用 S3 存储桶策略。用 YAML 编写模板,这样您就可以添加 cmets,然后在需要更改客户端 IP 时简单地更新模板,然后运行 ​​CloudFormation 更新。然后您可以对政策进行修订控制。

标签: amazon-web-services amazon-s3 policy bucket


【解决方案1】:

如果您有多个客户端并且可以识别它们,恕我直言,最好的做法是使用(预)签名的 url。

这意味着您可以拥有一个基于客户端身份验证和授权的单独服务(web、lambda、api 等)将为客户端返回一个签名的临时 url

你是对的,策略并不是真正可行的地方来维护和记录复杂或动态的元素。

如果你想坚持纯 s3 和策略,你可以使用 Cloudformation 部署/更新策略,使用 yaml 你可以评论或参数化几乎任何值

【讨论】:

  • 刚刚开始阅读有关 cloudformation 的内容,并且喜欢结合版本控制来描述组件的想法。感谢那。有用的上下文比我的小问题要广泛得多。
猜你喜欢
  • 2020-09-27
  • 2018-08-31
  • 2017-10-10
  • 1970-01-01
  • 1970-01-01
  • 2019-09-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多