google-cloud-storage - 覆盖谷歌云存储中的对象失败

标签 google-cloud-storage

我尝试将文件的新版本上传到存储桶。

gsutil cp test.txt gs://mybucket/test.txt

并收到 403 响应:

Copying "direction: ltr;" class="">AccessDeniedException: 403 <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="255d5d5d655c5c5c0b4c44480b42564057534c46404446464a504b510b464a48" rel="noreferrer noopener nofollow">[email protected]</a> does not have storage.objects.delete access to mybucket/test.txt.

实际上,服务帐户具有对象创建者角色。 还不够吗?

最佳答案

根据官方文档

Storage Object Creator

Allows users to create objects. Does not give permission to view, delete, or overwrite objects

resourcemanager.projects.get

resourcemanager.projects.list

存储.对象.创建

因此,请分配到您的服务帐号Storage Object Admin (roles/storage.objectAdmin)因为你没有storage.objects.delete访问版本控制过程中使用的存储桶。 当您将文件的新版本上传到 Cloud Storage 存储桶时,对象版本控制会将现有对象移至非当前状态。

我使用具有 Object Creator role 的服务帐户重现了您的用例。在一个有 Access control Uniform 的桶上并启用版本控制并收到相同的错误消息:

service-account.iam.gserviceaccount.com does not have storage.objects.delete access to your-bucket/file

关于google-cloud-storage - 覆盖谷歌云存储中的对象失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61358152/

相关文章:

javascript - 如何在 AJAX 请求期间启用 Google Storage gzip

google-cloud-storage - 使用 GCS 签名的 url 发送元数据

google-cloud-storage - 如何跟踪 GCS 网络导出

python - 无法读取上传到谷歌云存储桶的 csv 文件

google-cloud-storage - 如何将根域和子域都指向Google Cloud Storage存储桶?

google-cloud-platform - 使用 Google Cloud Storage 托管图像共享网站的图像

google-cloud-platform - Google Cloud Storage 提供不同尺寸的图像吗?

java - 谷歌数据流: Read unbound PCollection from Google Cloud Storage

javascript - 将 Excel 上传到 Google Cloud Storage 时出错

java - 将文件直接上传到 Google Cloud Storage for GAE 应用程序