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

如何让Google Cloud服务账号继承另一账号权限并额外添加指定权限

如何让Google Cloud服务账号继承另一账号权限并额外添加指定权限

你之前的操作其实走错方向啦——给sa-2授予Service Account Admin角色到sa-1,这个权限是允许sa-2管理sa-1本身(比如修改sa-1的权限、删除sa-1),但不会让sa-2继承sa-1的现有权限,这就是为什么你还是遇到权限拒绝的原因。

在GCP里,服务账号之间没法直接设置"权限继承"关系,但有两种常用方案可以实现你的需求:

方案一:直接分配所有所需角色(最简单直接)

既然你明确知道sa-2需要A、B、C三个角色,直接给sa-2逐一添加就行:

  • 打开GCP控制台的「IAM & Admin」->「IAM」页面
  • 点击顶部的「+ Grant Access」按钮
  • 在「New principals」输入框中填入sa-2@myproject.iam.gserviceaccount.com
  • 在「Role」下拉菜单中,依次选择角色A、B、C(可以按住Ctrl/Command键多选,或者分多次添加)
  • 确认信息无误后点击「Save」

这样sa-2就直接拥有了A、B、C三个角色的所有权限,和sa-1的A、B权限保持一致,同时额外获得C权限。

方案二:通过IAM组实现"动态继承"(适合sa-1权限可能变化的场景)

如果未来sa-1的权限可能新增或调整,你想让sa-2自动同步这些变化,可以用IAM组来管理:

  1. 创建一个新的IAM组(比如命名为sa-shared-permissions-group)
  2. 把sa-1和sa-2都添加到这个组中
  3. 给这个组分配角色A和B
  4. 单独给sa-2分配角色C

这样以后只要给这个组新增权限,sa-1和sa-2都会自动获得;而sa-2还额外拥有独有的角色C权限。

备选方案:服务账号模拟(Impersonation)

如果你不需要sa-2自己拥有权限,只是需要sa-2能以sa-1的身份执行操作,可以给sa-2授予「Service Account Token Creator」角色到sa-1。这样sa-2就能生成sa-1的身份令牌,模拟sa-1进行操作,同时自己再单独拥有角色C的权限。不过这个方案更适合临时操作,不是长期的权限分配。

备注:内容来源于stack exchange,提问作者engineer-x

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 15:58:13