在过去几天里,我研究了Google云存储桶。我想知道如何在访问数据时验证和授权用户,最好不使用后端。
上下文:我有一个应用程序,具有以下要求:经过身份验证的最终用户应能够将数据上载到存储区(或其存储区),默认读取权限仅限于用户。存储区的所有者应随时允许存储区内容向公众公开(发布存储区内容,只读)。
目前,终端用户通过浏览器上的JWT进行身份验证。
我已经研究了控制对存储桶的访问的不同方法。
据我了解:
- IAM不适用于Google帐户,应在公司内部使用,而不是用于验证最终用户(客户端)
- ACL似乎不被推荐使用,它被描述为一种用于与S3互操作的传统方法
- 签名的网址是“确定”的上传,但我宁愿有一个真正的认证方式上传。
我完全不清楚的是:可以使用什么访问控制方法来验证我的最终用户(首选JWT),尤其是阅读数据的用户?
这似乎是每个人都应该面对的问题,但我似乎找不到好的信息?我知道Firebase的存在就是因为这个原因,我只是想知道如何在GCP上解决这个问题。
2条答案
按热度按时间wnavrhmk1#
除了签名的URL和一个后端(我知道这违反了你的要求),没有其他的解决方案来检查身份验证并生成签名的URL(只在相关/授权的文件上)
ohtdti5x2#
当纯粹在GCP中实现这一点时,您通常会为客户端实现自己的授权解决方案,然后在服务器端代码中实现自己的授权模型。
如果你不想自己实现这一点,使用Firebase来访问云存储将是一个不错的选择,它实现了客户端身份验证和服务器端安全规则来控制访问。