【问题标题】:Can I have GCS private isolated buckets with a unique api key per bucket?我可以让 GCS 私有隔离存储桶,每个存储桶具有唯一的 api 密钥吗?
【发布时间】:2015-04-29 10:56:59
【问题描述】:
我想向我的每个客户授予在我启用了 GCS 的应用下访问他们自己的存储桶的权限。
我还需要确保用户的存储桶不受其他用户操作的影响。
最后但同样重要的是,客户将是一个客户端应用程序,因此整个过程需要透明地完成,无需要求用户登录。
如果我在每个存储桶上应用 ACL,仅向我想要的用户授予访问权限,我是否可以仅为该存储桶创建 API 密钥并将该 API 密钥交给客户端应用程序以执行 GCS API 调用?
【问题讨论】:
标签:
google-app-engine
google-cloud-storage
google-app-engine-python
【解决方案1】:
很遗憾,这里只有两个不错的选择:
拥有一项服务,可根据您喜欢的任何方案(一些安装许可证、创建时分配的随机 GUID 等)对单个应用程序进行身份验证,并提供 GCS 签名的 URL,然后最终用户可以将其用于单个操作,例如上传对象或列出存储桶的内容。这里的缺点是所有请求都必须涉及您的服务。所有资源都将完全属于您的应用程序。
放弃“不要求用户登录”要求,并要求在安装时进行一次 Google 登录。