IAM-Richtlinienbeispiele suchen

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

Anwendungsfall: Listen Sie IAM-Richtlinien in Ihrer Organisation auf und formatieren Sie die Ausgabe als Tupel (RESOURCE, ROLE, MEMBER)

  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 Einschränkungen vom Typ --query hinzufügen, um spezifischere Ressourcensuchergebnisse zu erhalten.

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

Du kannst --flatten und --format entfernen, wenn du die Ergebnisse nicht formatieren möchtest.

Sie können csv anstelle von table verwenden, um die Ergebnisse in eine CSV-Datei zu formatieren.

Du kannst --limit hinzufügen, um nur einen Teil der Suchergebnisse zu erhalten. Ohne dieses Flag werden Ergebnisse automatisch in den Suchergebnissen angezeigt.

Anwendungsfall: IAM-Richtlinien in Ihrem 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 innerhalb Ihrer Organisation oder Ihres Ordners anstelle eines Projekts aufzulisten.

Sie können --query-Einschränkungen hinzufügen, um spezifischere Richtliniensuchergebnisse zu erhalten.

Anwendungsfall: Listen Sie IAM-Richtlinien auf, 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-/Projektressourcen in Ihrer Organisation festgelegt sind

  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 nur nach Projektressourcen festzulegen.

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, in 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: Listen Sie Rollen auf, die ein Nutzer für ein Projekt hat

  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: Listen Sie Nutzer auf, 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 Rolle Inhaber“ haben, um risikoreiche 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 auflisten, in denen der gesamten Domain Rollen zugewiesen wurden

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

Anwendungsfall: Ressourcen auflisten, denen Rollen öffentlich zugewiesen sind

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

Anwendungsfall: Listen Sie Nutzer/Gruppen auf, 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)'