【发布时间】:2022-03-11 20:35:52
【问题描述】:
我正在尝试使用以下代码使用 python webapp2 在谷歌云存储桶上创建一个 csv 文件:
full_filename = '/' + TEST_BUCKET + "/" + DATA + "/" + 'employee.csv'
logging.info("full_filename is %s ", full_filename)
gcs_file = cloudstorage.open(full_filename,
'w',
content_type='text/plain',
retry_params=cloudstorage.RetryParams(backoff_factor=1.1))
gcs_file.write(file_obj.getvalue())
gcs_file.close()
logging.info("done writing into cloud storage !!")
创建成功,GAE控制台的开发者可以看到文件内容。
但不属于GAE 控制台的员工无法看到此内容并获得403 Forbidden。
这个想法是,属于同一组织的员工(让我们以 google 工作区域为:example.com)应该能够访问此文件,无论他们是否是 GAE 控制台的一部分。
因此,为此我尝试授予存储桶级别权限(uniform access control)并将 example.com 添加为新主体和角色:Storage Legacy Bucket Reader 但它们仍然得到相同的403 Forbidden。
资源: https://cloud.google.com/iam/docs/overview#g_suite_domain
https://cloud.google.com/storage/docs/access-control
【问题讨论】:
-
成为 Workspace 的成员不会自动授予 Cloud Storage 权限。您的代码如何向 API 调用添加授权?您的问题没有显示这些细节。
标签: python google-cloud-storage google-cloud-iam