1

我的许可设置AllUsers的上传文件, 我用:禁用公共读取权限AllUsers的(GCP)

gsutil acl ch -u AllUsers:R gs://[mywebsite.com] 
gsutil defacl set public-read gs://[mywebsite.com] 

,但我发现该目录是错误的。 所以我想禁用当前目录的权限。 首先,我通过
gsutil iam get gs://[mywebsite.com] 检查我的设置中的IAM政策和结果的一部分显示:

{ 
     "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

看看gsutil help iam ch中提到的语法,它说要指定allUsers而不是AllUsers。这适用于指定前者,但会为后者引发错误。

删除用户/角色的大小写敏感度在this GitHub commit中修复为acl ch -d,但它看起来好像从未修复过iam ch -d。我打开了一个GitHub issue for this