Cette page a été traduite par l'API Cloud Translation.
Switch to English

Rechercher des exemples de stratégies IAM

Cette page contient des exemples de requêtes sur divers cas d'utilisation de la recherche de stratégies IAM.

Cas d'utilisation : répertorier les stratégies IAM au sein de votre organisation et formater la sortie sous forme de tuples (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)'

Vous pouvez remplacer --scope par projects/12345678 ou folders/1234567 pour effectuer une recherche dans un projet ou un dossier au lieu d'une organisation.

Vous pouvez ajouter des restrictions --query pour obtenir des résultats de recherche de ressources plus spécifiques.

Vous pouvez supprimer --flatten et --format si vous ne souhaitez pas formater les résultats.

Vous pouvez utiliser csv au lieu de table pour afficher les résultats au format CSV.

Vous pouvez ajouter --limit pour obtenir uniquement un sous-ensemble des résultats de recherche. Sans cette option, l'utilisateur passe automatiquement en revue tous les résultats de la recherche.

Cas d'utilisation : répertorier les stratégies IAM dans votre projet

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

Vous pouvez remplacer --scope par organizations/123456 ou folders/1234567 pour répertorier toutes les stratégies IAM de votre organisation ou de votre dossier au lieu d'un projet.

Vous pouvez ajouter des restrictions --query pour obtenir des résultats de recherche de stratégies plus spécifiques.

Cas d'utilisation : répertorier les stratégies IAM définies pour les ressources organisation/dossier/projet de votre organisation

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

Vous pouvez remplacer --query par resource:(cloudresourcemanager projects) pour n'afficher que les projets.

Cas d'utilisation : répertorier les lecteurs d'un projet

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

Cas d'utilisation : répertorier les projets pour lesquels un utilisateur a le rôle de propriétaire

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

Cas d'utilisation : répertorier les rôles dont dispose un utilisateur sur un projet

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

Cas d'utilisation : répertorier les autorisations dont dispose un utilisateur sur un projet

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

Cas d'utilisation : répertorier les utilisateurs ayant accès au bucket bigstore

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

Cas d'utilisation : répertorier les comptes de service dotés du rôle de propriétaire afin de détecter les paramètres de stratégie risqués

  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

Cas d'utilisation : répertorier les ressources auxquelles les utilisateurs de Gmail ont accès

  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

Cas d'utilisation : répertorier les ressources disposant de rôles attribués à l'ensemble du domaine

  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)'

Cas d'utilisation : répertorier les ressources disposant de rôles accordés au public

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

Cas d'utilisation : répertorier les utilisateurs/groupes pouvant modifier les stratégies IAM au niveau de l'organisation/du dossier/du projet

  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)'