我的一位同事创建了一个谷歌云平台项目,我们希望为其使用云存储产品。他们让我成为 IAM 权限的共同所有者和存储管理员。根据谷歌文档,存储管理员拥有storage.objects.*
权限,所以我应该能够get
存储对象。
我写了一个简单的python脚本来下载一些内容如下(仅限伪代码):
storage_client = storage.Client()
bucket = storage_client.bucket(BUCKET_NAME)
blob = bucket.blob(source_blob_name)
blob.download_to_filename(destination_file_name)
但是,最后一行会引发错误:
google.api_core.exceptions.Forbidden: 403 GET 没有 storage.objects.get 访问 Google Cloud Storage 对象。
我在云控制台中一次又一次地检查了我的权限,并确保我的GOOGLE_APPLICATION_CREDENTIALS
环境变量已定义。为什么 GCP 拒绝我访问此存储桶,我该如何解决?
这里应用了授予服务帐户的权限,而不是授予您的权限。
我们使用服务帐户创建一个 JSON 密钥,并将密钥的路径提供给 GOOGLE_APPLICATION_CREDENTIALS。
我想可能是服务帐户被删除或服务帐户没有适当的权限。
可能您可以尝试从中重新创建服务帐户和 JSON 密钥并给予适当的许可。
文档供参考。