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
gcloud CLI es la forma más fácil de interactuar con el proyecto de los derechos de autor. Si no lo tienes instalado, puedes usar Google Cloud Shell
Roles obligatorios
Para obtener los permisos que necesitas para modificar los gravámenes,
pídele a tu administrador que te otorgue el rol de IAM
Modificador de gravámenes de proyectos (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 los embargos. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para modificar los gravámenes:
-
resourcemanager.projects.updateLiens
-
Muestra una lista de las retenciones de 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]: Es una descripción legible de por qué existe esta retención. 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 todos los gravámenes aplicados 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 p1061081023732-l3d8032b3-ea2c-4683-ad48-5ca23ddd00e7
.
Referencias
Referencia de la API: Recurso REST: retenciones