为运行身份服务账号授予 Service Account User 角色

本页面列出了在即将到来的授权变更中需要 Service Account User (roles/iam.serviceAccountUser) 角色的主账号,并介绍了如何授予该角色。

谁需要 Service Account User 角色

以下主账号需要对列出的服务账号拥有 Service Account User 角色:

主体 服务账号
发布或测试集成(包括部署自动化)的用户。 集成的运行身份服务账号
通过 API 或 Google Cloud 控制台同步或异步运行集成的用户和自动化。 集成的运行身份服务账号
触发器用于启动集成的服务账号。这包括 Cloud Scheduler 触发器的服务账号电子邮件地址,或 Cloud Pub/Sub 触发器、Eventarc 触发器或集成连接器事件触发器的服务账号。如果触发器账号是运行身份服务账号本身,则不需要此权限。 集成的运行身份服务账号
批准或恢复已暂停运行的用户。 集成的运行身份服务账号
启动集成的 Principal,该集成使用调用集成任务调用子集成。对于由具有服务账号的触发器启动的集成,这是触发器的服务账号。 子集成的运行身份服务账号,以及调用集成的运行身份服务账号
调用集成在异步调用子集成时的运行身份服务账号。如果两个集成使用同一服务账号,则无需执行此操作。 子集成的运行身份服务账号
创建或修改服务账号或 OIDC 令牌类型的身份验证配置文件的用户。 配置文件中指定的服务账号
发布或测试使用该配置文件的集成的用户,包括部署自动化。 配置文件中指定的服务账号
运行集成的主账号,该集成会使用该配置文件访问任务。 对于异步或预定运行,这是集成的运行身份服务账号,如果集成没有运行身份服务账号,则为 Application Integration 服务代理 service-PROJECT_NUMBER@gcp-sa-integrations.iam.gserviceaccount.com。在这种情况下,建议的解决方法是设置运行身份服务账号。 配置文件中指定的服务账号

保存草稿不需要 Service Account User 角色。目前,系统会执行发布、测试和保存身份验证配置文件的授权检查。随着发布过程的推进,对运行、审批、调用子集成以及运行使用身份验证配置文件的任务的检查将生效。请主动授予这些角色,以确保您的集成继续成功运行。

授予角色

如需向主账号授予该角色,请运行以下命令:

gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT \
    --project=SERVICE_ACCOUNT_PROJECT_ID \
    --member='user:PRINCIPAL' \
    --role='roles/iam.serviceAccountUser'

替换以下内容:

  • SERVICE_ACCOUNT:运行身份服务账号或身份验证配置文件中指定的账号的邮箱。
  • SERVICE_ACCOUNT_PROJECT_ID:拥有服务账号的项目的 ID。
  • PRINCIPAL:用户的邮箱。

对于其他主账号类型,请使用相应的 --member 前缀:

  • 群组:使用 group:。我们建议使用 Google 群组而不是个人用户账号,以便在团队成员发生变化时简化访问权限管理。
  • 服务账号:对自动化流程、应用和触发器服务账号使用 serviceAccount:。

如需在 Google Cloud 控制台中授予角色,请执行以下操作:

  1. 依次前往 IAM 和管理 > 服务账号。
  2. 选择服务账号。
  3. 依次点击权限 > 授予访问权限。

如需授予此角色,您需要拥有服务账号的 roles/iam.serviceAccountAdmin 角色。Project Owner 默认拥有此权限。如需了解详情,请参阅管理对服务账号的访问权限。

后续步骤