从Google云端存储区访问私有文件

时间:2016-12-29 00:50:02

标签: google-cloud-storage google-cloud-platform

我有一个REST api,它列出了存储桶中的所有文件。我在ios设备上的webview中显示此列表。

无法公开此文件。

所以对于我的问题,我如何访问我的ios应用程序中的文件?

我的想法是,我在我的api中创建一个读取流,打开gcloud存储桶中文件的读取流。

有更好的方法吗?

1 个答案:

答案 0 :(得分:4)

公开私有文件的规范方法是使用签名URL。基本上,您的iOS应用会请求从您的应用访问文件。如果您的应用决定授予此访问权限,则会生成一个URL,使用私钥对其进行签名,然后将该签名的URL提供给iOS应用。然后,该应用程序将提取与任何其他URL一样提供的URL,其主体将是对象的内容。

签名网址具有一些很好的安全优势。它们只能用于一件事,并且它们仅在几分钟内有效(您可以准确配置它们的有效期)。

签名逻辑有点棘手,但gcloud库具有为您签名URL的功能。

文档在这里:https://cloud.google.com/storage/docs/access-control/signed-urls