繁体   English   中英

使用 Django 存储在 GCS 上上传图像时访问被拒绝 Package

[英]Access Denied when upload image on GCS using Django Storage Package

在我本地的 GCS 上上传图像正常工作。 使用负载均衡器在 vm 实例上部署 django 项目后,设置 ssl 和域名给出访问被拒绝的错误。

Forbidden at /admin/products/banner/add/
403 POST https://storage.googleapis.com/upload/storage/v1/b/new_zourie_app/o?uploadType=multipart: {
  "error": {
    "code": 403,
    "message": "Access denied.",
    "errors": [
      {
        "message": "Access denied.",
        "domain": "global",
        "reason": "forbidden"
      }
    ]
  }
}
: ('Request failed with status code', 403, 'Expected one of', <HTTPStatus.OK: 200>)

我已经添加了多个(如 allUsers、Storage admin、Storage Object Creator、Storage Object Admin)权限,如谷歌云平台文档中给出的那样。 还更新了本地以及 vm 实例中的存储桶和存储桶密钥,因此它在本地工作但不在已上传到 gcp 的生产环境中工作。

这是因为默认情况下,VM 实例服务帐户对存储桶具有只读访问权限 scope。 您必须通过以下步骤将 scope 更改为读写。

  1. 停止部署 django 代码的虚拟机。
  2. 打开 VM 实例页面并单击 VM 上的“编辑”
  3. Go 到服务帐户并在下面更改并将 scope 设置为读写存储。 这将解决您的问题在此处输入图片描述

暂无
暂无

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

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