google-cloud-platform - 数据流 - 错误 : Message: Required 'compute.subnetworks.get' permission

标签 google-cloud-platform google-cloud-dataflow 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 
但我仍然收到此错误
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/

相关文章:

python - Google 应用程序引擎在使用 python 下载时重命名我的文件

google-cloud-platform - 为什么我不能将 google 实例从一个区域的区域移动到另一个区域的另一个区域?

python - 如何使用 Cloud Functions 接收和解析电子邮件?

maven - Apache beam WordCount在windows下运行报错

java - PMD 规则 : How to properly solve this DD-anomaly issue

apache-spark - 如何检查 Dataproc 上 pyspark 作业的每个执行程序/节点内存使用指标?

message-queue - 可以使用数据流将 pubsub 消息重复数据删除回 pubsub 吗?

google-cloud-platform - 使用Google数据流处理数据时如何报告无效数据?

python - 有没有办法读取除了 python apache beam 中定义的文件列表之外的所有文件?

sql - 将完整结果集传递给数据流任务 SSIS