Otorga acceso a los proyectos

Otorga y controla el acceso a tu proyecto de Google Cloud Platform y sus recursos mediante la asignación de funciones. Puedes asignarlas a los miembros del proyecto y a las cuentas de servicio.

Una cuenta de servicio representa una identidad de servicio de Google Cloud, como App Engine, y se puede usar para acceder a otros servicios. Para obtener más información sobre cómo se usan las cuentas de servicio de App Engine, consulta Autoriza apps.

Elige el control de acceso adecuado

Asigna funciones a miembros del proyecto y cuentas de servicio para definir el grado de acceso a tu proyecto de GCP. Puedes usar las funciones de administración de identidades y accesos (IAM) para obtener controles de acceso más precisos. Para obtener detalles sobre las distintas funciones de App Engine, consulta Control de acceso.

En general, las funciones básicas de propietario, editor y lector son más fáciles de usar. Sin embargo, las funciones predefinidas tienen opciones más detalladas para el acceso. Si solo experimentas con App Engine, el enfoque más simple para el control de acceso es otorgar la función de Editor a todas las personas involucradas con el proyecto. Para esto, sigue las instrucciones a continuación en Configura los permisos. Ten en cuenta que solo un propietario puede crear aplicaciones de App Engine y agregar a otras personas al proyecto.

Cuando tu proyecto esté listo para funciones más complejas, sigue estos pasos:

  1. Identifica todas las funciones de trabajo diferentes que necesitan acceso al proyecto.

  2. Configura un Grupo de Google para cada una de estas funciones de trabajo.

  3. Agrega miembros a cada Grupo de Google como desees.

  4. Sigue las instrucciones que aparecen en Configura los permisos a continuación para agregar cada Grupo de Google como miembro del proyecto y establecer las funciones en cada grupo.

Configura los permisos

Para agregar un miembro del proyecto y establecer permisos, sigue estos pasos:

  1. En Google Cloud Platform Console, visita la página de permisos de IAM y administración para tu proyecto.

    Ir a la página de permisos de IAM y administración

  2. Haz clic en Agregar miembro para incorporar miembros nuevos al proyecto y establecer sus funciones mediante el menú desplegable. Puedes agregar un correo electrónico de usuario individual o, si usas Grupos de Google para administrar las funciones de grupo, puedes proporcionar un correo electrónico de Grupo de Google (example-google-group@googlegroups.com).

    Captura de pantalla de Agregar miembros (Add members)

  3. Asigna una función.

Para ver las descripciones y una matriz de comparación de todas las funciones de App Engine, y leer acerca de las limitaciones, consulta Control de acceso.

Hay funciones diferentes en el menú desplegable que se aplican a otros productos de Google Cloud Platform. Para obtener más información sobre estas funciones, consulta Funciones predefinidas.

Implementa con las funciones de IAM

Puedes otorgar la capacidad de implementar versiones nuevas de aplicaciones en tu proyecto de GCP mediante la asignación de las funciones de IAM adecuadas a una cuenta de usuario.

La función de Implementador de App Engine es la recomendada para una cuenta de usuario que solo es responsable de implementar aplicaciones. Las aplicaciones también pueden implementarse mediante la función de administrador de App Engine, pero esta permite privilegios adicionales. Como se explica en los pasos a continuación, según los archivos de configuración que se deban implementar, es posible que también necesites otorgar funciones adicionales a una cuenta.

Configura el tráfico

De forma predeterminada, una cuenta de usuario con la función de implementador de App Engine no puede migrar o dividir el tráfico hacia ninguna versión de una aplicación. Sin embargo, si una implementación se orienta a una versión existente que actualmente entrega el tráfico, la versión actualizada de esa aplicación conservará la configuración de tráfico original de la versión sobrescrita.

Por ejemplo, si la versión 20201155example entrega actualmente el tráfico en tu aplicación, cuando ejecutes el comando gcloud app deploy --version 20201155example, la versión actualizada sobrescribirá la versión existente y luego comenzará a entregar el tráfico.

