【发布时间】:2017-03-20 23:01:01
【问题描述】:
这是一个安全问题。
我有一个 Android 应用程序,允许用户将他们的私有图像上传到我的 Google Cloud Storage 存储桶。我有两个选择:
将图像数据发送到我的服务器,然后由我处理上传。
直接通过客户端(Android 应用)执行上传。
在我的例子中,这些文件需要公开可见(以允许用户分享他们上传的内容),所以我使用模糊的随机生成的 URL 来确保没有人偶然发现私人图像。
我想不出任何办法让第二种方法安全,因为:
我需要嵌入我的 应用内的 API 访问凭证,这是不可能安全地进行的。
如果有人拿到了我的凭据,他们可以列出 桶的内容并发现每个人的文件。这将是 太可怕了!
Google Cloud 上没有适用于 Android 的工作示例 平台文档还建议 Google 不支持 客户端方法。 (有一个通用的 Java 解决方案,但它不会 在 Android 上开箱即用)。
尽管有这些缺点,但我知道很多人都有 选择了客户端上传方式。我想知道有没有人这样做过 请解释一下他们是如何避免上述安全问题的?
【问题讨论】:
标签: android security google-cloud-storage