IAM-Richtlinienbeispiele suchen

Diese Seite enthält Beispielabfragen für verschiedene Anwendungsfälle für die IAM-Richtliniensuche.

Anwendungsfall: IAM-Richtlinien in Ihrer Organisation auflisten und Ausgabe als Tupel (RESOURCE, ROLE, MEMBER) formatieren

  gcloud asset search-all-iam-policies \
  --scope=organizations/123456 \
  --page-size=50 \
  --flatten='policy.bindings[].members[]' \
  --format='table(resource, policy.bindings.role, policy.bindings.members)'

Sie können --scope in projects/12345678 oder folders/1234567 ändern, um innerhalb eines Projekts oder Ordners anstelle einer Organisation zu suchen.

Sie können --query-Einschränkungen hinzufügen, um genauere Suchergebnisse für Ressourcen zu erhalten.

Sie können Einschränkungen des Typs --asset-types hinzufügen, um spezifischere Ressourcentypen zu erhalten.

Sie können --flatten und --format entfernen, wenn Sie die Ergebnisse nicht formatieren möchten.

Verwenden Sie csv anstelle von table, um die Ergebnisse in eine CSV-Datei zu formatieren.

Sie können --limit hinzufügen, um nur einen Teil der Suchergebnisse zu erhalten. Ohne dieses Flag wird automatisch durch alle Suchergebnisse geblättert.

Anwendungsfall: IAM-Richtlinien im Projekt auflisten

  gcloud asset search-all-iam-policies \
  --scope=projects/12345678

Sie können --scope in organizations/123456 oder folders/1234567 ändern, um alle IAM-Richtlinien in Ihrer Organisation oder Ihrem Ordner anstelle eines Projekts aufzulisten.

Sie können --query-Einschränkungen hinzufügen, um genauere Suchergebnisse für Richtlinien zu erhalten.

Anwendungsfall: IAM-Richtlinien auflisten, die für Ressourcen mit dem Wort "foo" in den Ressourcennamen festgelegt sind

  gcloud asset search-all-iam-policies \
  --scope=organizations/123456  \
  --query='resource:foo'

Anwendungsfall: IAM-Richtlinien auflisten, die für Organisations-, Ordner- oder Projektressourcen innerhalb der Organisation festgelegt wurden

  gcloud asset search-all-iam-policies \
  --scope=organizations/123456  \
  --asset-types='cloudresourcemanager.*'

Sie können das Flag --asset-types in cloudresourcemanager.googleapis.com/Project ändern, um die Suche nach Projektressourcen zu beschränken.

Anwendungsfall: Betrachter eines Projekts auflisten

  gcloud asset search-all-iam-policies \
  --scope=projects/12345678 \
  --query='roles:roles/viewer' \
  --asset-types='cloudresourcemanager.*'
  --page-size=50 \
  --flatten='policy.bindings[].members[]' \
  --format='table(policy.bindings.members)'

Anwendungsfall: Projekte auflisten, bei denen ein Nutzer die Inhaberrolle hat

  gcloud asset search-all-iam-policies \
  --scope=organizations/123456 \
  --query='policy:(roles/owner user@mycompany.com)' \
  --asset-types='cloudresourcemanager.googleapis.com/Project'
  --page-size=50 \
  --format='table(resource)'

Anwendungsfall: Rollen eines Nutzers für ein Projekt auflisten

  gcloud asset search-all-iam-policies \
  --scope=projects/12345678 \
  --query='policy:user@mycompany.com' \
  --asset-types='cloudresourcemanager.googleapis.com/Project'
  --page-size=50 \
  --flatten='policy.bindings[]' \
  --format='table(policy.bindings.role)'

Anwendungsfall: Berechtigungen eines Nutzers für ein Projekt auflisten

  gcloud asset search-all-iam-policies \
  --scope=projects/12345678 \
  --query='policy:user@mycompany.com policy.role.permissions:""' \
  --asset-types='cloudresourcemanager.*'
  --page-size=50 \
  --format='default(explanation.matchedPermissions)'

Anwendungsfall: Nutzer auflisten, die auf den Bigstore-Bucket zugreifen können

  gcloud asset search-all-iam-policies \
  --scope=projects/12345678 \
  --query='policy.role.permissions:storage.buckets' \
  --asset-types='cloudresourcemanager.*'
  --page-size=50 \
  --flatten='policy.bindings[].members[]' \
  --format='table(policy.bindings.members)'

Anwendungsfall: Dienstkonten auflisten, die die Inhaberrolle haben, um riskante Richtlinieneinstellungen zu erkennen

  gcloud asset search-all-iam-policies \
  --scope=organizations/123456 \
  --query='policy:(roles/owner serviceAccount)' \
  --page-size=50 \
  --flatten='policy.bindings[].members[]' \
  --format='table(resource.segment(3):label=RESOURCE_TYPE, resource.basename():label=RESOURCE, policy.bindings.members)' \
  | grep serviceAccount

Anwendungsfall: Ressourcen auflisten, auf die Gmail-Nutzer zugreifen können

  gcloud asset search-all-iam-policies \
  --scope=organizations/123456 \
  --query='policy:gmail.com' \
  --page-size=50 \
  --flatten='policy.bindings[].members[]' \
  --format='csv(resource, policy.bindings.role, policy.bindings.members)' \
  | grep @gmail.com

Anwendungsfall: Ressourcen mit Rollen auflisten, die der gesamten Domain gewährt wurden

  gcloud asset search-all-iam-policies \
  --scope=organizations/123456 \
  --query='policy:"domain:bigwhite.joonix.net"' \
  --page-size=50 \
  --flatten='policy.bindings[]' \
  --format='table(resource, policy.bindings.role)'

Anwendungsfall: Ressourcen auflisten, denen öffentliche Rollen zugewiesen sind

  gcloud asset search-all-iam-policies \
  --scope=organizations/123456 \
  --query='memberTypes:(allUsers OR allAuthenticatedUsers)' \
  --page-size=50 \
  --format='table(resource)'

Anwendungsfall: Nutzer/Gruppen auflisten, die IAM-Richtlinien für Organisation/Ordner/Projekt ändern können

  gcloud asset search-all-iam-policies \
  --scope=organizations/123456 \
  --query='policy.role.permissions:(resourcemanager.organizations.setIamPolicy OR resourcemanager.folders.setIamPolicy OR resourcemanager.projects.setIamPolicy)' \
  --page-size=50 \
  --format='json(resource, policy.bindings, explanation.matchedPermissions)'