【问题标题】:Security rule to limit storage space used in Firebase Storage?限制 Firebase 存储中使用的存储空间的安全规则?
【发布时间】:2022-01-20 15:31:59
【问题描述】:

在 Firestore 中,我存储已用空间信息(在 Firebase 存储中)和每个用户的总空间,我想知道是否可以使用这些变量编写存储规则来直接限制每个用户的存储空间?

有什么方法可以实现吗?有用吗?

目前我的规则只允许用户访问他们自己的存储文件夹:

rules_version = '2';
service firebase.storage {
  match /b/{bucket}/o {
    match /users/{userId}/{allPaths=**} {
      allow read, write, delete: if request.auth.uid == userId;
    }
  }
}

【问题讨论】:

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


    【解决方案1】:

    您尝试执行的操作在安全规则中无法立即实现。存储安全规则无法访问 Firestore 中的数据。同样,Firestore 安全规则也无法访问 Storage 中的数据。因此,无法根据产品外部存在的数据阻止存储上传。

    执行配额的最佳方法是使用 Cloud Functions 之类的产品在上传完成后运行Storage trigger,然后检查上传是否导致用户超过任何限制。然后,您可以根据需要选择删除文件。您可能还想使用触发器来维护每个用户的运行总使用量。

    【讨论】:

      猜你喜欢
      • 2021-01-03
      • 2022-01-18
      • 2020-03-24
      • 2020-07-03
      • 2020-10-30
      • 2017-08-02
      • 2016-09-27
      • 2016-11-23
      相关资源
      最近更新 更多