You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

跨项目部署Cloud Function时SA权限报错:缺少iam.serviceAccounts.actAs权限

问题解决指南

核心原因

你遇到的403错误本质是:project2的cloud-functions-mixer服务账号没有权限"扮演"project1里的SA1。你之前给SA1本身配置的Service Account User权限没用到点子上——这个权限需要授予给cloud-functions-mixer,让它能调用SA1来运行你的Cloud Function。

具体修复步骤

1. 找到project2的cloud-functions-mixer账号

账号格式固定为:service-[PROJECT2的项目编号]@gcf-admin-robot.iam.gserviceaccount.com,可以用命令快速获取project2的项目编号:

gcloud projects describe project2 --format="value(projectNumber)"

或者直接在project2的IAM控制台搜索gcf-admin-robot找到该账号。

2. 给cloud-functions-mixer授予SA1的Service Account User角色

用gcloud命令执行(推荐)

gcloud iam service-accounts add-iam-policy-binding SA1@project1.iam.gserviceaccount.com \
  --member="serviceAccount:service-[PROJECT2项目编号]@gcf-admin-robot.iam.gserviceaccount.com" \
  --role="roles/iam.serviceAccountUser" \
  --project=project1

控制台操作

  1. 进入project1的IAM & Admin > 服务账号页面
  2. 找到SA1,点击右侧的"编辑权限"
  3. 点击"添加成员",输入project2的cloud-functions-mixer完整账号
  4. 在角色列表里选择IAM > Service Account User,保存即可

关键提醒

  • 权限是加在project1的SA1的IAM绑定上,授予对象是project2的cloud-functions-mixer,别搞反了
  • 操作时确保你的账号拥有project1中SA1的IAM编辑权限,否则会触发权限报错

内容的提问来源于stack exchange,提问作者Y2Jepic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 22:45:38