繁体   English   中英

工作区域用户无法访问 Google 云存储桶

[英]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

Google Cloud Storage 上的 GSuite 权限

https://cloud.google.com/storage/docs/access-control/lists

此错误 (403) 表示用户未获得 Google Cloud Storage 的授权以发出请求。

  • 403-Forbidden 的 Google Cloud Storage 错误文档中列出了导致此错误的各种可能原因。
  • 此错误的常见来源是存储桶权限(存储桶 ACL)未正确设置以允许您的应用程序访问。

由于您提到作为 GAE 一部分的开发人员能够访问存储桶内容,因此我们可以排除上述 ACL 场景。

但是,您可以尝试以下操作:

  • 将域用户添加到组中。

  • 在谷歌云平台控制台 go 到“存储 -> 浏览器”,在你的存储桶上,在右边的菜单 select “编辑存储桶权限”。

  • 在“添加成员”上放置组并赋予“存储 -> 存储 Object 查看器”角色,以便在经过身份验证时为整个组提供只读权限或您需要的任何其他权限组合。

或者,您可以查看此文档以了解更多详细信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM