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.
Las retenciones tambi�n se pueden implementar autom�ticamente en un proyecto. Por ejemplo, si permites que las cuentas de servicio de administraci�n de identidades y accesos (IAM) de un proyecto se vinculen a los recursos de otros proyectos, se implementar� una retenci�n en el proyecto donde se ubican las cuentas de servicio.
Antes de comenzar
La CLI 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
Roles obligatorios
A fin de obtener los permisos que necesitas para modificar las retenciones, haz lo siguiente:
solicita a tu administrador que te otorgue el
Rol de IAM del modificador de retenci�n de proyecto (roles/resourcemanager.lienModifier
) en los proyectos.
Para obtener m�s informaci�n sobre c�mo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Este rol predefinido contiene los permisos necesarios para modificar retenciones. Para ver los permisos exactos que son necesarios, expande la secci�n Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para modificar retenciones:
-
resourcemanager.projects.updateLiens
-
Enumera retenciones en un proyecto:
resourcemanager.projects.get
Tambi�n puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
Coloca una retenci�n en un proyecto
Para colocar una retenci�n en un proyecto, usa alpha resource-manager liens create
.
kubectl.
gcloud alpha resource-manager liens create \ --project=[PROJECT_ID] \ --restrictions=[PERMISSION_RESTRICTION] \ --reason=[LIEN_REASON] \ --origin=[LIEN_ORIGIN]
Reemplaza lo siguiente:
- [PROJECT_ID]: Es el ID del proyecto al que se aplica la retenci�n.
- [PERMISSION_RESTRICTION]: Lista de elementos separados por comas
Permisos de IAM que se deben bloquear. La �nica restricci�n v�lida para un proyecto es
resourcemanager.projects.delete
. - [LIEN_REASON]: Una descripci�n legible por humanos de por qu� esta retenci�n
existe. Coloca esta descripci�n entre comillas dobles. Ejemplo:
"This project is protected by a lien"
. - [LIEN_ORIGIN]: Es una cadena que indica al usuario o sistema que origin� la retenci�n. Es un campo obligatorio, pero se completa autom�ticamente la direcci�n de correo electr�nico del usuario si se omite.
Crea una lista de retenciones de un proyecto
Para enumerar todas las retenciones que se aplicaron a un proyecto, usa el
Comando alpha resource-manager liens list
.
gcloud alpha resource-manager liens list
El resultado es similar a este:
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
Para quitar una retenci�n de un proyecto, usa
Comando alpha resource-manager liens delete
.
gcloud alpha resource-manager liens delete [LIEN_NAME]
Reemplaza [LIEN_NAME] por el nombre de la retenci�n que deseas borrar.
como liens/p1061081023732-l3d8032b3-ea2c-4683-ad48-5ca23ddd00e7
.
Referencias
Referencia de la API: Recurso REST: retenciones