数据流 - 错误:消息:需要“compute.subnetworks.get”权限

Kri*_*ish 6 dataflow google-cloud-platform google-cloud-dataflow google-vpc

场景 - 使用共享 VPC 在项目 A 上运行 Dataflow 作业以使用宿主项目 B 的区域和子网

在服务帐户上,我对项目 A 和 B 都有以下权限

Compute Admin
Compute Network User
Dataflow Admin
Cloud Dataflow Service Agent
Editor
Storage Admin
Serverless VPC Access Admin 
Run Code Online (Sandbox Code Playgroud)

但我仍然收到这个错误

Workflow failed. Causes: Error: Message: Required 'compute.subnetworks.get' permission for 'projects/<host project>/regions/us-east1/subnetworks/<subnetwork name>' HTTP Code: 403
Run Code Online (Sandbox Code Playgroud)

我在这里缺少什么?或者这应该有什么其他许可?感谢您查看这个。

Kri*_*ish 2

好的,我已经解决了这个问题,这里有两件事需要记住

  1. 用于从 Airflow 或任何其他调度工具提交 Dataflow 作业的服务帐户需要对项目和宿主项目具有以下权限

    计算网络 用户数据流管理 云数据流服务代理编辑器

  2. 然后,我们还有另外两个需要权限的服务帐户,compute@developer.gserviceaccount.com - 具有此后缀的服务帐户需要使用存储对象查看器在主机项目 B 上获得权限

  3. 此外,项目 A 中后缀为 dataflow -service- Producer-prod.iam.gserviceaccount.com 的数据流服务帐户需要具有存储对象查看器权限的主机项目 A 的访问权限

照顾这些事情解决了我的问题