谷歌云 - 跨项目问题

时间:2021-04-20 17:33:47

标签: google-cloud-platform google-cloud-dataflow google-cloud-pubsub

我有一个 project-1 - Service Account-1,我们想在 Project-2 中使用 Service Account-1

Project-1 将发布 pub-sub 消息到 Topic(Topic 在 Project-1 中创建),Project-2 需要使用 Service Account-1 拉取 Pub-sub 消息

我们正在为其创建数据流作业。

在 Project-1 中,我们可以通过以下方式访问 Service Account-1

  1. 发布/订阅订阅者角色

我们在 Project-2 中添加了 Service Account-1,具有以下角色

  1. BigQuery 数据编辑器
  2. 数据流管理员
  3. 数据流工作器
  4. 服务帐号用户
  5. 存储管理员

这是我们使用的命令:

  • gcloud auth activate-service-account --key-file=<Service Account 1 -Key> --project=<Project-2>

  • gcloud dataflow jobs run <Dataflow name> --region=us-east1 --gcs-location=gs://<Dataflow Template location in bucket> --parameters subsciptionName=projects/<Project-1>/subscriptions/<subscriptionName>

但是我们得到以下错误:

ERROR: (gcloud.dataflow.jobs.run) PERMISSION_DENIED: (7a9f7e070f0d30ff): Current user cannot act as service account <Service Account-1>. Causes: (7a9f7e070f0d34a4): Current user cannot act as service <Service Account-1>.

在使用以下命令激活 Project-2 中的服务 Account-1 后,我可以从 Cloud shell 中提取来自 Project-2 的消息 gcloud pubsub 订阅拉取项目//订阅/

非常感谢您对此的任何帮助。

谢谢, 拉杰什

0 个答案:

没有答案