【问题标题】:Making Firebase Cloud Storage URL Unguessable?让 Firebase 云存储 URL 不可猜测?
【发布时间】:2019-06-24 05:48:38
【问题描述】:

我希望一组用户访问存储在 Cloud Storage 中的文件,但我想确保他们已获得授权。 Firestore 生成的唯一 ID 是否提供了足够的保护以使它们无法猜测?

我在 Firestore 中使用这种结构存储了我的文件: /projects/uidOfProject/files/uidOfFile

我确保只有授权用户才能使用 Firestore 规则查看 uidOfProjectuidOfFile

我将实际文件存储在 Storage 中: /projects/uidOfProject/files/uidOfFile

但是,我不能将此路径锁定为仅经过身份验证的用户 ID,因为其他用户可以访问此项目。

我有两个唯一 ID 是否足以阻止无权访问的用户找到这些文件?用户找出 uidOfProjectuidOfFile 并操作该文件的几率是多少?有没有更安全的方法来做到这一点?我知道云功能可以提供解决方案,但要以速度为代价。

【问题讨论】:

    标签: firebase google-cloud-firestore google-cloud-storage google-cloud-functions


    【解决方案1】:

    Firestore 生成的唯一 ID 是否创建了足够的保护 让他们猜不透?

    通过默默无闻的安全性不是安全性。好 reference 阅读。

    可能是无法猜测的。但是,由于 URL、日志文件、信息泄露、“嘿,看看这个”的好处等具有一定程度的公开性,未得到适当保护的对象将会被发现。

    如果只有项目的用户可以访问这些文件,他们是否也可以列出这些文件?如果是的话,可能会产生好奇心,浏览一下那里有什么。

    【讨论】:

    • 谷歌云存储不允许遍历文件夹,所以这就是为什么我认为走不可猜测的路线是安全的。这就是他们现在正在使用的。我想知道如果使用他们为不可猜测的 id 做的算法我会安全吗?
    • @EverettGlovier - 我的第一句话回答了你的问题。从那里你只是冒险 - 如果默默无闻是否值得冒险,这取决于你。
    猜你喜欢
    • 2019-11-15
    • 2020-10-22
    • 2020-04-16
    • 1970-01-01
    • 2021-01-12
    • 2011-05-26
    • 2017-09-05
    • 1970-01-01
    • 2011-03-26
    相关资源
    最近更新 更多