如何在一个文件中描述多个存储桶的Firebase存储安全规则?

时间:2019-08-09 08:20:47

标签: firebase-storage firebase-security

我想在一个.rules文件中描述几个存储桶的存储安全规则。存储区名称事先未知,但是域名存储区的前缀是已知的。

假设我有以下存储桶:

  • uploads.<root-domain>
  • original.<root-domain>
  • edited.<root-domain>

我知道我可以使用Deploy Targets并将每个规则放入其自己的文件中,但是我希望将所有规则都放在一个文件中。是的,我将定义一个包含所有存储桶的部署目标,并用我的单个.rules文件分配该目标。

我尝试了以下方法。

service firebase.storage {

  // Original audio files
  match /b/original.{root}/o {
    match /{allPaths=**} {
      allow read;
    }    
  }

  // Uploads
  match /b/uploads.{root}/o {
    match /{uploadCode}/{file=**} {
      allow read, write;
    }
  }
}

但是在部署过程中出错:

Error: Compilation errors in storage.rules:
[E] 4:22 - Unexpected 'rootdomain'.
[E] 4:9 - Missing 'match' keyword before path.
[E] 4:22 - Unexpected 'rootdomain'.
[E] 4:33 - Missing 'match' keyword before path.
[E] 5:5 - missing '}' at 'match'
[E] 11:3 - Unexpected 'match'.

因此,似乎wildcards仅在整个路径段中被允许,而在部分路径中是不允许的。

有没有办法在一个文件中包含各种存储桶的所有存储规则?

0 个答案:

没有答案