将GCP Cloud IAM自定义角色的访问权限仅限于存储桶

AWS提供了一种通过其IAM policies来限制从特定用户/角色特定命名资源的访问的方法。

例如以下权限:


    {
      "Sid": "ThirdStatement","Effect": "Allow","action": [
        "s3:List*","s3:Get*"
      ],"Resource": [
        "arn:aws:s3:::confidential-data","arn:aws:s3:::confidential-data/*"
      ]
    }

将允许对List*存储桶及其内容进行所有Get*confidential-data操作。

但是,通过GCP的custom roles时,我找不到这样的选项。

现在,我知道对于GCS存储桶(这是我的用例),您可以创建ACLs来实现(或多或少?)相同的结果。

我的问题是,假设我创建了一个由someone@myaccount-googlecloud.com标识的服务帐户,并且希望该帐户具有对gs://mybucket-on-google-cloud-storage读/写权限,应该如何我要格式化ACL来做到这一点吗?

(暂时,从组织/文件夹/项目继承的其他任何权限对我来说都没有关系)

xzpxiao 回答:将GCP Cloud IAM自定义角色的访问权限仅限于存储桶

ACL的格式如下

{
  "bindings":[
    {
      "role": "[IAM_ROLE]","members":[
        "[MEMBER_NAME]"
      ]
    }
  ]
}

请参阅Google Docs

例如

{
 "kind": "storage#policy","resourceId": "projects/_/buckets/bucket_name","version": 1,"bindings": [
  {
   "role": "roles/storage.legacyBucketWriter","members": [
    "projectEditor:projectname","projectOwner:projectname"
   ]
  },{
   "role": "roles/storage.legacyBucketReader","members": [
    "projectViewer:projectname"
   ]
  }
 ],"etag": "CAE="
}
,

来自documentation

授予服务帐户 foo@developer.gserviceaccount.com 访问存储桶示例存储桶:

gsutil acl ch -u foo@developer.gserviceaccount.com:W gs://example-bucket

授予服务帐户 foo@developer.gserviceaccount.com 读取访问存储桶示例存储桶:

gsutil acl ch -u foo@developer.gserviceaccount.com:R gs://example-bucket
本文链接:https://www.f2er.com/2771708.html

大家都在问