GCS存储桶从统一权限切回细粒度访问权限遇报错,求助解决
GCS桶切换回细粒度权限失败的解决方法
问题根源是托管文件夹与细粒度访问权限不兼容,GCS要求存在托管文件夹的桶必须启用统一桶级权限,所以要切换回细粒度,必须先删除桶内所有托管文件夹,步骤如下:
1. 找出桶内的所有托管文件夹
GCS控制台UI可能不会显示托管文件夹,直接用gsutil命令行工具列出:
gsutil managedfolders list gs://mybucket
执行后会输出桶内所有托管文件夹的完整路径,比如gs://mybucket/my-managed-folder/。
2. 删除托管文件夹
先清空托管文件夹内的对象
如果托管文件夹里有文件,先删除所有内容:
gsutil rm -r gs://mybucket/[托管文件夹路径]/*
替换[托管文件夹路径]为上一步得到的实际路径(比如my-managed-folder/)。
再删除托管文件夹本身
执行删除命令:
gsutil managedfolders delete gs://mybucket/[托管文件夹路径]
如果有多个托管文件夹,重复上述两步即可。
3. 关闭统一桶级权限
所有托管文件夹删除完成后,重新执行关闭命令:
gsutil uniformbucketlevelaccess set off gs://mybucket
或者回到GCS控制台的“访问控制”页面,再次点击切换按钮即可成功。
内容的提问来源于stack exchange,提问作者Thijs Koerselman
相关产品推荐
相关产品推荐

