web-dev-qa-db-fra.com

Comment répertorier tous les utilisateurs IAM de mon projet Google Cloud

J'aimerais pouvoir lister tous les utilisateurs et le compte de service associés à mes projets (de préférence en utilisant l'outil CLI gcloud, mais heureux de faire un appel API si besoin est).

Je peux facilement lister tous les comptes de service associés à un projet en utilisant this , mais comment lister tous les utilisateurs aussi? Je m'attendrais à quelque chose comme ce qui suit, mais je ne vois rien dans le doco:

gcloud beta iam users list
13
Graham Polley

Liste de tous les comptes de service dans un projet

La commande suivante répertorie tous les comptes de service associés à un projet:

$ gcloud iam service-accounts list

NAME                                    EMAIL
Compute Engine default service account  [email protected]
dummy-sa-1                              dummy-sa-1@MY_PROJECT.iam.gserviceaccount.com

Liste de tous les utilisateurs et comptes de service dans un projet avec leurs rôles IAM

Si vous souhaitez répertorier tous les utilisateurs/comptes de service auxquels des rôles IAM ont été accordés sur un projet spécifié, vous pouvez utiliser cette commande:

$ gcloud projects get-iam-policy MY_PROJECT

bindings:
- members:
  - serviceAccount:[email protected]
  - user:[email protected]
  role: roles/editor
- members:
  - user:[email protected]
  - user:[email protected]
  role: roles/owner
etag: ARBITRARY_ETAG_HERE
version: 1

Formatage de la sortie

gcloud prend en charge le formatage de la sortie en tant que json et de nombreuses autres personnalisations selon les besoins , ce qui pourrait être plus facile à analyser dans certains cas ou à imprimer uniquement les informations dont vous avez besoin.

Exemples:

# Prints the output as json instead of the default yaml format
$ gcloud projects get-iam-policy MY_PROJECT --format=json

# Display just the bindings in json format
$ gcloud projects get-iam-policy MY_PROJECT --format='json(bindings)'

# Display the bindings in a flattened format
$ $ gcloud projects get-iam-policy MY_PROJECT --format='flattened(bindings)'
23
Tuxdude

répertorier les comptes de service

$ gcloud iam service-accounts list

lister les membres des rôles pour le projet

$ gcloud projects get-iam-policy [project]

ajouter/affecter un utilisateur à un rôle

$ gcloud projects add-iam-policy-binding [project] \
--member="user:[email protected]" \
--role="roles/iam.serviceAccountUser" 

Supprimer l'utilisateur:

$ gcloud projects remove-iam-policy-binding [project] \
--member="user:[email protected]" \
--role="roles/iam.serviceAccountUser"

ajouter/affecter google-group à un rôle

$ gcloud projects add-iam-policy-binding [project] \
--member="group:[email protected]" \
--role="roles/storage.admin"
2
niainaLens

La commande suivante répertorie tous les comptes hors service de l'ensemble de l'organisation GCP:

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

Pour obtenir l'ID d'organisation

gcloud organizations list
1
Buktop

La commande suivante peut donner une vue claire des MEMBRES de votre projet dans le compte GCP: gcloud projects get-iam-policy $PROJECT_ID --flatten="bindings[].members" --format="table(bindings.members)"

0
JohnBegood