aws s3:限制对命名客户端的读取访问

aws s3: restrict read access to named clients

我知道我可以通过在存储桶策略中使用 "aws:SourceIp" 通过 http 限制对我的 s3 资源的读取访问。但是由于我为多个客户提供服务,所以我最终会得到一个 IP 地址列表。由于无法在存储桶策略 json 中添加评论,我觉得这是没有记录的,并且当客户发生变化时很难为其他人维护。 是否有更优雅和自我解释的方式来维护它? 我的第一个想法是创建一个带有客户端的 DNS 区域并使用策略中的名称。这样的事情是否可行或最佳实践?

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

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

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

尽管如果您想坚持纯 s3 和策略,您可以 deploy/update 使用 Cloudformation 的策略,其中使用 yaml 您可以评论或参数化几乎任何值