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

如何修改Python代码实现仅用最小权限读取Google Cloud Storage资源

解决方案

你可以直接在本地构造Bucket实例,跳过get_bucket()的元数据查询请求,就不需要storage.buckets.get权限了,修改后的代码如下:

from google.cloud import storage

client = storage.Client()
# 注意这里用bucket()而非get_bucket(),仅本地构造对象,不会发起API请求
bucket = client.bucket(BUCKETNAME)
# 后续操作和原来一致
blob = bucket.get_blob(BLOBNAME)
raw_bytes = blob.download_as_bytes()

原理说明

  • 原来的get_bucket()方法会主动向GCS服务端请求查询桶的元数据,因此要求调用者持有storage.buckets.get权限
  • client.bucket()方法仅在本地初始化Bucket类的实例,不会发起任何网络请求,后续get_blob()、download_as_bytes()等操作只会调用对象相关的接口,全程仅需要storage.objects.get权限,符合最小权限要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 00:24:02