Información sobre el control de acceso

Puedes configurar el control de acceso con funciones en el nivel del proyecto de GCP. Asigna una función a un miembro o cuenta de servicio de un proyecto de GCP para determinar el nivel de acceso a tu proyecto de Google Cloud Platform y sus recursos.

Puedes utilizar funciones básicas cuando trabajas en proyectos más pequeños que tienen necesidades menos complejas. Para obtener controles de acceso más detallados, utiliza las funciones de Identity & Access Management (IAM), que incluyen las funciones predefinidas de App Engine. Si quieres obtener más información sobre IAM, consulta la documentación de IAM.

Para obtener más información sobre cómo asignar funciones, consulta Concede acceso al proyecto.

Si también quieres obtener detalles precisos sobre qué permisos se les concede a las funciones predefinidas de IAM, hasta el nivel de llamada de métodos, consulta Funciones en los documentos de la API de Administrador.

Funciones básicas

Para las aplicaciones de App Engine, la función de miembro de un proyecto de GCP también controla las acciones permisibles de las herramientas de la línea de comandos que se utilizan para implementar y administrar aplicaciones.

Función Permisos de GCP Console Permisos de las herramientas
Owner Obligatorio para crear aplicaciones de App Engine. Todos los privilegios del lector y el editor, además de la capacidad de ver el código fuente que se implementó, invitar usuarios y cambiar sus funciones, y borrar una aplicación Obligatorio para crear aplicaciones de App Engine. Implementar los códigos de las aplicaciones y actualizar todas las configuraciones
Editor Ver la información de las aplicaciones y editar su configuración Implementar los códigos de las aplicaciones, actualizar índices/colas/crons
Viewer Ver la información de las aplicaciones Solicitar registros

Funciones predefinidas de App Engine

Las funciones predefinidas de App Engine te proporcionan opciones más detalladas para el control de acceso. En la siguiente tabla, se muestra cada función con su tipo de usuario. Utiliza la tabla de comparación para ver todas las capacidades de las funciones.

Función Capacidades Destinatario
Administrador de App Engine Leer, escribir o modificar el acceso a toda configuración de las aplicaciones
  • Propietario o administrador de la aplicación
  • Ingeniero de guardia
  • Administrador del sistema
Administrador de servicios de App Engine
  • Acceso de solo lectura a toda la configuración de las aplicaciones
  • Acceso de escritura a la configuración de nivel de servicio y de versión, incluida la configuración de tráfico
  • No puede implementar versiones de apps. Para obtener más detalles, consulta separación de obligaciones que está a continuación
  • Ingeniero de actualizaciones
  • DevOps
  • Ingeniero de guardia
  • Administrador del sistema
Implementador de App Engine
  • Acceso de solo lectura a toda la configuración de las aplicaciones
  • Acceso de escritura solo para implementar y crear una versión nueva
  • Borrar versiones viejas que no entregan tráfico
  • No puede modificar una versión existente ni cambiar la configuración del tráfico

Consulta la sección Implementaciones que se encuentra a continuación para obtener más información sobre las funciones obligatorias.

  • Cuenta de implementación
  • Ingeniero de actualizaciones
Lector de App Engine Acceso de solo lectura a toda la configuración de las aplicaciones
  • Usuario que necesita visibilidad de la aplicación, pero no para modificarla
  • Trabajo de auditoría para registrar la configuración de App Engine en busca del cumplimiento de la política
Lector de código de App Engine Acceso de solo lectura a toda la configuración de las aplicaciones y al código fuente implementado
  • Usuario que necesita visibilidad de la aplicación y su código fuente, pero no para realizar modificaciones
  • Usuario de DevOps que necesita diagnosticar problemas de producción

Matriz de comparación de las funciones predefinidas

En la siguiente tabla, se muestra una comparación completa de las capacidades de cada función predefinida de App Engine.

Capacidad Administrador de App Engine Administrador de servicios de App Engine Implementador de App Engine Lector de App Engine Lector de código de App Engine
Mostrar todos los servicios, instancias y versiones
Ver toda la configuración de las aplicaciones, servicios, instancias y versiones
Ver las métricas del entorno de ejecución, como la información de la carga y de los errores y el uso de los recursos
Ver el código fuente de la app No No No No
Implementar una versión nueva de una app No No No
Dividir o migrar tráfico No No No
Iniciar y detener una versión No No No
Borrar una versión No No
Borrar un servicio completo No No No
Utilizar una conexión SSH para conectarse a una instancia de VM en el entorno flexible No No No No
Cerrar una instancia No No No No
Inhabilitar y volver a habilitar la aplicación de App Engine No No No No
Acceder a los controladores que tienen una restricción login:admin No No No No
Actualizar las reglas de envío No No No No
Actualizar la configuración de DoS No No No No
Actualizar el vencimiento de la cookie predeterminada No No No No
Actualizar los referentes No No No No
Actualizar los remitentes autorizados de la API de correo electrónico No No No No

Para obtener detalles sobre los permisos de IAM específicos que concede cada función, consulta la sección Funciones de la API de Administrador.

Implementaciones con funciones predefinidas

La función de implementador de App Engine es la que se recomienda para la cuenta de usuario responsable de implementar solamente una versión nueva de una app. La función de administrador de App Engine es una alternativa que incluye privilegios administrativos adicionales, además de la capacidad de implementar versiones.

