Cómo revocar el acceso a Google Cloud Platform

En este documento, se describen recomendaciones para revocar el acceso de una persona a un proyecto de Google Cloud Platform. Este documento tiene dos secciones. En la primera, se describe la configuración de un proyecto de una manera que facilita la revocación de accesos. En la segunda, se incluyen procedimientos paso a paso para revocar el acceso de una persona a diversos tipos de recursos.

Fondo

Un momento crítico en la vida de tus recursos de Google Cloud Platform es cuando necesitas quitar a alguien el acceso a ellos. Cuando un empleado abandona tu empresa, finaliza tu relación con un contratista o un colaborador se traslada a otros proyectos, debes realizar algunas acciones para revocar por completo el acceso innecesario a tus recursos.

Algunos de estos procesos son opcionales. Debes determinar cuál de estos pasos ejecutar, según tus necesidades de seguridad, productos en uso y confianza en la persona cuyo acceso se está revocando. Con este documento, crea políticas y procedimientos que tengan sentido para ti y tu uso de GCP.

Cómo configurar tu proyecto

Puedes mejorar la capacidad de tu proyecto para revocar los accesos de usuarios de manera eficiente y segura si tomas decisiones inteligentes en el momento de la configuración.

Limita el acceso a las VM

Las máquinas virtuales, como las que usan Google Compute Engine, Google Kubernetes Engine y el entorno flexible de App Engine, son grandes superficies de ataques potenciales. Si alguien alguna vez tuvo acceso a una VM, especialmente acceso con permisos de administrador o acceso de administrador, es extremadamente difícil garantizar que no hayan modificado la VM y dejado una puerta trasera para poder acceder en el futuro. Limita el acceso a la VM a las personas que tengan una necesidad clara y específica sobre ella. Ten en cuenta que en la configuración predeterminada, los editores y propietarios del proyecto tienen acceso de administrador a todas las VM del proyecto.

Antes de otorgar acceso a una persona, piensa en qué necesita hacer que requiera el acceso, y busca otras maneras de satisfacer esas necesidades si es posible. En lugar de dar acceso a todos los desarrolladores con el objeto de implementar código, considera usar herramientas como Chef, Puppet y Salt para administrar tus implementaciones.

Prepárate para la rotación de credenciales

Debes diseñar tus proyectos y recursos de modo tal que permitan la restauración fácil y sin problemas de las credenciales al nivel del proyecto. Estos son secretos vinculados con el proyecto en sí, como claves de cuenta de servicio, secretos del cliente OAuth y secretos específicos de la aplicación, como contraseñas de administrador de la base de datos. Planifica esto ahora para facilitar la implementación de credenciales nuevas en cualquier aplicación que las necesite.

Restringe las claves de API

Cuando crees y administres claves de API, restringe el conjunto de sitios web, direcciones IP y aplicaciones que pueden usarlas. Las claves de API son visibles para todos los miembros del proyecto, de modo que toda clave no restringida debe rotar o borrarse a fin de revocar el acceso de facturación. Obtén más información sobre las recomendaciones para usar las claves de API de forma segura y planificar tu uso en consecuencia.

Cómo revocar el acceso

Si tomaste buenas decisiones en la configuración del proyecto, los siguientes procesos serán una manera eficiente y segura de revocar el acceso de una persona.

Quita la cuenta de la membresía del proyecto

  1. En Google Cloud Platform Console, ve a la página Permisos de IAM.

    Permisos de IAM

  2. Selecciona el proyecto del cual deseas quitar una cuenta.

  3. Haz clic en la casilla de verificación junto a la fila que contiene la cuenta que deseas quitar de la lista de miembros y luego haz clic en Quitar. Alternativamente, haz clic en el ícono de la papelera junto a la cuenta que deseas quitar.

Rota las credenciales del proyecto

Claves de cuenta de servicio

Las claves de cuenta de servicio son cuentas sin usuario que, por la configuración predeterminada, se consideran editores de su proyecto asociado. Una persona con la capacidad de actuar como una cuenta de servicio puede realizar las mismas acciones que un editor del proyecto.

Solo los propietarios del proyecto pueden crear cuentas de servicio nuevas o claves para cuentas de servicio existentes. Si la persona cuyo acceso se está revocando era un propietario del proyecto, debes rotar toda clave de cuenta de servicio existente. Si la persona no era un propietario del proyecto, puedes omitir este paso. Sin embargo, piensa si la persona puede haber tenido acceso a claves de cuenta de servicio en algún lugar fuera de las herramientas seguras de Google Cloud Platform, como tu repositorio de código fuente o configuraciones de la aplicación.

  1. En Google Cloud Platform Console, ve a la página Credenciales de API.

    Credenciales de API

  2. Haz clic en Crear credenciales y luego selecciona Clave de cuenta de servicio.

  3. Selecciona la cuenta de destino del menú Cuenta de servicio.

  4. Elige el Tipo de clave que deseas crear. En la mayoría de las situaciones, se recomienda JSON, pero P12 está disponible para la compatibilidad con versiones anteriores con código que depende de la clave.

  5. Haz clic en Crear. Un archivo que contiene la clave nueva se descargará automáticamente a través de tu navegador. Implementa esta clave en cualquier aplicación que la necesite.

  6. Después de confirmar que la clave nueva funciona como se esperaba, regresa a la página de credenciales y borra la clave anterior asociada a esa cuenta de servicio.

