为什么是Firebase存储;规则版本=';2'&引用;被推翻?

为什么是Firebase存储;规则版本=';2'&引用;被推翻?,firebase,google-cloud-storage,firebase-security,Firebase,Google Cloud Storage,Firebase Security,我在文档后面的存储规则中添加了以下行: rules_version='2' 此外,我现在的规则是: rules_version = '2'; service firebase.storage { match /b/{bucket}/o { match /{allPaths=**} { allow read, write: if request.auth != null; } } } 此外,我能够使用listAll列出文件夹中的文件,这是版本2独有的功能 但

我在文档后面的存储规则中添加了以下行:
rules_version='2'
此外,我现在的规则是:

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

此外,我能够使用
listAll
列出文件夹中的文件,这是版本2独有的功能

但是,每天我都会回到我的仪表板,发现我的规则更新到以前的版本,即:

service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
      allow read, write: if request.auth != null;
    }
  }
}

这是怎么发生的,为什么会发生?更重要的是,如何解决此问题?

有:

  • 使用Firebase控制台
  • 使用Firebase CLI从本地文件部署规则
  • 使用Firebase管理SDK

  • 如果您的规则正在改变,并且您绝对确定它不是来自这两种方法中的一种,请寻求帮助。

    在Firebase的Jonathan的帮助下,他非常友好地提醒我,我几乎每天都在部署,我发现了问题所在。事实证明,作为我持续部署的一部分,我也在部署Firebase存储规则,因此我间接地覆盖了我自己的规则


    现在一个显而易见且简单的解决方案就是在本地更新storage.rules文件

    此外,这同样适用于
    firestore.rules