Con cualquiera de estas funciones, a una cuenta de usuario se le concede el permiso adecuado para utilizar la API de Administrador con el fin de que pueda implementar aplicaciones. Si quieres conceder permisos para utilizar los comandos de gcloud o cualquier otra herramienta de App Engine, también debes proporcionarle a la cuenta de usuario la función de administrador de almacenamiento.

Para obtener detalles sobre cómo conceder los permisos obligatorios, consulta Cómo implementar con las funciones de IAM.

Separación de trabajos de implementación y de enrutamiento de tráfico

Muchas organizaciones prefieren separar la tarea de implementar una versión de una aplicación y la tarea de acelerar el tráfico hacia la versión que se acaba de crear, además de que prefieren que estas tareas las realicen funciones de trabajo diferentes. Las funciones de implementador de App Engine y administrador de servicios de App Engine, proporcionan esta separación:

  • Función de implementador de App Engine: Las cuentas de usuario se limitan a implementar versiones nuevas y a borrar las anteriores que no entregan tráfico. La cuenta de usuario con esta función no podrá configurar el tráfico para ninguna versión ni cambiar la configuración a nivel de aplicación, como las reglas de envío o el dominio de autenticación.

  • Función de administrador de servicios de App Engine: Las cuentas de usuario no pueden implementar una versión nueva de una app ni cambiar la configuración a nivel de aplicación. Sin embargo, esas cuentas tienen privilegios para cambiar las propiedades de los servicios y versiones existentes, incluidas las versiones que pueden entregar tráfico. Esta función es ideal para un departamento de operaciones o de TI que se encargue de acelerar el tráfico hacia las versiones que se acaban de implementar.

Permisos que las funciones predefinidas NO otorgan

Ninguna de las funciones predefinidas descritas anteriormente concede los siguientes permisos:

  • Crear aplicaciones de App Engine
  • Ver y descargar registros de las aplicaciones
  • Ver gráficos de supervisión en GCP Console
  • Habilitar e inhabilitar la facturación
  • Configurar un límite de inversión diaria (antes se conocía como "presupuesto") para App Engine y ver la cantidad de dinero que se gastó
  • Ver y editar los dominios personalizados y los certificados SSL subidos
  • Ejecutar análisis de seguridad en Cloud Security Scanner
  • Acceder a configuraciones o datos almacenados en la lista de tareas en cola, Datastore, Memcache, Cloud Search o cualquier otro producto de almacenamiento de Cloud Platform

Cuenta de servicio para App Engine

Después de que creaste una aplicación de App Engine, se crea la cuenta de servicio predeterminada de App Engine y se utiliza como la identidad del servicio de App Engine. La cuenta de servicio predeterminada de App Engine se asocia con tu proyecto de GCP y realiza tareas en nombre de tus aplicaciones que se ejecutan en App Engine.

De manera predeterminada, esta cuenta tiene la función de editor en el proyecto. Esto significa que cualquier cuenta de usuario con los permisos suficientes para implementar cambios en el proyecto de GCP también puede ejecutar códigos con acceso de lectura o escritura a todos los recursos dentro del proyecto.

Cambia los permisos de una cuenta de servicio

Puedes cambiar los permisos de tus cuentas de servicio en GCP Console. Por ejemplo, puedes reducir los permisos de tu cuenta de servicio predeterminada de App Engine si cambias la función de editor por a cualquier otra función que mejor represente las necesidades de acceso para tu aplicación.

Para cambiar los permisos de tus cuentas de servicio, sigue estos pasos:

  1. Abre GCP Console:

    Ir a la página Permisos

  2. En la lista de miembros, ubica el ID de la cuenta de servicio predeterminada de App Engine.

    Esta cuenta usa el siguiente ID de miembro:
    YOUR_PROJECT_ID@appspot.gserviceaccount.com

  3. Luego, puedes utilizar el menú desplegable para modificar las funciones que se asignaron a esta cuenta.

Utiliza tu cuenta de servicio

  • Si quieres renombrar o crear claves para tus cuentas de servicio, incluida la predeterminada de App Engine, utiliza la página "Cuentas de servicio" en GCP Console para ver y editar tus cuentas.

    Ir a la página Cuentas de servicio

  • Si quieres ejecutar los comandos o cualquier herramienta para desarrolladores del SDK de Cloud con una cuenta de servicio, primero debes habilitar la API de Administrador de Google App Engine en tu proyecto de Google Cloud Platform. Utiliza la biblioteca de API en GCP Console para administrar todas las API y servicios en tu proyecto de GCP.

    Ir a la página Biblioteca de API

Restablece una cuenta de servicio predeterminada que se borró

Si borras tu cuenta de servicio predeterminada de App Engine, tu aplicación de App Engine puede interrumpirse y perder el acceso a otros servicios de GCP, como Cloud Datastore.

Si utilizas el comando gcloud beta app repair que aparece a continuación, podrás restablecer una cuenta de servicio predeterminada de App Engine:

# Set your gcloud project
gcloud config set project <project-id>

# Restore your default service account
gcloud beta app repair
¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Documentación del entorno estándar de App Engine para Node.js