Protéger les projets contre la suppression accidentelle à l'aide de privilèges

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Ce document est destiné aux propriétaires de projets et aux administrateurs d'organisation souhaitant une protection renforcée contre la suppression de projets.

Vous pouvez placer un privilège sur un projet pour en bloquer la suppression jusqu'à ce que vous supprimiez le privilège. Cela peut être utile pour protéger des projets particulièrement importants.

Les privilèges peuvent également être placés automatiquement sur un projet. Par exemple, si vous autorisez que les comptes de service IAM (Identity and Access Management) d'un projet soient associés à des ressources dans d'autres projets, un privilège est placé sur le projet où se trouvent les comptes de service.

La CLI gcloud est le moyen le plus simple d'interagir avec les privilèges du projet. Si vous ne l'avez pas installé, vous pouvez utiliser Google Cloud Shell.

Placer un privilège sur un projet

Pour placer un privilège sur un projet, un utilisateur doit disposer de l'autorisation resourcemanager.projects.updateLiens qui est accordée par les rôles roles/owner et roles/resourcemanager.lienModifier.

gcloud alpha resource-manager liens create \
  --restrictions=resourcemanager.projects.delete \
  --reason="Super important production system"

Les paramètres disponibles pour liens create sont les suivants :

  • --project : projet auquel le privilège s'applique.
  • --restrictions : liste des autorisations IAM à bloquer, séparées par des virgules.
  • --reason : description lisible des raisons pour lesquelles ce privilège existe.
  • --origin : chaîne courte indiquant l'utilisateur ou le système à l'origine du privilège. Ce paramètre est requis, mais s'il est omis, l'outil gcloud le remplit automatiquement avec l'adresse e-mail de l'utilisateur.

À l'heure actuelle, la seule restriction valide pour un projet est resourcemanager.projects.delete.

Répertorier les privilèges d'un projet

Pour répertorier les privilèges appliqués à un projet, un utilisateur doit disposer de l'autorisation resourcemanager.projects.get. Exécutez la commande gcloud liens list.

gcloud alpha resource-manager liens list

Voici un exemple de résultat que peut générer cette commande :

gcloud alpha resource-manager liens list
NAME                                                  ORIGIN            REASON
p1061081023732-l3d8032b3-ea2c-4683-ad48-5ca23ddd00e7  user@example.com  testing

Supprimer les privilèges d'un projet

Pour supprimer un privilège d'un projet, un utilisateur doit disposer de l'autorisation resourcemanager.projects.updateLiens qui est accordée par roles/owner et roles/resourcemanager.lienModifier.

gcloud alpha resource-manager liens delete [LIEN_NAME]

où :

  • [LIEN_NAME] correspond au nom du privilège à supprimer.

Références

Documents de référence sur les API : Ressource REST : privilèges