Si una cuenta de usuario fuera responsable de configurar el tráfico, considera usar la función de Administrador de App Engine o Administrador de servicios de App Engine.

Antes de comenzar

Antes de que una cuenta de usuario pueda implementar aplicaciones mediante el uso de una función de IAM:

Para otorgar a una cuenta de usuario la capacidad de implementar en App Engine, sigue estos pasos:

  1. En Google Cloud Platform Console, visita la página de permisos de IAM y administración para tu proyecto:

    Ir a la página Permisos

  2. Haz clic en Agregar miembro para incorporar la cuenta de usuario al proyecto y, luego, selecciona todas las funciones de esa cuenta mediante el menú desplegable:

    • Funciones obligatorias para permitir que una cuenta se implemente en App Engine:
      1. Configura una de las siguientes funciones:
        • Usa la función de App Engine > Implementador de App Engine para permitir que la cuenta implemente una versión de una aplicación.
        • Para permitir que los archivos dos.yaml o dispatch.yaml también se implementen con una app, usa en su lugar la función de App Engine > Administrador de App Engine.
        La cuenta de usuario ahora tiene el permiso adecuado que permite usar la API de Administrador para implementar apps.
      2. Si quieres permitir el uso de las herramientas de App Engine para implementar aplicaciones, debes otorgar a la cuenta de usuario las siguientes funciones:
        • Función de Almacenamiento > Administrador de Almacenamiento: Permisos de herramientas para subir a Cloud Storage.
        • Función Cloud Build > Editor de Cloud Build: Permiso de herramientas para usar el servicio de Cloud Build.
          Si no ves esta función, primero debes habilitar la API de Cloud Build:
          Ir a la página Biblioteca de API
    • Opcional. Otorga a la cuenta de usuario las funciones siguientes que concedan permiso para subir cambios de configuración adicionales:
      • Función Datastore > Administrador del índice de Datastore: Permisos para subir archivos index.yaml.
      • Función Cloud Scheduler > Administrador de Cloud Scheduler: Permisos para subir archivos cron.yaml.
      • Para permitir que una cuenta de usuario implemente cambios en la configuración de red predeterminada, debes asignar a la cuenta una función con los permisos adecuados, como Compute Engine > Administración de red de Compute.

La cuenta de usuario ahora puede implementar aplicaciones en la aplicación de App Engine en el proyecto de GCP asociado. Para obtener detalles sobre cómo implementar aplicaciones, consulta Implementa la app.

Si configuraste los permisos como se indicó anteriormente, pero las cuentas siguen sin poder implementar aplicaciones, sigue los pasos a continuación para asegurarte de que tu proyecto de GCP esté configurado correctamente.

Según la configuración predeterminada, cuando creas un proyecto de GCP nuevo y lo habilitas para el entorno de App Engine Flexible, ese proyecto se crea con todos los permisos y las API que se requieren para implementar aplicaciones. Sin embargo, es posible que uno o más de esos permisos o las API se quiten a través de la configuración del proyecto. Estas instrucciones te muestran qué se debe verificar si experimentas una falla de implementación.

Verifica que lo siguiente exista o se haya habilitado en tu proyecto de GCP:

  1. Se creó la aplicación de App Engine y se habilitó la facturación.

  2. Las API siguientes están habilitadas en la GCP Console:

    1. Entorno de Google App Engine Flexible

      Ir a la página Biblioteca de las API

    2. API de Google Cloud Build

      Ir a la página Biblioteca de las API

  3. En la página de IAM y administración de la GCP Console, asegúrate de que la cuenta de servicio de las API de Google que Google Cloud Build [PROJECT_NUMBER]>@cloudbuild.gserviceaccount.com usa, tenga los permisos de editor. La cuenta de servicio debe tener permisos para escribir al depósito staging.[PROJECT_ID].appspot.com para dividir los archivos en etapas en Cloud Build. De forma predeterminada, esta cuenta de servicio tiene la función de editor del proyecto, por lo que solo necesitarás hacer cambios aquí si cambiaste la función de esta cuenta de servicio:

    Ir a la página Cuentas de servicio

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Documentación del entorno de App Engine Flexible para Python