【发布时间】:2019-11-13 15:53:27
【问题描述】:
我创建了一个服务帐户,并且只给它Storage Object Viewer 角色。我想使用此服务帐户使用 python API 从存储桶下载对象。
我已经相应地设置了GOOGLE_APPLICATION_CREDENTIALS 环境变量,并且可以在存储桶的权限页面上看到相关的服务帐户。
我使用下面的代码来尝试下载一个对象
from google.cloud import storage
storage_client = storage.Client()
bucket = storage_client.get_bucket(BUCKET_NAME)
但是调用get_bucket时出现以下错误
google.api_core.exceptions.Forbidden:
403 GET https://storage.googleapis.com/storage/v1/b/samplereadbucket?projection=noAcl:
sample-service-account@project.iam.gserviceaccount.com does not have storage.buckets.get
access to samplereadbucket.
如果不是Storage Object Viewer,我需要设置的最小角色集是什么,以便服务帐户具有storage.buckets.get 访问权限?
【问题讨论】:
标签: python google-cloud-platform google-cloud-storage google-cloud-python google-cloud-iam