1

我正在为 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

有什么解决办法吗?

如果我删除存储桶,权限也会被禁用?

(更新)“公共读取”是否意味着用户可以读取您设置的目录?还是只是将文件上传到存储的权限?(这是我真正想知道的)

4

1 回答 1

0

查看 中提到的语法gsutil help iam ch,它说要指定allUsers,而不是AllUsers。这在您指定前者时有效,但后者会引发错误。

删除用户/角色的区分大小写已acl ch -d此 GitHub 提交中修复,但看起来它从未修复过iam ch -d。我为此打开了一个 GitHub 问题

于 2017-09-26T22:15:16.247 回答