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 privilèges du 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 liens. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour modifier des liens:

  • 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 lien 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 lien 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. Il s'agit d'un champ obligatoire, mais s'il est omis, l'adresse e-mail de l'utilisateur est automatiquement renseignée.

Répertorier les privilèges d'un projet

Pour répertorier tous les liens 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 lien 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 p1061081023732-l3d8032b3-ea2c-4683-ad48-5ca23ddd00e7.

Références

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