gpt4 book ai didi

google-cloud-storage - 对象不继承桶权限

转载 作者:行者123 更新时间:2023-12-04 19:44:18 24 4
gpt4 key购买 nike

在 GCS 存储中,当向存储桶(不是整个项目;只是该项目中的一个存储桶)添加权限时,您过去能够设置存储桶的权限,以便将任何新对象放入存储桶继承存储桶的权限。

然而,在最新版本的 GCS 中,我们还无法弄清楚如何做到这一点。我们可以为根桶设置权限:

{
"email": "someuser@someaccount.iam.gserviceaccount.com",
"entity": "someuser@someaccount.iam.gserviceaccount.com",
"role": "READER"
}

但是当一个新对象被放入那个桶时,它不会继承这个角色。

有没有办法 (a) 继承角色,或 (b) 为存储桶设置 IAM 角色(我们只能为项目设置 IAM 角色,而不是特定的存储桶)?

谢谢!

最佳答案

有五种不同的配置方式Access Control options用于 Cloud Storage 存储桶。我建议您使用访问控制列表 (ACL) 来继承单个存储桶中的角色,因为当“您需要对单个对象进行细粒度控制”时会使用 ACL。

要使用控制台更改项目中单个存储桶的权限,

  1. 转到存储、浏览器。到达那里后,您将看到一个遗愿 list 。
  2. 选择您要更改权限的存储桶。
  3. 点击右侧的三个垂直点,然后选择“编辑存储桶权限”。
  4. 键入您要配置的帐户并选择所需的角色。

描述的过程很详细here ,以及其他设置 ACL 的方法,例如使用 Cloud Shell。下一个命令指定个人授权:

gsutil acl ch -u [USER_EMAIL]:[PERMISSION] gs://[BUCKET_NAME]

查找预定义角色列表 here .

更新 2

考虑下一个错误:

CommandException: user@account.iam.gserviceaccount.com:roles/storage.legacyBucketReader is not a valid ACL change Allowed permissions are OWNER, WRITER, READER

事实上涉及两种类型的角色:

  1. Identity and Access Management (IAM) roles :成员面向项目的角色。 “定义谁(身份)对哪种资源具有何种访问权限(角色)”。 Example : gsutil iam ch user:[USER_EMAIL]:objectCreator,objectViewer gs://[BUCKET_NAME]

  2. Access Control Lists (ACLs) :授予用户对单个存储桶或对象的读取或写入访问权限。 Example : gsutil acl ch -u [USER_EMAIL]:READER gs://[BUCKET_NAME]

命令无效,因为两个命令混合在一起。对于 gsutil acl,唯一可能的权限是 READER、WRITER、OWNER、Default,如您所见 here .

关于google-cloud-storage - 对象不继承桶权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49778422/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com