从谷歌云存储桶访问私人文件

Aro*_*ron 2 google-cloud-storage google-cloud-platform

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

无法公开此文件。

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

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

有一个更好的方法吗?

Bra*_*ugh 5

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

签名 URL 具有一些不错的安全优势。它们只能用于一件事,并且它们的有效期只有几分钟(您可以准确配置它们的有效期)。

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

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