node.js - Authenticated Cloud Functions:访问 Firestore 的权限不足
问题描述
我正在根据此文档为函数函数调用设置经过身份验证的云函数。在我的用例中,调用函数是 CF1 而接收函数是 CF2
我已经my-func-invoker@myproject.iam.gserviceaccount.com
为 CF1 设置并分配了一个服务帐户 ( ),并将 CF2 的 Cloud Functions Invoker 角色设置/分配给所述my-func-invoker@myproject.iam.gserviceaccount.com
服务帐户。一切都很好,CF1可以毫无问题地调用CF2。
但是在 CF1 中,有 2 个工作流程:
- 调用 CF2
- 读/写到 Firestore
将服务帐户分配给 CF1 后,CF1 失去了读/写 Firestore 的权限(我的 Firestore 目前授予所有读写访问权限)并引发7 PERMISSION_DENIED: Missing or insufficient permissions.
错误。
有什么我想念的吗?
解决方案
您可能只需要为服务帐户 #1 提供正确的角色即可访问 firestore [0]。我会检查当前授予 SA 的角色,看看它是否缺少所需的内容。
[0] https://cloud.google.com/firestore/docs/security/iam#roles
推荐阅读
- process - 用 R 模拟布尔模型
- android - kotlin 缺少提供程序的 Dagger 2 错误
- javascript - 如何在 amchart 中创建分组瀑布图?
- flutter - 在 Dart/Flutter 中将 DateTime 转换为时间前
- c# - 具有 ODataQueryOptions 支持的通用控制器的 OData 导航路由
- c# - 如何使用 Mvvm 将页面推送到 MasterDetailPage
- go - Golang 相当于 strtotime("this Sunday, 23:59:59")
- java - Quartz 在集群环境下无法正常工作
- svg - 我怎样才能将 svg 多个圆圈划到 100%?
- gremlin - Gremlin Query 在 ResultSet 中返回多个 Result