禁用AllUsers(GCP)

时间:2017-08-09 13:04:43

标签: google-cloud-platform google-cloud-storage gsutil google-cloud-sdk

我正在为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”是否意味着用户可以读取您设置的目录?或只是将文件上传到存储的权限? (这是我真正想知道的)

1 个答案:

答案 0 :(得分:0)

查看gsutil help iam ch中提到的语法,它表示要指定allUsers,而不是AllUsers。这在您指定前者时有效,但为后者抛出错误。

this GitHub commitacl ch -d修正了移除用户/角色的区分大小写,但iam ch -d似乎从未修复过。{{1}}。我打开了GitHub issue for this