Google Cloud Pub/Sub:服务帐户不存在

问题描述 投票:0回答:2

我一直按照 Google 教程中的步骤进行操作,将 Pub/Sub 与 Cloud Run 教程结合使用

一切正常,直到允许 Google 的服务帐户创建身份验证令牌(与 Pub/Sub 集成 2.b.)

我在这里运行命令:

gcloud projects add-iam-policy-binding PROJECT_ID \
   --member=serviceAccount:[email protected] \
   --role=roles/iam.serviceAccountTokenCreator

PROJECT_ID 和 PROJECT_NUMBER 当然替换为其实际值。

但是我收到错误:

ERROR: (gcloud.projects.add-iam-policy-binding) INVALID_ARGUMENT: Service account [email protected] does not exist.

(出于隐私考虑,我已将实际项目编号替换为 PROJECT_NUMBER,相信我,我已经仔细检查过它的 ID 和编号是否正确。)

本指南中有一条关于 IAM 更改需要几分钟才能传播的注释,但在上一个命令成功完成几个小时后我看到了相同的错误。

我还尝试通过 Cloud Console IAM UI 添加此内容,但收到一致的错误: 使用 IAM UI

我已经在这个项目中使用 Pub/Sub,并且它仍在使用拉取订阅。

更新

我已经按照相同的说明在另一个项目中完成了设置,并且工作正常,所以我确信这不是对教程的误解,这个项目(或者更确切地说,Google 管理的服务)有问题占此项目)。

google-cloud-pubsub google-cloud-iam
2个回答
8
投票

我能够使用命令(docs)强制创建帐户:

gcloud beta services identity create --project PROJECT_ID --service pubsub

此后,

add-iam-policy-binding
命令完成,没有错误。


0
投票

您还可以从此命令“gcloud run services add-iam-policy-binding order-service --region $LOCATION”获取serveiceAccount,然后在获取如下所示的servceAccount后“pubsub-cloud-run-invoker@qwiklabs” -gcp-01-a1234abc1234.iam.gserviceaccount.com”,然后在最终命令中将如下所示,它将完美运行“gcloud 项目 add-iam-policy-binding PROJECT_ID
--member=serviceAccount: pubsub-cloud-run-invoker@qwiklabs-gcp-01-a1234abc1234.iam.gserviceaccount.com
--role=roles/iam.serviceAccountTokenCreator"

© www.soinside.com 2019 - 2024. All rights reserved.