【发布时间】:2018-09-28 19:56:30
【问题描述】:
我正在评估在我的新项目中使用 GCP,但是,我仍在尝试弄清楚如何实现以下功能以及它将产生什么样的成本。
TL;DR
从 GCP 为用户上传的媒体提供服务,同时让用户完全控制谁可以访问它们的最佳策略是什么?
功能说明
作为用户,我想以私密且安全的方式上传某种媒体(例如:图片、视频等)。
媒体必须对我和我已授予访问权限的特定用户子组可见。
任何人都不能访问媒体,即使他获得了 URL。
媒体内容随后将显示在网站上。
困境
我想使用 Cloud Storage 来存储所有媒体,但是,我正在努力为授权部分找到合适的解决方案。
据我所知,与“访问控制”相关的功能大多是在项目和组织级别定制的。
到目前为止,最接近的功能是签名 URL,但这并不能满足即使您拥有该 URL 也无法访问它的要求,即使它很快就会过期,也许它可能是一个很好的折衷方案。 这种方法的另一个问题是媒体无法在浏览器级别缓存,从长远来看,这可以节省相当多的带宽......
昂贵的解决方案?
我想到的一个解决方案是,我可以通过 GCE 实例提供它,方法是在其中放置一个验证用户的应用程序,可能通过 JWT,然后在使用适当的缓存标头时将其流回。
这应该可以满足所有要求,但我担心出口成本会飙升:(
感谢愿意提供帮助的人!
【问题讨论】:
-
无论是来自 GCE 还是 GCS,您都会收取相同的出口价格?
-
@Hitobat 你是对的,现在我仔细检查了,CE 和 Storage 之间的流量对于同一区域应该是免费的,所以唯一的出口成本是 CE 的,这确实是一样的作为存储!感谢您指出:)
标签: google-cloud-platform google-cloud-storage access-control