什么规则会使我的Firebase存储桶只能由同一项目中的Firebase功能访问?

时间:2019-06-14 23:20:24

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

我的文件上传到Cloud Storage存储桶仅是通过Firebase控制台进行的。哪种Cloud Storage规则仅允许我在同一项目中的Firebase功能读取/写入存储桶?

service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
       ???
    }
  }
}

1 个答案:

答案 0 :(得分:0)

Cloud Functions运行时具有对它们所属项目的管理访问权限。这意味着您无法给普通用户提供访问存储桶的权限,因为Cloud Functions始终会绕过您的规则。

来自documentation

// Access to files through Firebase Storage is completely disallowed.
// Files may still be accessible through Google App Engine or GCS APIs.
service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
      allow read, write: if false;
    }
  }
}

您从Cloud Functions进行的访问属于上述注释中的“ GCS API”。