微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

禁止的“对象”...处于活动状态 临时保留并且无法删除、覆盖或存档直到保留被删除

如何解决禁止的“对象”...处于活动状态 临时保留并且无法删除、覆盖或存档直到保留被删除

我在谷歌云存储上上传了一些对象,但我收到的错误Forbidden Object Google::Cloud::PermissionDeniedError。此外,我没有完全使用 Cloud Storage 的权利,因为我正在处理大学课程项目。

你能告诉我如何删除对象吗?我是使用 Google Api 上传它的人。有趣的是,我可以删除其他文件,但如果我没记错的话,我上传的三个文件是写保护的,现在无法删除

这是问题的其他背景。

我检查了存储分区的保留政策。它没有启用保留策略,从下面的输出中可以看出 gsutil retention get gs://cs291project2

gs://cs291project2/ 没有保留政策。

然而,remove 命令似乎不起作用。

SISProject2$ gsutil rm gs://cs291project2/**

正在删除 >gs://cs291project2/00/00/3Da608e50745f7fe13116e728cd0282fda42ce3f83d3f509d5a83f4cd5>80... AccessDeniedException: 403 对象 >'cs291project2/00/00/3Da608e50745f7fe13116e728cd0282fda42ce3f83d3f509d5a83f4cd580' > 处于活动状态,临时保留或无法删除,直到被覆盖,>p>

解决方法

根据错误消息 Object Temporary Hold.. is under active hold,您可能已将文件上传到已锁定且启用保留的存储桶。您可以通过运行以下命令来检查是否为存储桶启用了保留策略:

示例:

$ gsutil retention get gs://bucket
    Retention Policy (LOCKED):
       Duration: 7 Day(s)
       Effective Time: Thu,11 Sep 2021 19:52:15 GMT

示例:

$ gsutil ls -Lb gs://bucket/object
    gs://bucket/object:
      Creation time:          Thu,27 Sep 2020 00:00:00 GMT
      Update time:            Thu,27 Sep 2021 12:11:00 GMT
      Event-Based Hold:       Enabled

如果是这种情况,则在达到其保留期限之前,您无法删除该对象。

如果您在运行这些命令时收到 403 错误,您很可能没有配置正确的权限。您可以运行以下命令来查看项目的政策。请注意,这是一个基于权限的命令。

gcloud projects get-iam-policy <project-id> | grep 'role\|user\|members'

然后您可以将结果与 IAM permissions for gsutil 进行比较。例如,gsutil rm 命令需要这些:

rm      Buckets     storage.buckets.delete
                    storage.objects.delete
                    storage.objects.list
rm      Objects     storage.objects.delete
                    storage.objects.get

作为最后的手段,要进一步深入了解可能发生的情况,您可以添加 -D 开关以在调试模式下运行命令。

gsutil -D retention get gs://bucket

请注意,这带有警告:

***************************** WARNING *****************************
*** You are running gsutil with debug output enabled.
*** Be aware that debug output includes authentication credentials.
*** Make sure to remove the value of the Authorization header for
*** each HTTP request printed to the console prior to posting to
*** a public medium such as a forum post or Stack Overflow.
***************************** WARNING *****************************

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。