我正在尝试使用 Eventarc 触发器部署云函数。部署时,我收到以下消息:
Service account [[email protected]] is missing the role [roles/iam.serviceAccountTokenCreator].
Pub/Sub needs this role to create identity tokens. For more details, please see https://cloud.google.com/pubsub/docs/push#authentication
Bind the role [roles/iam.serviceAccountTokenCreator] to service account [serv[email protected]]? (Y/n)?
输入 Y 后,出现以下错误:
ERROR: (gcloud.functions.deploy) ResponseError: status=[400], code=[Ok], message=[Service account service-XXXX[email protected] does not exist.]
我在任何地方都找不到
[email protected]
服务帐户。我找了一下:
我了解启用 PubSub API 时应自动创建此服务帐户。从文档来看,2021 年之后创建的 PubSub 应该具有此角色(我的是几天前创建的),但由于某种原因它似乎没有创建。 我怎样才能找到它或创建它,以便成功部署该功能?
服务帐户电子邮件地址的
sa
部分表示它是 Service Agent
。
转到 Google Cloud Web GUI 并选择
IAM & Admin
。
转到
IAM
。
在右侧选择
Include Google-provided role grants
。
服务账户现在将包含在列表中,您可以添加所需的 IAM 角色。
如果服务帐户未出现,请单击
GRANT ACCESS
并在 Add principals
框中手动输入电子邮件地址。然后选择所需的 IAM 角色。
注意:除非您有充分的理由,否则请勿从服务代理中删除 IAM 角色。