Есть ли способ получить те же результаты, что и с:

$ gcloud projects get-iam-policy

Но на более чем один проект одновременно?

Конкретно на все проекты в моей организации

Я старался

$ gcloud organizations get-iam-policy ORGANIZATION_ID | grep user\: | sort | uniq

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

1
zuzathebomb 28 Янв 2020 в 15:13

3 ответа

Лучший ответ

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

Вы должны сами это написать. Сделайте цикл по проектам и вызовите get-iam-policy для каждого проекта. Что-то вроде этого

for i in $(gcloud projects list | cut -d' ' -f1); do
  gcloud projects get-iam-policy ${i} | grep user\:  >> out
done

cat out | sort | uniq > out
0
guillaume blaquiere 28 Янв 2020 в 16:40

Вы можете использовать следующую команду для поиска во всех политиках IAM организаций / папок / проектов в вашей организации:

gcloud beta asset search-all-iam-policies --scope=organizations/123 --query="resource:*//cloudresourcemanager*"

Вы можете изменить область действия на папку или проект.

У вас должно быть разрешение cloudasset.assets.searchAllIamPolicies для области.

Документация: https://cloud.google.com/asset-inventory/ Docs / поисково- IAM - политика

Однако он не охватывает все политики: https: // cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types

0
Circy 29 Фев 2020 в 05:10

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

Сначала необходимо получить список идентификаторов проектов, а затем получить IAM-политику для каждого.

0
Victor_Torres 28 Янв 2020 в 19:30