Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform 删除谷歌云存储(GCS)上的allUsers默认acl_Google Cloud Platform_Google Cloud Storage_Access Control_Gsutil - Fatal编程技术网

Google cloud platform 删除谷歌云存储(GCS)上的allUsers默认acl

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

在实验过程中,我无意中为其中一个不应该是公共的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 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,这是私人问题追踪者:谢谢@谢谢你。我对这个私人问题发表了评论。