GCP, только список блоков, где у пользователя есть разрешения - PullRequest
0 голосов
/ 08 мая 2019

Я пытаюсь найти способ разрешить пользователю GCP выводить списки, но только те, для которых у пользователя есть разрешения (через ACL). Причина в том, что это может быть огромным, и пользовательский опыт не будет лучшим. Есть идеи?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 20 мая 2019

Если вы используете CLI, вы можете написать скрипт, который получает разрешения для каждого перечисленного сегмента и отображает его, только если учетная запись пользователя находится в списке разрешений:

for bucket in $(gsutil ls); do 
    if  gsutil acl get $bucket|grep -q $(gcloud config get-value account) ; then
        echo $bucket; 
    fi; 
done

Обратите внимание, что унаследованные разрешения (например, на уровне проекта) не будут отображаться в этом сценарии.

Этого нельзя достичь с помощью консоли, но если вам нужен веб-интерфейс, в котором перечислены только определенные сегменты, вы можете создать его самостоятельно, вызвав API и выполнив то же самое, что и скрипт CLI.

0 голосов
/ 09 мая 2019

Я пытаюсь найти способ разрешить пользователю GCP перечислять сегменты, но только те, для которых у пользователя есть разрешения (через ACL).

Вы не можете достичь своей цели, используялибо списки ACL Bucket, либо разрешения IAM.

Чтобы получить список хранилищ Google Cloud Storage, вам необходимо разрешение IAM storage.buckets.list.

. Это разрешение предоставляет разрешение учетной записи участника IAM для перечисления всех сегментов в проекте.,Вы не можете ограничить это разрешение далее, чтобы перечислять только определенные имена сегментов.Это разрешение не позволяет перечислять объекты в сегменте.

Для принятия решения в будущем вы можете использовать различные проекты и организовывать группы в соответствии с проектами.Это ограничит доступ только для членов IAM этого проекта.

Когда вы создаете контейнер, вы постоянно определяете его имя, местоположение и проект, частью которого он является.Эти характеристики не могут быть изменены позже.

...