En esta página se describe cómo gestionar el acceso individual o de grupo a los recursos protegidos con Identity-Aware Proxy (IAP) a nivel de recurso.
Información general
Puedes usar IAP para configurar políticas de IAP para recursos individuales y de Cloud Run en un Google Cloud proyecto. Varias aplicaciones de un proyecto pueden tener políticas de acceso diferentes. Esto incluye proyectos que tienen aplicaciones de Compute Engine, Google Kubernetes Engine y App Engine. En el caso de las aplicaciones de App Engine, se pueden aplicar diferentes políticas de acceso a versiones y servicios concretos.
Para gestionar el acceso a nivel de proyecto y superior, usa la página de administrador de gestión de identidades y accesos. Las listas de usuarios que tienen acceso (los "principales") a nivel de proyecto se aplican a todos los recursos protegidos mediante IAP del proyecto.
Antes de empezar
Antes de empezar, necesitarás lo siguiente:
- Un recurso protegido mediante IAP al que quieras añadir acceso individual o de grupo.
- Nombres de usuarios o grupos a los que quieras añadir acceso.
Activar y desactivar IAP
Para activar y desactivar las compras en la aplicación, se necesitan ciertos permisos. En la siguiente tabla se muestra el permiso necesario para cada tipo de aplicación.
| Tipo de aplicación | Permiso requerido |
|---|---|
| App Engine | appengine.applications.update |
| Compute Engine, Google Kubernetes Engine o Cloud Run | compute.backendServices.update |
Estos permisos se conceden mediante roles como Editor de proyectos, Administrador de App Engine y Administrador de redes de Compute. Aunque estas funciones permiten activar y desactivar las compras en la aplicación, no tienen los permisos necesarios para modificar las políticas de acceso.
Además, activar las compras en la aplicación con la Google Cloud consolaclientauthconfig.clients.create puede requerir los permisos clientauthconfig.clients.update y clientauthconfig.clients.getWithSecret. Estos permisos se conceden mediante el rol Editor de proyecto.
Para obtener más información sobre cómo conceder roles, consulta Conceder, cambiar y revocar el acceso.
Gestionar el acceso en la consola Google Cloud
Para controlar el acceso a un recurso protegido mediante IAP con laGoogle Cloud consola, sigue el proceso para añadir o quitar el acceso.
Añadir acceso
Ve a la página Identity-Aware Proxy.
Ir a la página Identity-Aware ProxySelecciona el recurso que quieras proteger con compras en la aplicación. Las siguientes selecciones de recursos protegen un grupo de recursos determinado:
Todos los servicios web: se protegerán todos los recursos del proyecto. Ten en cuenta que no es lo mismo que conceder acceso a nivel de proyecto con la página de administrador de IAM. Un usuario al que se le haya asignado el rol Administrador de políticas de IAP a nivel del recurso Todos los servicios web solo tendrá permisos para las políticas de IAP.
Servicios de backend: todos los servicios de backend estarán protegidos.
En el panel de información de la derecha, añade las direcciones de correo de los grupos o las personas a los que quieras conceder un rol de gestión de identidades y accesos (IAM) para el recurso.
Aplica roles de política de acceso al principal seleccionando uno de los siguientes roles en el menú desplegable Selecciona un rol:
Propietario: concede el mismo acceso que Administrador de políticas de IAP. Usa el rol Administrador de políticas de compras en aplicaciones. Este rol solo permite modificar políticas y no da acceso a la aplicación.
Administrador de políticas de IAP: cuenta con derechos de administrador sobre las políticas de IAP.
Usuario de aplicaciones web protegidas mediante IAP: dispone de acceso a la aplicación y a otros recursos HTTPS que usan IAP.
Revisor de seguridad: concede permiso para ver y auditar las políticas de IAP.
Cuando hayas terminado de añadir direcciones de correo y asignar roles, haz clic en Añadir.
Quitar acceso
- Ve a la página Identity-Aware Proxy.
Ir a la página Identity-Aware Proxy - Selecciona el recurso protegido con IAP.
- En el panel de información de la derecha, selecciona la sección que corresponda al rol que quieras quitar de un principal.
- En la sección ampliada, junto al nombre de cada usuario o grupo al que quieras quitar el rol, haz clic en Quitar.
- En el cuadro de diálogo Quitar principal que aparece, haga clic en Quitar.
Gestionar el acceso con la API
IAM proporciona un conjunto estándar de métodos para crear y gestionar políticas de control de acceso en los Google Cloud recursos.
Recursos y permisos
La API IAP te permite aplicar permisos de gestión de identidades y accesos a recursos concretos de un proyecto protegido mediante IAP. Los permisos de gestión de identidades y accesos concedidos en un nivel determinado se aplican a todos los niveles inferiores. Por ejemplo, un permiso concedido a nivel de proyecto se aplica a todos los recursos del proyecto. Google Cloud El acceso a nivel de proyecto y superior se gestiona en la página de administración de gestión de identidades y accesos, pero se mostrará en la página de administración de IAP.
Los usuarios necesitan ciertos permisos para acceder a una aplicación protegida por compras en la aplicación.
Para conceder estos permisos, los administradores pueden usar una API para actualizar las políticas de gestión de identidades y accesos. El permiso iap.webServiceVersions.accessViaIAP concede acceso de usuario a una aplicación. Si usas IAP para controlar el acceso a servicios administrativos, como SSH y RDP, los usuarios necesitarán el permiso iap.tunnelInstances.accessViaIAP.
Cada recurso de IAP tiene sus propios permisos getIamPolicy y setIamPolicy, que permiten gestionar las políticas de acceso de ese recurso y de sus elementos secundarios.
Para llamar a la API IAM, crea una llamada con una ruta de URL a un recurso. A continuación, se muestra una llamada de ejemplo que obtiene la política de IAM de una versión de servicio de una aplicación de App Engine.
https://iap.googleapis.com/v1/projects/PROJECT_NUMBER/iap_web/
appengine-APP_ID/services/SERVICE_ID/versions/VERSION_ID:getIamPolicy
En la siguiente tabla se indican los tipos de recursos admitidos, así como los permisos necesarios para llamar a la API IAM.
| Tipo de recurso | Permisos |
|---|---|
| Todas las aplicaciones web protegidas mediante IAP del proyecto Es lo mismo que la casilla Todos los servicios web de la página de administración de IAP. Ruta https://iap.googleapis.com/v1/projects/PROJECT_NUMBER/iap_web |
iap.web.getIamPolicyiap.web.setIamPolicy |
| Todos los servicios de backend del proyecto Es lo mismo que la casilla Servicio de backend de la página de administrador de IAP. Rutas ámbito global: https://iap.googleapis.com/v1/projects/ Ámbito regional: https://iap.googleapis.com/v1/projects/ |
iap.webTypes.getIamPolicyiap.webTypes.setIamPolicy |
| Todas las reglas de reenvío del proyecto Permisos para todas las reglas de reenvío del proyecto. Rutas ámbito global: https://iap.googleapis.com/v1/projects/ Ámbito regional: https://iap.googleapis.com/v1/projects/ |
iap.webTypes.getIamPolicyiap.webTypes.setIamPolicy |
| Una región por cada servicio de Cloud Run del proyecto Permisos para todos los servicios de Cloud Run de una región del proyecto. Ruta https://iap.googleapis.com/v1/projects/ |
iap.webTypes.getIamPolicyiap.webTypes.setIamPolicy |
| Un servicio de Cloud Run Permisos de un servicio de Cloud Run. Todos los servicios de Cloud Run son regionales. Ruta https://iap.googleapis.com/v1/projects/ |
iap.webServices.getIamPolicyiap.webServices.setIamPolicy |
| Una aplicación de App Engine Es lo mismo que la casilla Aplicación de App Engine de la página de administrador de IAP. Ruta https://iap.googleapis.com/v1/projects/ |
iap.webTypes.getIamPolicyiap.webTypes.setIamPolicy |
| Un servicio de backend de Compute Engine: la ruta del servicio de backend puede especificar el ID del servicio de backend o el nombre del servicio de backend. Rutas ámbito global: https://iap.googleapis.com/v1/projects/ Ámbito regional: https://iap.googleapis.com/v1/projects/ |
iap.webServices.getIamPolicyiap.webServices.setIamPolicy |
| Una regla de reenvío de Compute Engine Permisos de una regla de reenvío. La ruta de la regla de reenvío puede especificar el ID o el nombre de la regla de reenvío. Rutas ámbito global: https://iap.googleapis.com/v1/projects/ Ámbito regional: https://iap.googleapis.com/v1/projects/ |
iap.webServices.getIamPolicyiap.webServices.setIamPolicy |
| Un servicio de aplicación de App Engine Ruta https://iap.googleapis.com/v1/projects/ |
iap.webServices.getIamPolicyiap.webServices.setIamPolicy |
| An App Engine service version Compute Engine doesn't support versioning. Path https://iap.googleapis.com/v1/projects/ |
iap.webServiceVersions.getIamPolicyiap.webServiceVersions.setIamPolicy |
| Todas las instancias de VM protegidas mediante IAP del proyecto Es lo mismo que la casilla Todos los recursos de túnel de la página de administración de IAP. Ruta https://iap.googleapis.com/v1/projects/ |
iap.tunnel.getIamPolicyiap.tunnel.setIamPolicy |
| Una zona que tenga al menos una instancia de máquina virtual: es lo mismo que una casilla de verificación de nombre de zona en la página de administración de IAP, como us-central1-c. Ruta https://iap.googleapis.com/v1/projects/ |
iap.tunnelZones.getIamPolicyiap.tunnelZones.setIamPolicy |
| Una instancia de máquina virtual individual Ruta https://iap.googleapis.com/v1/projects/ |
iap.tunnelInstances.getIamPolicyiap.tunnelInstances.setIamPolicy |
Una región que tenga al menos un grupo de destino, por ejemplo, us-central1 Ruta https://iap.googleapis.com/v1/projects/ |
iap.tunnelLocations.getIamPolicyiap.tunnelLocations.setIamPolicy |
| Un grupo de destino individual Ruta https://iap.googleapis.com/v1/projects/ |
iap.tunnelDestGroups.getIamPolicyiap.tunnelDestGroups.setIamPolicy |
Roles
En la siguiente tabla se indican los roles de gestión de identidades y accesos de IAP, así como una lista de todos los permisos específicos de IAP que incluye cada rol. Para obtener más información sobre los roles de gestión de identidades y accesos, consulta el artículo sobre gestión de roles y permisos.
| Rol | Incluye permisos | Descripción |
|---|---|---|
Usuario de aplicaciones web protegidas mediante IAP (roles/iap.httpsResourceAccessor) |
iap.webServiceVersions.accessViaIAP |
Concede acceso a los recursos de App Engine y Compute Engine. |
Usuario de túneles protegidos mediante IAP (roles/iap.tunnelResourceAccessor) |
iap.tunnelInstances.accessViaIAPiap.tunnelDestGroups.accessViaIAP |
Concede acceso a las instancias de VM protegidas por IAP. |
Administrador de políticas de IAP (roles/iap.admin) |