我正在为AllUsers设置上传文件的权限, 我用过:
gsutil acl ch -u AllUsers:R gs://[mywebsite.com]
gsutil defacl set public-read gs://[mywebsite.com]
但我发现目录错了。
所以我想禁用当前目录的权限。
首先,我通过
检查了我的设置的IAM政策
gsutil iam get gs://[mywebsite.com]
部分结果显示:
{
"members": [
"allUsers",
"projectViewer:[myprojectID]"
],
"role": "roles/storage.legacyBucketReader"
}
我想这意味着对所有用户的许可,所以我必须禁用它。
然后,通过以下方式从此目录中删除AllUsers:
gsutil iam ch -d All gs://[mywebsite.com]
然而....它无法正常工作......它显示
CommandException: Incorrect public member type for binding AllUsers:R
有没有解决方案?
如果删除存储桶,权限也会被禁用?
(更新)“public-read”是否意味着用户可以读取您设置的目录?或只是将文件上传到存储的权限? (这是我真正想知道的)
答案 0 :(得分:0)
查看gsutil help iam ch
中提到的语法,它表示要指定allUsers
,而不是AllUsers
。这在您指定前者时有效,但为后者抛出错误。
this GitHub commit中acl ch -d
修正了移除用户/角色的区分大小写,但iam ch -d
似乎从未修复过。{{1}}。我打开了GitHub issue for this。