Google app engine Google云存储上媒体文件的访问控制
我在app Engine上部署了一个社交媒体应用程序,用户可以在其中上传照片/视频,并与私人群组共享。对于写入,我有一个POST端点,它接受上载的文件并将它们写入一个非公共的GCS bucket。对于读取,GET端点使用云SQL检查此用户是否有权访问媒体文件-如果有,则返回文件流。该文件仅存储48小时,平均每天检索20次。使用Firebase电子邮件链接登录对用户进行身份验证Google app engine Google云存储上媒体文件的访问控制,google-app-engine,google-cloud-platform,google-cloud-storage,google-photos-api,Google App Engine,Google Cloud Platform,Google Cloud Storage,Google Photos Api,我在app Engine上部署了一个社交媒体应用程序,用户可以在其中上传照片/视频,并与私人群组共享。对于写入,我有一个POST端点,它接受上载的文件并将它们写入一个非公共的GCS bucket。对于读取,GET端点使用云SQL检查此用户是否有权访问媒体文件-如果有,则返回文件流。该文件仅存储48小时,平均每天检索20次。使用Firebase电子邮件链接登录对用户进行身份验证 当前方法的问题是,我的GET端点是一个昂贵的中间人,用于读取GCS文件流并将其传递给客户机,这增加了调用API的成本 在
这是我学习GCP的第一周,所以我在上面提到的一些问题上可能错了。
你不应该考虑3(明显的安全原因),也不应该考虑4(处理ACL可能变得困难+你提到的限制)。我不知道谷歌照片,所以我对6没有意见。第五个解决方案很聪明,您可以直接将签名的URL存储到您的云SQL中。但是,当前的方法是否非常昂贵,以至于您需要实施另一个解决方案?毕竟,从bucket到App引擎检索文件流似乎并不那么昂贵,有什么困扰您呢?我还没有在生产中测试当前的解决方案。只是感觉从地面军事系统加载数据并在没有任何处理的情况下传递给客户是错误的。它将增加从GCS获取计算实例的网络成本,以及读取文件流实例的计算成本。