Protege proyectos de una eliminación accidental con retenciones

Este documento está destinado a propietarios del proyecto y a administradores de la organización que deseen agregar protecciones contra la eliminación de proyectos.

Puedes colocar una retención en un proyecto para bloquear su eliminación hasta que quites la retención. Esto puede ser útil a fin de proteger proyectos de gran importancia.

La herramienta de línea de comandos de gcloud es la forma más fácil de interactuar con las retenciones del proyecto. Si no lo tienes instalado, puedes usar Google Cloud Shell.

Coloca una retención en un proyecto

Para colocar una retención en un proyecto, un usuario debe tener el permiso resourcemanager.projects.updateLiens que otorgan las funciones roles/owner y roles/resourcemanager.lienModifier.

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

Los parámetros disponibles para liens create son los siguientes:

  • --project: El proyecto al que se aplica la retención.
  • --restrictions: Una lista separada por comas de permisos de IAM para bloquear.
  • --reason: Una descripción legible de por qué existe esta retención.
  • --origin: Una string corta que describa el usuario o sistema que originó la retención. Es obligatorio, pero la herramienta de gcloud lo propagará de forma automática con la dirección de correo electrónico del usuario si se omite.

En la actualidad, la única restricción válida de un proyecto es resourcemanager.projects.delete.

Crea una lista de retenciones de un proyecto

Para crear una lista de retenciones que se aplican a un proyecto, un usuario debe tener el permiso resourcemanager.projects.get. Usa el comando de gcloud liens list.

gcloud alpha resource-manager liens list

Este es un resultado de ejemplo de este comando:

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

Quita las retenciones de un proyecto

A fin de quitar una retención de un proyecto, un usuario debe tener el permiso resourcemanager.projects.updateLiens que otorgan roles/owner y roles/resourcemanager.lienModifier.

gcloud alpha resource-manager liens delete [LIEN_NAME]

En el ejemplo anterior, se ilustra lo siguiente:

  • [LIEN_NAME] es el nombre de la retención que se borrará.

Referencias

Referencia de la API: Recurso REST: retenciones

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Documentación de Resource Manager