Google cloud platform 删除谷歌云存储(GCS)上的allUsers默认acl
在实验过程中,我无意中为其中一个不应该是公共的bucket中的所有用户添加了默认的读取权限。我使用了以下命令:Google cloud platform 删除谷歌云存储(GCS)上的allUsers默认acl,google-cloud-platform,google-cloud-storage,access-control,gsutil,Google Cloud Platform,Google Cloud Storage,Access Control,Gsutil,在实验过程中,我无意中为其中一个不应该是公共的bucket中的所有用户添加了默认的读取权限。我使用了以下命令: gsutil defacl ch -u allUsers:R gs://my-bucket gsutil defacl ch -d allUsers gs://my-bucket 意识到我的错误后,我尝试使用以下命令删除默认读取权限: gsutil defacl ch -u allUsers:R gs://my-bucket gsutil defacl ch -d allUser
gsutil defacl ch -u allUsers:R gs://my-bucket
gsutil defacl ch -d allUsers gs://my-bucket
意识到我的错误后,我尝试使用以下命令删除默认读取权限:
gsutil defacl ch -u allUsers:R gs://my-bucket
gsutil defacl ch -d allUsers gs://my-bucket
但是,当我检查时,删除不起作用!当我上传新文件时,它仍然允许公众读取。当我检查时:
gsutil defacl get gs://my-bucket
它仍然显示allUsers的读取访问权限
这是gsutil函数上的错误吗?目前我使用的是gsutil版本4.34
有没有其他方法可以更改Alluser对google云存储桶的默认访问权限?如果还有其他方法,请让我知道,谢谢 我多次试图重现这个问题,但都没有成功。如果不访问项目的元数据和配置,恐怕很难对这种情况进行故障排除;因为这是在这一点上确实需要的东西,以便找出可能出了什么问题 我是一名谷歌云支持员工——我的建议是在问题追踪器上打开一个私人问题,说明您的项目编号和受影响的云存储桶。另外,请确保包括这个StackOverflow帖子的链接 最后,请让我知道问题ID或私人问题的链接,一旦你创建它,所以我可以有一个尽快看它 编辑: 解决方案是运行以下gsutil,将默认ACL设置为ACL的默认条目:
gsutil defacl set project-private gs://my-bucket
当ACL中只有一个条目时,就会发生此问题,因此无法删除它,即使它的响应是所有内容都已正确更新。我对设置为public的bucket中的单个对象也有同样的问题。只有在向对象添加了新权限后,我才能删除allUsers权限-即使使用“project private”命令也不起作用。您如何检查文件是否仍然可以访问?我试图重现该问题,当使用
gsutil-defacl-get-gs://my-bucket
时,在ACL中更改alluser
前后,输出是相同的。另外,新上传的文件对我来说是非公开的。只是忘了添加一点,您可以使用控制台、API和客户端库来更改ACL。查看文档以了解具体的操作方法:@Maxim I还通过上载新文件进行了检查,他们始终具有公共读取权限(Alluser的读取权限)。目前我的问题不是现有文件的ACL,而是新上传文件的默认ACL。我在控制台上找不到改变这一点的方法,在您共享的文档中,它还说:您不能使用GCP控制台设置默认对象ACL。请改用gsutil。
无论如何,谢谢您的评论:)因此,当从云控制台查看GCS存储桶时,它在“公共访问”下显示为“公共”吗?如果是这样,您能告诉我gsutil defacl get gs://my bucket的输出吗?确保事先删除所有敏感信息(如有)。另外,在这个过程中,你有没有收到任何警告或错误?对于另一个问题,我用一步一步的细节回答了这个问题:Hi@Maxim,这是私人问题追踪者:谢谢@谢谢你。我对这个私人问题发表了评论。