使用 Eventarc 触发器部署 Cloud Function 时出现服务帐户缺失 iam.serviceAccountTokenCreator 错误

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

我正在尝试使用 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]
服务帐户。我找了一下:

  1. 在 IAM 的服务账户页面中
  2. 在 IAM 主页面的“权限”选项卡中,选中“包括 Google 提供的角色授予”复选框
  3. 在 PubSub 中主题的“权限”选项卡中

我了解启用 PubSub API 时应自动创建此服务帐户。从文档来看,2021 年之后创建的 PubSub 应该具有此角色(我的是几天前创建的),但由于某种原因它似乎没有创建。 我怎样才能找到它或创建它,以便成功部署该功能?

google-cloud-platform google-cloud-pubsub google-iam
1个回答
0
投票

服务帐户电子邮件地址的

sa
部分表示它是
Service Agent

转到 Google Cloud Web GUI 并选择

IAM & Admin

转到

IAM

在右侧选择

Include Google-provided role grants

服务账户现在将包含在列表中,您可以添加所需的 IAM 角色。

如果服务帐户未出现,请单击

GRANT ACCESS
并在
Add principals
框中手动输入电子邮件地址。然后选择所需的 IAM 角色。

注意:除非您有充分的理由,否则请勿从服务代理中删除 IAM 角色。

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