Protege los proyectos con retenciones

Puedes usar las retenciones de proyecto de Cloud de Confiance by S3NS para proteger los proyectos críticos y evitar que se borren de forma accidental o maliciosa. Una retención impide que cualquier persona borre un proyecto hasta que un administrador de la organización o un propietario del proyecto la quite.

Cloud de Confiance también puede aplicar retenciones automáticamente para proteger tus recursos. Por ejemplo, si adjuntas una cuenta de servicio de un proyecto a un recurso en un proyecto diferente, Cloud de Confiance coloca una retención en el proyecto que posee la cuenta de servicio de Identity and Access Management (IAM) para evitar dependencias rotas.

Antes de comenzar

La gcloud CLI es la forma más sencilla de interactuar con las retenciones de proyectos. Si no la tienes instalada, puedes usar Google Cloud Shell.

Roles obligatorios

Para obtener los permisos que necesitas para modificar las retenciones, pídele a tu administrador que te otorgue el rol de IAM Modificador de retenciones 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 las retenciones. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para modificar las retenciones:

  • resourcemanager.projects.updateLiens
  • Enumera 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 el comando alpha resource-manager liens create.

gcloud alpha resource-manager liens create \
    --project=PROJECT_ID \
    --restrictions=resourcemanager.projects.delete \
    --reason=LIEN_REASON \
    --origin=LIEN_ORIGIN

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto al que se aplica el gravamen.
  • LIEN_REASON: Es la descripción legible por humanos 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 el usuario o el sistema que originó la retención. Es un campo obligatorio, pero se completa automáticamente con la dirección de correo electrónico del usuario si se omite.

Enumera las retenciones de un proyecto

Para enumerar todas las retenciones aplicadas a un proyecto, usa el comando alpha resource-manager liens list.

gcloud alpha resource-manager liens list

El resultado es similar a lo siguiente:

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 el 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 se borrará, como p1061081023732-l3d8032b3-ea2c-4683-ad48-5ca23ddd00e7.

Referencias

Referencia de la API: Recurso REST: retenciones