Google cloud storage Can';t删除所有者对Google云存储对象的访问权限

Google cloud storage Can';t删除所有者对Google云存储对象的访问权限,google-cloud-storage,Google Cloud Storage,我有一个服务器,它使用一个服务帐户将一些数据文件写入云存储桶中,我已向该服务帐户授予该存储桶的“存储对象创建者”权限。我希望该服务帐户的权限为“仅写” 据我所知,Storage Object Creator权限还允许读取访问,因此我只想在写入对象后删除对这些对象的权限。我想我可以使用ACL来做这件事,但它似乎不起作用。如果我使用 gsutil acl get gs://bucket/object>acl.json 然后编辑acl.json以删除服务帐户的所有者权限,然后使用 gsutil ace

我有一个服务器,它使用一个服务帐户将一些数据文件写入云存储桶中,我已向该服务帐户授予该存储桶的“存储对象创建者”权限。我希望该服务帐户的权限为“仅写”

据我所知,Storage Object Creator权限还允许读取访问,因此我只想在写入对象后删除对这些对象的权限。我想我可以使用ACL来做这件事,但它似乎不起作用。如果我使用

gsutil acl get gs://bucket/object>acl.json

然后编辑acl.json以删除服务帐户的所有者权限,然后使用

gsutil acel set acl.json gs://bucket/object

要更新ACL,我发现没有任何更改;如果我再次检查ACL,则所有者权限仍然存在。如果我尝试在云控制台web界面中删除所有者权限,也会发生同样的情况


有没有办法删除该权限?或者以其他方式完成此操作?

您不能从以下位置删除上载对象的服务帐户的
所有者
权限:

bucket或object所有者始终拥有bucket或object的
owner
权限

bucket的所有者是project owners组,对象的所有者是上载该对象的用户,如果该对象是由匿名用户上载的,则是project owners组

当您将新ACL应用于bucket或对象时,如果您忽略授予,云存储将分别向bucket或对象所有者添加
OWNER
权限


我没有尝试过这个,但是您可以使用once服务帐户(称为SA1)上载对象,然后使用单独的服务帐户(称为SA2)重写对象,然后删除对象。SA1将不再是所有者,因此没有读取权限。SA2将继续具有读写权限,但无法阻止对象的所有者读取该对象。

您无法从以下位置删除上载该对象的服务帐户的
所有者
权限:

bucket或object所有者始终拥有bucket或object的
owner
权限

bucket的所有者是project owners组,对象的所有者是上载该对象的用户,如果该对象是由匿名用户上载的,则是project owners组

当您将新ACL应用于bucket或对象时,如果您忽略授予,云存储将分别向bucket或对象所有者添加
OWNER
权限


我没有尝试过这个,但是您可以使用once服务帐户(称为SA1)上载对象,然后使用单独的服务帐户(称为SA2)重写对象,然后删除对象。SA1将不再是所有者,因此没有读取权限。SA2将继续具有读写权限,但无法阻止对象的所有者读取该对象。

重命名该对象即可

gsutil mv -p gs://bucket/object gs://bucket/object-renamed
gsutil mv -p gs://bucket/object-renamed gs://bucket/object

重命名器服务帐户将成为对象
所有者

重命名对象就可以做到这一点

gsutil mv -p gs://bucket/object gs://bucket/object-renamed
gsutil mv -p gs://bucket/object-renamed gs://bucket/object
重命名器服务帐户将成为对象
所有者