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

如何在GCP Pub/Sub Python客户端中使用工作负载身份?

Google Cloud Pub/Sub Python客户端支持工作负载身份吗?

当然可以,Google Cloud的Python客户端库(包括Pub/Sub)原生支持工作负载身份,完全不需要依赖硬编码的key.json文件,核心是利用**应用默认凭证(ADC)**机制自动加载凭证。

不同场景下的使用方式

  • GCP托管环境(GKE、Cloud Run、GCE、Cloud Functions等)
    只要你给托管资源(比如GKE Pod、Cloud Run服务)正确绑定了工作负载身份池中的身份,客户端库会自动获取短期凭证,代码不需要做任何额外配置。比如在GKE中配置完工作负载身份后,直接初始化Pub/Sub客户端即可:

    from google.cloud import pubsub_v1
    
    publisher = pubsub_v1.PublisherClient()
    topic_path = publisher.topic_path("你的项目ID", "目标Topic名称")
    
    subscriber = pubsub_v1.SubscriberClient()
    subscription_path = subscriber.subscription_path("你的项目ID", "目标订阅名称")
    
  • 本地开发/外部环境
    如果你想在本地模拟工作负载身份,或者在外部环境使用,可以通过以下方式让客户端自动加载凭证:

    1. 用gcloud命令配置服务账号 impersonation(前提是你有对应权限):
      gcloud config set auth/impersonate_service_account 目标服务账号邮箱
      
    2. 或者设置环境变量指向工作负载身份的凭证文件(如果是外部身份提供商生成的):
      export GOOGLE_APPLICATION_CREDENTIALS="/path/to/workload-identity-credential.json"
      

    之后代码依然可以直接初始化客户端,不需要修改。

关键注意事项

  • 确保绑定的服务账号拥有Pub/Sub所需的权限(比如pubsub.topics.publish、pubsub.subscriptions.consume等),否则会出现权限错误。
  • 工作负载身份依赖短期凭证,比静态key.json更安全,避免了密钥泄露的风险。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 07:30:56