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
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
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
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)'
$ gcloud iam service-accounts list
$ gcloud projects get-iam-policy [project]
$ 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"
$ gcloud projects add-iam-policy-binding [project] \
--member="group:[email protected]" \
--role="roles/storage.admin"
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
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)"