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 des privilèges. Si vous ne l'avez pas installé, vous pouvez utiliser Google Cloud Shell.

Rôles requis

Pour obtenir les autorisations dont vous avez besoin pour modifier les privilèges, demandez à votre administrateur de vous accorder le Rôle IAM Modificateur de privilège du 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épertoriez 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 le alpha resource-manager liens create .

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

Remplacez les éléments suivants :

  • [PROJECT_ID]: ID du projet auquel le privilège s'applique.
  • [PERMISSION_RESTRICTION]: liste de valeurs séparées par une virgule Autorisations IAM à bloquer. La seule restriction valide projet est resourcemanager.projects.delete.
  • [LIEN_REASON]: description lisible de la raison pour laquelle ce privilège a été créé. existe. Placez cette description entre guillemets. Exemple : "This project is protected by a lien".
  • [LIEN_ORIGIN]: chaîne indiquant l'utilisateur ou le système qui à l'origine du privilège. Il s'agit d'un champ obligatoire, mais il 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, utilisez le 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, utilisez le alpha resource-manager liens delete.

gcloud alpha resource-manager liens delete [LIEN_NAME]

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

Références

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