我想在一个.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仅在整个路径段中被允许,而在部分路径中是不允许的。
有没有办法在一个文件中包含各种存储桶的所有存储规则?