Secretos de ID de cliente de OAuth

Los secretos de ID de cliente de OAuth no proporcionan ningún acceso directo a tu proyecto. Sin embargo, si un atacante logra robar los tokens de actualización de OAuth proporcionados por Google en nombre de los usuarios de tu aplicación, la posesión del secreto de ID de cliente permitiría al atacante acceder a las Cuentas de Google de tus usuarios dentro de los mismos alcances solicitados originalmente por tu aplicación.

Los secretos de ID de cliente de OAuth son visibles para todos los propietarios y editores del proyecto, pero no para los lectores. Si la persona cuyo acceso se está revocando no era un propietario o editor, puedes omitir este paso. Sin embargo, considera si la persona puede haber tenido acceso a secretos de ID de cliente en algún lugar fuera de las herramientas seguras de Google Cloud Platform, como tu repositorio de código fuente o configuraciones de la aplicación.

  1. En Google Cloud Platform Console, ve a la página Credenciales de API.

    Credenciales de API

  2. Haz clic en el nombre del ID de cliente de OAuth 2.0 que quieres modificar. Esto abrirá una página de ID de cliente con detalles sobre el ID seleccionado.

  3. En la página de ID de cliente, haz clic en Restablecer secreto.

  4. Haz clic en Restablecer en el diálogo de confirmación para revocar inmediatamente el secreto anterior y configurar uno nuevo. Ten en cuenta que todos los usuarios activos deberán volver a autenticarse tras su siguiente solicitud.

  5. Implementa el nuevo secreto en todas las aplicaciones que lo necesiten.

Claves de API

Las claves de API no dan acceso a tu proyecto o tus datos de usuarios, pero controlan a quién le factura Google las solicitudes a la API. Cualquier miembro del proyecto puede ver las claves de API de tu proyecto. Si tienes alguna clave no restringida, necesitas borrarlas o volver a generarlas cuando revocas el acceso de una persona a tu proyecto.

  1. En Google Cloud Platform Console, ve a la página Credenciales de API.

    Credenciales de API

  2. Haz clic en Crear credenciales y, luego, selecciona Clave de API.

  3. Un diálogo mostrará la clave creada recientemente. Implementa esta clave en cualquier aplicación que use la clave que deseas reemplazar.

  4. Después de confirmar que tus aplicaciones funcionan como se esperaba con la clave nueva, regresa a la página de credenciales y borra la clave sin restricciones anterior.

Revoca el acceso a las VM

Si la persona cuyo acceso estás revocando no tenía acceso a ninguna de las VM de tu proyecto, puedes omitir este paso.

  1. Quita todas las Llaves SSH al nivel de proyecto a las que tuvo acceso la persona.

  2. En cada VM a la que la persona tenía acceso con SSH, quita todas las claves de nivel de instancia.

  3. Quita la cuenta de la persona de todas las VM a las que tenían acceso.

  4. Verifica si hay aplicaciones sospechosas que pueda haber instalado la persona para proporcionar un acceso por puerta trasera a la VM. Si no estás seguro de la seguridad de algún código que se ejecuta en la VM, recréala y vuelve a implementar las aplicaciones que necesitas desde la fuente.

  5. Verifica que la configuración de firewall de la VM no se haya cambiado en comparación con tu configuración planificada o esperada.

  6. Si creas VM nuevas desde imágenes base personalizadas, verifica que las imágenes de base no hayan sido modificadas de algún modo que pudiera comprometer la seguridad de las VM nuevas.

Revoca el acceso a las bases de datos de Cloud SQL

Si tu proyecto no usa ningún recurso de Cloud SQL, puedes omitir este paso.

  1. En Google Cloud Platform Console, ve a la página Instancias de SQL.

    Instancias de SQL

  2. Haz clic en el ID de instancia de la base de datos a la que deseas revocar el acceso.

  3. Haz clic en Control de acceso. En esta pestaña, confirma que la lista de direcciones IP en Redes autorizadas y la lista de aplicaciones en autorización de App Engine coincidan con lo esperado. Si la persona cuyo acceso estás tratando de revocar tiene acceso a las redes o aplicaciones detalladas aquí, pueden acceder a esta base de datos.

  4. Haz clic en Usuarios. En esta pestaña, borra o cambia la contraseña para las cuentas de usuario a las que tenía acceso la persona. Asegúrate de actualizar las aplicaciones que dependan de esas cuentas de usuario.

Vuelve a implementar App Engine

Las aplicaciones de App Engine tienen acceso de forma predeterminada a una cuenta de servicio que es un editor del proyecto asociado. Los controladores de solicitudes de App Engine pueden crear VM nuevas y leer o modificar datos en Cloud Storage. Alguien con la capacidad de implementar código en App Engine podría usar esta cuenta de servicio para abrir una puerta trasera a tu proyecto. Si te preocupa la integridad del código de tus aplicaciones implementadas, recomendamos volver a implementarlas (incluidos los módulos) con una confirmación correcta conocida desde tu sistema de control de versión.

Verifica los permisos en otros recursos

Considera otros recursos de tu proyecto a los que la persona pueda haber tenido acceso y verifica que los permisos para esos objetos sean seguros. Estos son los recursos que debes verificar:

Pasos siguientes

Lee la Descripción general de la seguridad de Google Cloud.

¿Te sirvió esta página? Envíanos tu opinión:

Enviar comentarios sobre…