Ограничение доступа пользовательской роли GCP Cloud IAM только к корзине - PullRequest
1 голос
/ 14 января 2020

AWS предоставляет способ через свои политики IAM ограничить доступ от конкретного пользователя / роли к специфицированному c названному ресурсу .

Например, следующее разрешение:


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

Теперь я знаю, что для сегментов GCS (что является моим вариантом использования) вы можете создать либо ACL для достижения (более или менее?) того же результата.

У меня такой вопрос, если я создаю учетную запись службы, обозначенную someone@myaccount-googlecloud.com, и хочу, чтобы эта учетная запись имела чтение / запись разрешения на gs://mybucket-on-google-cloud-storage, как мне отформатировать ACL для этого?

(пока мне не важно, какие другие разрешения унаследованы от организации / папки / проект)

Ответы [ 2 ]

1 голос
/ 14 января 2020

Формат ACL следующий:

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

Пожалуйста, обратитесь к Документам Google

например

{
 "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="
}
0 голосов
/ 14 января 2020

Из документации :

Предоставление учетной записи службы foo@developer.gserviceaccount.com ЗАПИСЬ доступ к корзине пример-корзина:

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

Предоставление учетной записи службы foo@developer.gserviceaccount.com READ доступ к корзине пример-ведро:

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