我创建了一个服务帐户,并且只赋予它Storage Object Viewer
角色。我想使用这个服务帐户使用pythonapi从bucket下载对象。你知道吗
我已经相应地设置了GOOGLE_APPLICATION_CREDENTIALS
环境变量,并且可以看到相关的服务帐户显示在bucket的permissions页面上。你知道吗
我使用以下代码尝试下载一个对象
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
访问权限,我需要设置的最小角色集是什么?你知道吗
存储对象查看器(
roles/storage.objectViewer
)仅包括以下权限:对于Bucket,您需要一个类似于Storage Legacy Bucket Reader(
roles/storage.legacyBucketReader
)的角色(或者创建一个custom role)。这将为您提供:您可以始终使用云控制台中的IAM & Admin > Roles选项卡来搜索特定的权限,以查看当前授予这些权限的角色。你知道吗
相关问题 更多 >
编程相关推荐