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

Google Cloud IAM:GCP资源间身份认证流程及分步时序图

GCP资源间通信的IAM策略评估与验证机制

一、通用评估逻辑

执行时机

GCP资源间的权限验证采用按需触发机制:仅当请求从源资源发起并到达目标资源的控制/数据平面时才会执行,不会在服务启动、资源创建等阶段预验证所有关联权限。

验证方式

基于「主体-动作-资源」三元组匹配IAM策略,核心流程:

  • 提取请求中的身份主体(通常为服务账号、用户账号或谷歌群组)
  • 解析请求要执行的具体动作(如pubsub.topics.publish、storage.objects.get)
  • 匹配目标资源上绑定的IAM策略,检查主体是否被授予对应动作的权限(直接绑定或通过角色/组织层级继承)

二、CloudRun发布Pub/Sub主题的权限验证示例

假设CloudRun服务绑定服务账号cloudrun-sa@my-project.iam.gserviceaccount.com,目标为Pub/Sub主题projects/my-project/topics/my-topic:

  1. 请求发起:CloudRun容器内的应用调用Pub/Sub客户端库,客户端自动从GCP元数据服务器获取服务账号凭据,签名后发起pubsub.topics.publish请求。
  2. 请求接收与解析:Pub/Sub控制平面接收请求,解析出身份主体(cloudrun-sa@my-project.iam.gserviceaccount.com)和要执行的动作。
  3. 加载IAM策略:Pub/Sub从内部策略存储中拉取目标主题my-topic的完整IAM绑定规则。
  4. 权限匹配检查:
    • 优先检查直接绑定:确认策略中是否存在该服务账号对应的角色(如roles/pubsub.publisher),且角色包含pubsub.topics.publish权限。
    • 检查继承关系:若无直接绑定,验证该服务账号是否属于已绑定的群组、组织单元,或是否通过项目/组织级IAM策略继承到对应权限。
  5. 结果返回:
    • 匹配成功:允许消息发布,返回成功响应给CloudRun。
    • 匹配失败:返回403 PermissionDenied错误,终止请求。

三、IAM策略评估分步时序图

┌──────────────────┐          ┌──────────────────┐          ┌──────────────────┐
│   CloudRun服务   │          │ Pub/Sub控制平面  │          │ IAM策略存储      │
└──────────────────┘          └──────────────────┘          └──────────────────┘
        │                            │                            │
        │ 1. 发起带凭据的发布请求     │──────────────────────────>│
        │                            │                            │
        │                            │ 2. 解析主体与目标动作      │
        │                            │──────────────────────────>│
        │                            │                            │
        │                            │ 3. 拉取目标主题IAM策略     │<──────────────────────────│
        │                            │                            │
        │                            │ 4. 执行三元组权限匹配      │
        │                            │                            │
        │                            │ 5. 返回验证结果            │──────────────────────────>│
        │                            │                            │
        │ 6. 接收请求响应(成功/失败) │<──────────────────────────│
        │                            │                            │

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 14:35:11