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

Gcloud CLI est le moyen le plus simple d'interagir avec les liens 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 liens, demandez à votre administrateur de vous accorder le rôle IAM Modificateur de liens de projet (roles/resourcemanager.lienModifier) sur les projets. Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.

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 droits de rétention :

  • resourcemanager.projects.updateLiens
  • Lister 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 avoir fiscal sur un projet, utilisez la commande 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 des autorisations IAM à bloquer, séparées par des virgules. La seule restriction valide pour un projet est resourcemanager.projects.delete.
  • LIEN_REASON : description lisible des raisons pour lesquelles ce privilège existe. Placez cette description entre guillemets doubles. Exemple : "This project is protected by a lien".
  • LIEN_ORIGIN : chaîne indiquant l'utilisateur ou le système à l'origine du privilège. Ce champ est obligatoire, mais il est automatiquement rempli avec l'adresse e-mail de l'utilisateur s'il est omis.

Répertorier les privilèges d'un projet

Pour lister tous les privilèges appliqués à un projet, utilisez 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 blocage d'un projet, utilisez 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 p1061081023732-l3d8032b3-ea2c-4683-ad48-5ca23ddd00e7.

Références

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