Protéger les projets à l'aide de privilèges

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.

Avant de commencer

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

Rôles requis

Pour obtenir les autorisations nécessaires pour modifier les privilèges, demandez à votre administrateur de vous attribuer le rôle IAM Modificateur de privilèges de projet (roles/resourcemanager.lienModifier) sur les projets. Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.

Ce rôle prédéfini contient les autorisations requises pour modifier les privilèges. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour modifier les privilèges:

  • resourcemanager.projects.updateLiens
  • Répertorier les privilèges d'un projet : resourcemanager.projects.get

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Placer un privilège sur un projet

Pour placer un privilège sur un projet, utilisez la commande alpha resource-manager liens create.

gcloud alpha resource-manager liens create \
  --project=[PROJECT_NAME]
  --restrictions=[PERMISSION_RESTRICTION] \
  --reason=[LIEN_REASON]
  --origin=[LIEN_ORIGIN]

Remplacez les éléments suivants :

  • [PROJECT_NAME]: nom du projet auquel le privilège s'applique.
  • [PERMISSION_RESTRICTION]: liste d'autorisations IAM à bloquer séparées par une virgule. La seule restriction valide pour un projet est resourcemanager.projects.delete.
  • [LIEN_REASON]: description lisible des raisons pour lesquelles ce privilège existe.
  • [LIEN_ORIGIN]: chaîne courte indiquant l'utilisateur ou le système à l'origine du privilège. Obligatoire, mais ce champ est automatiquement renseigné avec l'adresse e-mail de l'utilisateur en cas d'omission.

Répertorier les privilèges d'un projet

Pour répertorier tous les privilèges appliqués à un projet, exécutez la commande alpha resource-manager liens list.

gcloud alpha resource-manager liens list

Le résultat ressemble à ce qui suit :

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, exécutez la commande alpha resource-manager liens delete.

gcloud alpha resource-manager liens delete [LIEN_NAME]

Remplacez [LIEN_NAME] par le nom du privilège à supprimer, par exemple liens/p1061081023732-l3d8032b3-ea2c-4683-ad48-5ca23ddd00e7.

Références

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