场景 - 使用共享 VPC 在项目 A 上运行 Dataflow 作业以使用宿主项目 B 的区域和子网
在服务帐户上,我对项目 A 和 B 都拥有以下权限
Compute Admin
Compute Network User
Dataflow Admin
Cloud Dataflow Service Agent
Editor
Storage Admin
Serverless VPC Access Admin
但我仍然收到此错误Workflow failed. Causes: Error: Message: Required 'compute.subnetworks.get' permission for 'projects/<host project>/regions/us-east1/subnetworks/<subnetwork name>' HTTP Code: 403
我在这里缺少什么?或者这应该有什么其他许可?感谢您查看这个。
最佳答案
我只是在使用共享 VPC 网络和子网和数据流作业时遇到了完全相同的问题,我错过了向默认数据流服务帐户添加网络权限的问题。以下两个步骤工作得很好。
Cloud Dataflow 中涉及两个服务帐号(正在运行数据流作业的项目)
1 Default Cloud Dataflow service account : service-<Project
Number>@dataflow-service-producer-prod.iam.gserviceaccount.com"
2 Custom Controller service account : myserviceaccount@PROJECT
ID>.iam.gserviceaccount.com
第 1 步:将两个服务帐户添加到网络 HOST 项目上的 IAM 角色(作为计算网络用户) .此外,您可以将运行数据流作业所需的权限添加到您创建的自定义 Controller 服务帐户。第 2 步:将以下格式的网络参数传递给作业(在 WebUI 上或使用命令行)
1. network : projects/<HOST PROJECT ID>/global/networks/<VPC NETWORK NAME>
2. subnetwork : https://www.googleapis.com/compute/v1/projects/<HOST PROJECT ID>/regions/us-central1/subnetworks/<SUBNET NAME>
更多细节 :cloud_dataflow_service_account
controller_service_account
specifying-networks#shared
关于google-cloud-platform - 数据流 - 错误 : Message: Required 'compute.subnetworks.get' permission,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63304401/