[英]I want the Google Cloud Storage bucket to be accessible only from my app (mobile/web)
[英]Google cloud storage bucket not accessible by workspace domain users
我正在尝试使用 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 作为新主体和 Role as: Storage Legacy Bucket Reader
但他们仍然得到相同的403 Forbidden
。
资源: https://cloud.google.com/iam/docs/overview#g_suite_domain
https://cloud.google.com/storage/docs/access-control
此错误 (403) 表示用户未获得 Google Cloud Storage 的授权以发出请求。
由于您提到作为 GAE 一部分的开发人员能够访问存储桶内容,因此我们可以排除上述 ACL 场景。
但是,您可以尝试以下操作:
将域用户添加到组中。
在谷歌云平台控制台 go 到“存储 -> 浏览器”,在你的存储桶上,在右边的菜单 select “编辑存储桶权限”。
在“添加成员”上放置组并赋予“存储 -> 存储 Object 查看器”角色,以便在经过身份验证时为整个组提供只读权限或您需要的任何其他权限组合。
或者,您可以查看此文档以了解更多详细信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.