La API de App Engine Admin usa la administración de identidades y accesos (IAM) para el control de acceso.
El control de acceso en la API de App Engine Admin se puede configurar a nivel del proyecto. Se puede otorgar acceso a los proyectos de Google Cloud y los recursos dentro de ellos a cuentas de usuario, dominios, grupos o cuentas de servicio. Por ejemplo:
- Otorga acceso a todos los recursos dentro de un proyecto a un usuario individual o una cuenta de servicio.
- Otorga acceso parcial a los recursos dentro del proyecto. Por ejemplo, acceso de solo lectura a los recursos, o la capacidad de implementar nuevas versiones, pero no de configurar el tráfico para esas versiones.
Para obtener una descripción detallada de IAM y sus características, consulta la documentación de IAM.
Cada método de la API de Administrador requiere que la persona que llama tenga los permisos necesarios. Consulta la siguiente sección para obtener una lista de todos los permisos y las funciones que admite la API de Administrador.
Permisos y funciones
En esta sección, se resumen los permisos y las funciones que admite la API de Administrador.
Para obtener detalles sobre las funciones de App Engine, consulta Control de acceso de App Engine.
Permisos necesarios
En las siguientes tablas se enumeran los permisos que debe tener el emisor para llamar a cada método:
Método | Permisos necesarios |
---|---|
apps.create |
appengine.applications.create en el recurso Application solicitado. |
apps.get |
appengine.applications.get en el recurso Application solicitado. |
apps.patch |
appengine.applications.update en el recurso Application solicitado. |
apps.repair |
appengine.applications.update en el recurso Application solicitado. |
apps.authorizedCertificates.create |
appengine.applications.update en el recurso Application solicitado. |
apps.authorizedCertificates.delete |
appengine.applications.update en el recurso Application solicitado. |
apps.authorizedCertificates.get |
appengine.applications.get en el recurso Application solicitado. |
apps.authorizedCertificates.list |
appengine.applications.get en el recurso Application solicitado. |
apps.authorizedCertificates.patch |
appengine.applications.update en el recurso Application solicitado. |
apps.authorizedDomains.list |
appengine.applications.get en el recurso Application solicitado. |
apps.domainMappings.create |
appengine.applications.update en el recurso Application solicitado. |
apps.domainMappings.delete |
appengine.applications.update en el recurso Application solicitado. |
apps.domainMappings.get |
appengine.applications.get en el recurso Application solicitado. |
apps.domainMappings.list |
appengine.applications.get en el recurso Application solicitado. |
apps.domainMappings.patch |
appengine.applications.update en el recurso Application solicitado. |
apps.locations.get |
appengine.applications.get en el recurso Application solicitado. |
apps.locations.list |
appengine.applications.get en el recurso Application solicitado. |
apps.operations.get |
appengine.applications.get en el recurso Application solicitado. |
apps.operations.list |
appengine.applications.get en el recurso Application solicitado. |
apps.services.delete |
appengine.services.delete en el recurso Service solicitado. |
apps.services.get |
appengine.services.get en el recurso Service solicitado. |
apps.services.list |
appengine.services.list en el recurso Application solicitado. |
apps.services.patch |
appengine.services.update en el recurso Service solicitado. |
apps.services.versions.create |
appengine.versions.create en el recurso Service solicitado. |
apps.services.versions.delete |
appengine.versions.delete en el recurso Version solicitado. |
apps.services.versions.get |
appengine.versions.get en el recurso Version solicitado. |
apps.services.versions.list |
appengine.versions.list en el recurso Service solicitado. |
apps.services.versions.patch |
appengine.versions.update en el recurso Version solicitado. |
apps.services.versions.instances.debug |
appengine.instances.enableDebug en el recurso Instance solicitado. |
apps.services.versions.instances.delete |
appengine.instances.delete en el recurso Instance solicitado. |
apps.services.versions.instances.get |
appengine.instances.get en el recurso Instance solicitado. |
apps.services.versions.instances.list |
appengine.instances.list en el recurso Version solicitado. |
Roles
En la siguiente tabla, se enumeran los roles de IAM de la API de App Engine Admin junto con la lista correspondiente de todos los permisos que se incluyen en cada función. Ten en cuenta que cada permiso es aplicable a un tipo de recurso específico.
Función | Permisos incluidos: |
---|---|
Administrador de App Engine
Acceso de lectura, escritura y modificación a todos los ajustes y la configuración de la aplicación. |
appengine.applications.disable
|
appengine.applications.get | |
appengine.applications.update | |
appengine.instances.delete | |
appengine.instances.enableDebug | |
appengine.instances.get | |
appengine.instances.list | |
appengine.instances.update
|
|
appengine.operations.cancel
|
|
appengine.operations.delete
|
|
appengine.operations.get | |
appengine.operations.list | |
appengine.runtimes.actAsAdmin
|
|
appengine.services.delete | |
appengine.services.get | |
appengine.services.list | |
appengine.services.update | |
appengine.versions.create | |
appengine.versions.delete | |
appengine.versions.get | |
appengine.versions.list | |
appengine.versions.update | |
resourcemanager.projects.get | |
resourcemanager.projects.list | |
Implementador de App Engine
Acceso de solo lectura a todos los ajustes y configuración de la aplicación. Acceso de escritura solo para crear una versión nueva. No puede modificar las versiones existentes, salvo que sea a fin de borrar versiones que no reciban tráfico. No se puede configurar el tráfico a una versión. |
appengine.applications.get |
appengine.instances.get | |
appengine.instances.list | |
appengine.operations.get | |
appengine.operations.list | |
appengine.services.create
|
|
appengine.services.get | |
appengine.services.list | |
appengine.versions.create | |
appengine.versions.delete | |
appengine.versions.get | |
appengine.versions.list | |
resourcemanager.projects.get | |
resourcemanager.projects.list | |
Administrador de servicios de App Engine
Acceso de solo lectura a todos los ajustes y configuración de la aplicación. Acceso de escritura a los ajustes de nivel de servicio y de versión, incluida la configuración del tráfico. No se pueden implementar versiones de aplicaciones. |
appengine.applications.get |
appengine.instances.delete | |
appengine.instances.get | |
appengine.instances.list | |
appengine.operations.get | |
appengine.operations.list | |
appengine.services.delete | |
appengine.services.get | |
appengine.services.list | |
appengine.services.update | |
appengine.versions.delete | |
appengine.versions.get | |
appengine.versions.list | |
appengine.versions.update | |
resourcemanager.projects.get | |
resourcemanager.projects.list | |
Visualizador de App Engine
Acceso de solo lectura a todos los ajustes y configuración de la aplicación. |
appengine.applications.get |
appengine.instances.get | |
appengine.instances.list | |
appengine.operations.get | |
appengine.operations.list | |
appengine.services.get | |
appengine.services.list | |
appengine.versions.get | |
appengine.versions.list | |
resourcemanager.projects.get | |
resourcemanager.projects.list | |
Visualizador de código de App Engine
Acceso de solo lectura a todas las opciones de configuración de la aplicación y al código fuente implementado. |
appengine.applications.get |
appengine.instances.get | |
appengine.instances.list | |
appengine.operations.get | |
appengine.operations.list | |
appengine.services.get | |
appengine.services.list | |
appengine.versions.get | |
appengine.versions.getFileContents | |
appengine.versions.list | |
resourcemanager.projects.get | |
resourcemanager.projects.list |
Ten en cuenta que las funciones roles/owner
, roles/editor
y roles/viewer
también incluyen permisos para otros servicios de Google Cloud. Para obtener más información sobre estas funciones básicas, consulta Control de acceso.
Permisos no disponibles para funciones personalizadas
Si deseas configurar el acceso más allá de las funciones de IAM predefinidas, puedes crear una función personalizada. Sin embargo, los siguientes permisos no están disponibles para funciones personalizadas:
appengine.applications.disable
appengine.applications.list
appengine.instances.update
appengine.operations.cancel
appengine.operations.delete
appengine.services.create
Estos permisos no se necesitan para ninguna operación.
Control de acceso con la consola de Google Cloud
Puedes usar la consola de Google Cloud para administrar el control de acceso de tus proyectos de la consola de Google Cloud.
Establece controles de acceso para todo el proyecto
Para otorgar a los principales acceso a un proyecto de Google Cloud y a sus recursos, consulta Otorga, cambia y revoca el acceso.
Establece controles de acceso a la cuenta de servicio
Puedes crear una cuenta de servicio en un proyecto de Google Cloud para otorgar a la app acceso programático a los servicios de Google Cloud. Por ejemplo, usa una cuenta de servicio para permitir que un proyecto de Google Cloud envíe una solicitud HTTP con la API de App Engine Admin a otro proyecto de Google Cloud.
Para crear cuentas de servicio y otorgar acceso, consulta los siguientes temas de IAM: