Как перечислить, найти или выполнить поиск политик iam по сервисам (API), типам ресурсов и проектам на облачной платформе Google (GCP)?

В Google Cloud Platform (GCP) вы можете получить политику IAM для определенного ресурса, только вызвав getIamPolicy (get-iam-policy в gcloud).

Есть ли способ составлять список, искать, составлять список, искать или находить политики IAM в ресурсах, службах или проектах?

Это необходимо для ответа на такие вопросы, как:

  • Какие роли выполняет учетная запись службы?
  • Какие ресурсы являются общедоступными?
  • Есть ли в политиках удаленные пользователи?
  • Отображается ли пользователь в каких-либо политиках после ухода из моей компании?
  • Есть ли у пользователя определенная роль?

1 ответ

Решение

Вы можете использовать search-all-iam-policies для поиска всех политик IAM по службам, типам ресурсов, проектам в рамках проекта, папки или организации.

Чтобы просмотреть политики в проекте с номером 123 (обратите внимание, что поддерживаются только политики для перечисленных типов ресурсов):

gcloud beta asset search-all-iam-policies --scope=projects/123

Чтобы узнать, кто играет роль Владелец в организации под номером 456:

gcloud beta asset search-all-iam-policies --scope=organizations/456 --query="policy:roles/owner"

Чтобы узнать, какие роли выполняет учетная запись службы:

--query="policy:123-compute@developer.gserviceaccount.com"

Чтобы узнать, какие ресурсы являются общедоступными:

--query="policy:(allUsers OR allAuthenticatedUsers)"

Чтобы узнать, содержат ли политики удаленные учетные записи:

--query="policy:deleted"

Чтобы узнать, присутствует ли amy@bar.com в какой-либо политике:

--query="policy:amy@bar.com"

Чтобы узнать, есть ли у amy@bar.com роль Владелец:

--query="policy:(roles/owner amy@bar.com)"

Чтобы посмотреть только на политики IAM для данного типа ресурса (например, проектов):

--query="policy:roles/owner resource://cloudresourcemanager.googleapis.com/projects"

Чтобы узнать, имеет ли какая-либо учетная запись Gmail роль Владелец:

`--query="policy:(roles/owner *gmail*)"

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

Чтобы использовать команду, вы должны:

  • Включить Cloud Asset API и

  • Есть cloudasset.assets.searchAllIamPolicies разрешение на область, которая включена в эти роли:

    • роли / cloudasset.viewer
    • роли / cloudasset.owner
    • роли / зритель
    • роли / редактор
    • роли / владелец

Документация: