En esta página se describe cómo administrar el acceso individual o grupal a los recursos protegidos con Identity-Aware Proxy (IAP) a nivel de recursos.
Descripción general
Puedes usar IAP para configurar políticas de IAP para recursos individuales y de Cloud Run en un Google Cloud proyecto. Es posible que las distintas aplicaciones de un proyecto tengan sus propias políticas de acceso, incluidos proyectos con aplicaciones como Compute Engine, Google Kubernetes Engine y App Engine. En el caso de las aplicaciones de App Engine, pueden aplicarse distintas políticas de acceso para las versiones individuales y los servicios.
Para administrar el nivel de proyecto y un mayor acceso, usa la página de administrador de IAM. Las listas de usuarios que tienen acceso (las “entidades”) a nivel de proyecto se aplican a todos los recursos protegidos con IAP del proyecto.
Antes de comenzar
Necesitarás lo siguiente antes de comenzar:
- Un recurso protegido con IAP al que deseas agregarle acceso individual o grupal
- Nombres de usuarios o grupos a los que deseas agregarles acceso
Activa y desactiva IAP
Para activar y desactivar IAP, se necesitan ciertos permisos. La siguiente tabla muestra los permisos necesarios para cada tipo de aplicación.
| Tipo de aplicación | Se requiere permiso |
|---|---|
| App Engine | appengine.applications.update |
| Compute Engine, Google Kubernetes Engine o Cloud Run | compute.backendServices.update |
Estos permisos se otorgan mediante funciones, como el editor de proyectos, el administrador de App Engine y el administrador de red de Compute. Si bien estas funciones permiten activar o desactivar IAP, no tienen los permisos necesarios para modificar las políticas de acceso.
Además, activar IAP con la Google Cloud consola
también puede requerir los permisos clientauthconfig.clients.create,
clientauthconfig.clients.update y clientauthconfig.clients.getWithSecret. La función de editor de proyectos otorga estos permisos.
Para obtener más información sobre cómo otorgar funciones, consulta Cómo otorgar, cambiar y revocar el acceso a los recursos.
Administra el acceso en la Google Cloud console
Para controlar el acceso a un recurso protegido con IAP mediante la Google Cloud consola, sigue el proceso para agregar o quitar el acceso.
Agregar acceso
Ir a la página Identity-Aware Proxy.
Ir a la página Identity-Aware ProxySelecciona el recurso que deseas proteger con IAP. Las siguientes selecciones de recursos aseguran un conjunto determinado de ellos:
Todos los servicios web: Se protegerán todos los recursos del proyecto. Ten en cuenta que esto no es lo mismo que otorgar acceso a nivel de proyecto con la página de administrador de IAM. Un usuario que tenga la función de administrador de políticas de IAP en el nivel de recursos Todos los servicios web solo tendrá permisos para las políticas de IAP.
Servicios de backend: se protegerán todos los servicios de backend.
En el panel de información de la derecha, agrega las direcciones de correo electrónico de los grupos o las personas a las que deseas otorgar una función de Identity and Access Management (IAM) para el recurso.
Aplica las funciones asignadas a la entidad respecto de las políticas de acceso. Para ello, selecciona una de las siguientes funciones en el menú desplegable Seleccionar una función:
Propietario: Otorga el mismo acceso que la función de Administrador de políticas de IAP. Usa en cambio la función de administrador de políticas de IAP. Esta función solo permite modificar políticas, no otorga acceso a la aplicación.
Administrador de políticas de IAP: Otorga derechos de administrador sobre las políticas de IAP.
Usuario de aplicaciones web protegido con IAP: Otorga acceso a la aplicación y a otros recursos HTTPS que usan IAP.
Revisor de seguridad: Otorga permiso para ver y auditar las políticas de IAP.
Cuando termines de agregar direcciones de correo electrónico y de configurar las funciones, haz clic en Agregar.
Quitar acceso
- Ir a la página Identity-Aware Proxy.
Ir a la página Identity-Aware Proxy - Selecciona el recurso que está protegido con IAP.
- En el panel de información de la derecha, elige la sección correspondiente a la función que deseas quitar a la entidad.
- En la sección expandida, junto a cada usuario o nombre de grupo para el que deseas quitar la función, haz clic en Quitar.
- En el cuadro de diálogo Quitar entidad que aparece, haz clic en Quitar.
Administra el acceso con la API
IAM proporciona un conjunto estándar de métodos para crear y administrar políticas de control de acceso en los Google Cloud recursos.
Recursos y permisos
La API de IAP te permite aplicar permisos de IAM a recursos individuales en un proyecto protegido con IAP. Los permisos de IAM otorgados a un nivel determinado se aplican a todos los niveles por debajo de este. Por ejemplo, un permiso otorgado a nivel de proyecto se aplica a todos los Google Cloud recursos del proyecto. El acceso a nivel de proyecto y superior se administra en la página de administrador de IAM, pero se mostrará en la página de administrador de IAP.
Los usuarios necesitan ciertos permisos para acceder a una aplicación protegida por IAP.
Para otorgar estos permisos, los administradores pueden usar una API para actualizar las políticas de IAM. El permiso iap.webServiceVersions.accessViaIAP otorga 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 su propio permiso getIamPolicy y setIamPolicy que le otorga la capacidad de administrar las políticas de acceso para ese recurso y sus elementos secundarios.
Para llamar a la API de IAM, crea una llamada con una ruta de URL hacia un recurso. El siguiente es un ejemplo del tipo de llamada que recibe la política de IAM para acceder a una versión del servicio de la aplicación 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 enumeran los tipos de recursos admitidos, así como los permisos necesarios para llamar a la API de IAM.
| Tipo de recurso | Permisos |
|---|---|
| Cada aplicación web protegida con IAP en el proyecto Esto es igual a la casilla de verificación Todos los servicios web en la página de administrador de IAP. Ruta de acceso https://iap.googleapis.com/v1/projects/PROJECT_NUMBER/iap_web |
iap.web.getIamPolicyiap.web.setIamPolicy |
| Cada servicio de backend en el proyecto Esto es igual a la casilla de verificación Servicio de backend en la página de administrador de IAP. Rutas de acceso Alcance global: https://iap.googleapis.com/v1/projects/ Alcance regional: https://iap.googleapis.com/v1/projects/ |
iap.webTypes.getIamPolicyiap.webTypes.setIamPolicy |
| Cada regla de reenvío en el proyecto Permisos para todas las reglas de reenvío en el proyecto. Rutas de acceso Alcance global: https://iap.googleapis.com/v1/projects/ Alcance regional: https://iap.googleapis.com/v1/projects/ |
iap.webTypes.getIamPolicyiap.webTypes.setIamPolicy |
| Una región para cada servicio de Cloud Run en el proyecto Permisos para todos los servicios de Cloud Run en una región del proyecto. Ruta de acceso https://iap.googleapis.com/v1/projects/ |
iap.webTypes.getIamPolicyiap.webTypes.setIamPolicy |
| Un servicio de Cloud Run Permisos para un servicio de Cloud Run. Todos los servicios de Cloud Run son regionales. Ruta de acceso https://iap.googleapis.com/v1/projects/ |
iap.webServices.getIamPolicyiap.webServices.setIamPolicy |
| Una aplicación de App Engine Esto es igual a la casilla de verificación Aplicación de App Engine en la página de administrador de IAP. Ruta de acceso 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 de acceso Alcance global: https://iap.googleapis.com/v1/projects/ Alcance regional: https://iap.googleapis.com/v1/projects/ |
iap.webServices.getIamPolicyiap.webServices.setIamPolicy |
| Una regla de reenvío de Compute Engine Permisos para una regla de reenvío. La ruta de la regla de reenvío puede especificar el ID de la regla de reenvío o el nombre de la regla de reenvío. Rutas de acceso Alcance global: |