Protege apps y recursos con el acceso adaptado al contexto

Last reviewed 2025-07-22 UTC

En este documento, se describe cómo puedes usar el Acceso adaptado al contexto para proteger diferentes tipos de apps y recursos. El acceso adaptado al contexto es un enfoque de seguridad en el que controlas el acceso de los usuarios en función de la solidez de su autenticación, la postura del dispositivo, la ubicación de la red, la ubicación geográfica o cualquier otro atributo. Este enfoque va más allá de usar identidades de usuario básicas para el acceso de seguridad y puede ayudarte a implementar un modelo de seguridad de confianza cero para mejorar tu postura de seguridad general. Para obtener detalles sobre las prácticas recomendadas, consulta Prácticas recomendadas para proteger apps y recursos con el Acceso adaptado al contexto.

Para proteger tus apps y recursos de Google Cloud , puedes definir controles de acceso detallados en función de una variedad y combinación de factores contextuales. Puedes usar Access Context Manager para definir políticas de acceso, que contienen niveles de acceso y parámetros de servicio.

Este documento está dirigido a cualquier profesional de la seguridad que sea responsable de Identity and Access Management (IAM) y de la seguridad de los recursos y las apps de Google Cloud . En este documento, se supone que ya conoces Access Context Manager, Google Cloudy la administración de IAM.

Niveles de acceso

Los niveles de acceso te permiten definir un conjunto de requisitos que los usuarios y sus dispositivos deben cumplir para alcanzar un nivel de confianza determinado.

Por ejemplo, puedes usar Access Context Manager para configurar los siguientes niveles de acceso en tu organización:

  • Básico: Es un conjunto básico de requisitos que consideras que es el nivel mínimo.
  • Medio: Es un conjunto de requisitos más estricto que esperas que cumplan los empleados y los dispositivos corporativos. Este nivel de acceso puede excluir a los usuarios del personal externo y a los dispositivos no corporativos.
  • Alta: Requisitos estrictos que solo cumplen algunos empleados y dispositivos.

Un nivel de acceso por sí solo no tiene ningún efecto inmediato en los usuarios ni en los dispositivos. El nivel de acceso especifica los requisitos, pero no define los usuarios, las apps ni los recursos en los que se deben aplicar esos requisitos. Un nivel de acceso es como un fragmento de configuración reutilizable al que puedes hacer referencia cuando configuras el acceso a apps o recursos específicos.

Google Cloud te permite usar niveles de acceso para varios tipos diferentes de apps o recursos, incluidos los siguientes, que se describen en este documento:

  • Google Workspace y otras apps y servicios fuera de Google Cloud
  • La consola de Google Cloud y las APIs de Google Cloud
  • Perímetros de servicio de la nube privada virtual (VPC)
  • Identity-Aware Proxy (IAP) para acceso SSH y RDP
  • IAP para apps web

Apps y recursos

En las siguientes secciones, se describe cómo puedes aplicar niveles de acceso a los diferentes tipos de apps y recursos, y cómo varían los procesos según los distintos tipos.

Google Workspace y otras apps y servicios fuera de Google Cloud

Entre las apps y los servicios fuera de Google Cloud que admiten el acceso adaptado al contexto, se incluyen los siguientes:

  • Consola del administrador de Google
  • Apps de Google Workspace, como Gmail, Google Meet y el Calendario de Google
  • Otras apps de Google, como Gemini o Data Studio
  • Apps de SAML personalizadas

Para restringir el acceso a Google Workspace y a las apps y los servicios fuera de Google Cloud, configura el acceso adaptado al contexto para cada servicio o app de forma individual en la Consola del administrador. En la Consola del administrador, haz lo siguiente:

  • Define el permiso para el que deseas aplicar un nivel de acceso. Un permiso es una combinación de los siguientes elementos:

    • Un servicio o una app de SAML específicos que se deben proteger.
    • Una unidad organizativa (UO) o un grupo que contenga usuarios relevantes.
  • Selecciona el nivel de acceso que se aplicará al permiso seleccionado.

Cuando asignas un nivel de acceso, también puedes cambiar la configuración de ese nivel de acceso. Puedes especificar que el nivel de acceso solo se aplique cuando los usuarios accedan directamente a la app web. También puedes especificar que el nivel se aplique cuando las apps para dispositivos móviles y otras apps accedan a la API. Para obtener más información, consulta Comportamiento de las apps según la configuración del nivel de acceso en "Asigna niveles de acceso adaptado al contexto a las apps".

Puede haber más de una asignación que se aplique a un usuario y una app en particular. Por ejemplo, un usuario puede ser miembro de la UO Empleados y miembro del equipo all-apac. La UO y el grupo respectivos pueden tener asignados diferentes niveles de acceso. En este caso, Cloud Identity y Google Workspace aplican solo una de las asignaciones, que es la que tiene la prioridad más alta:

  • Las asignaciones basadas en grupos tienen una prioridad más alta que las basadas en UO.
  • Dentro de los grupos, puedes personalizar su prioridad relativa.
  • Dentro de las UO, la UO raíz tiene la prioridad relativa más baja.

Cloud Identity y Google Workspace te permiten revisar y analizar los eventos de acceso adaptado al contexto en el registro de acceso adaptado al contexto.

La consola de Google Cloud y las APIs de Google Cloud

Puedes configurar el acceso adaptado al contexto a la consola de Google Cloud y a las APIs deGoogle Cloud con vinculaciones de acceso.

Las APIs deGoogle Cloud usan OAuth 2.0 para la autenticación. Para usar una API de Google Cloud, los usuarios necesitan un token de acceso de OAuth válido emitido por Google, y el token debe emitirse para uno de los permisos de OAuth deGoogle Cloud . Las vinculaciones de acceso restringen la capacidad de los usuarios para adquirir esos tokens de acceso. Como resultado, las vinculaciones de acceso limitan el acceso a la consola de Google Cloud y a todas las apps de OAuth que usan permisos de OAuth de Google Cloud , como los siguientes:

  • La gcloud CLI
  • Herramientas de terceros, como Terraform
  • Apps de OAuth que creaste y que usan un permiso de OAuth de Google Cloud

Una vinculación de acceso vincula un grupo a un nivel de acceso. Cada grupo puede tener solo una vinculación de acceso. Cada vinculación de acceso puede definir las siguientes parámetros de configuración:

  • Una lista de scopedAccessSettings que asigna niveles de acceso a apps de OAuth individuales.
  • Un nivel de acceso predeterminado.

Si una vinculación de acceso especifica un parámetro de configuración de acceso con alcance y un nivel de acceso predeterminado, los dos niveles de acceso se combinan con la semántica OR. Luego, un usuario solo debe cumplir con uno de los niveles de acceso para acceder a la app de OAuth.

Una vinculación de acceso se aplica a los miembros directos e indirectos del grupo. Si un usuario es miembro de varios grupos, se le podrían aplicar varias vinculaciones de acceso, lo que podría dar como resultado varios niveles de acceso. En este caso, los niveles de acceso también se combinan con la semántica OR, lo que significa que el usuario solo debe cumplir con uno de los niveles de acceso.

Perímetros de servicio de VPC

Cuando creas un perímetro de servicio de VPC, especificas una lista de servicios restringidos. Se puede acceder a los servicios restringidos desde el perímetro de servicio, pero, de forma predeterminada, no se puede acceder a ellos desde fuera del perímetro de servicio.

Para permitir el acceso desde fuera del perímetro de servicio, usa reglas de entrada. Las reglas de entrada te permiten especificar las condiciones en las que deseas permitir el acceso externo. Puedes usar los niveles de acceso para permitir que una regla de entrada aplique el acceso adaptado al contexto.

Un perímetro de servicio de VPC puede tener varias reglas de entrada. Como resultado, es posible que se aplique más de una regla de entrada a un usuario y una app en particular, y que estas reglas de entrada requieran diferentes niveles de acceso. En este caso, los niveles de acceso se evalúan con la semántica OR, y el usuario solo debe cumplir con uno de los niveles de acceso.

Puedes combinar las vinculaciones de acceso con las reglas de entrada del perímetro de servicio de VPC. Si las vinculaciones de acceso y las reglas de entrada especifican diferentes niveles de acceso para un usuario y una app en particular, los niveles se combinan con la semántica AND. En ese caso, el usuario debe cumplir con ambos niveles de acceso.

Para revisar y analizar los intentos de acceder a los recursos en un perímetro de servicio de VPC, puedes usar los registros de auditoría de los Controles del servicio de VPC o el analizador de incumplimientos de los Controles del servicio de VPC.

Acceso SSH y RDP a las VMs

Puedes configurar el acceso adaptado al contexto para el acceso SSH y RDP a las VMs con el reenvío de TCP de IAP.

El reenvío de TCP de IAP admite vinculaciones de acceso y reglas de entrada del perímetro de servicio de VPC. Tus vinculaciones de acceso para la consola de Google Cloud y las API de Cloud se aplican automáticamente al reenvío de TCP de IAP.

Si tu perímetro de servicio incluye el servicio de iaptunnel.googleapis.com como un servicio restringido, tus reglas de entrada se aplican automáticamente al reenvío de TCP de IAP. Para obtener detalles sobre las prácticas recomendadas, consulta Incluye el reenvío de TCP de IAP como un servicio restringido.

También puedes configurar el acceso adaptado al contexto con las condiciones de IAM. Puedes usar las condiciones de IAM como alternativa a las vinculaciones de acceso y las reglas de entrada del perímetro de servicio de VPC, o bien usarlas todas juntas.

  • Otorga a un usuario o grupo el rol de usuario de túnel protegido con IAP (roles/iap.tunnelResourceAccessor). Luego, en la vinculación de roles, agrega una expresión de condición de IAM que requiera que el usuario cumpla con un nivel de acceso determinado. Por ejemplo, la expresión podría ser similar a la siguiente:

    "accessPolicies/123/accessLevels/fully-trusted" in request.auth.access_levels
    
  • De manera opcional, puedes personalizar la condición de IAM para exigir varios niveles de acceso o incluir otras verificaciones.

Un usuario y una app en particular pueden estar sujetos a una vinculación de acceso, una regla de entrada y una condición de IAM cuando el usuario y la app acceden al reenvío de TCP de IAP. En esta situación, los niveles de acceso se combinan con la semántica AND y el usuario debe cumplir con todos los niveles de acceso.

Para revisar y analizar los intentos de acceder al reenvío de TCP de IAP, debes habilitar los registros de auditoría de acceso a los datos para IAP.

Apps web

Puedes configurar el Acceso adaptado al contexto para las apps web con IAP.

IAP para apps web difiere de su contraparte de reenvío de TCP de IAP:

  • Las vinculaciones de acceso no se aplican a las apps web que están configuradas con IAP porque la app de OAuth que usa IAP no usa ningún permiso de OAuth de Google Cloud .
  • Las reglas de entrada del perímetro de servicio de VPC no se aplican a las apps web que están configuradas con IAP, ya que IAP no es una API deGoogle Cloud y no se puede configurar como un servicio restringido.

Para configurar el acceso adaptado al contexto de las apps web con IAP, debes usar las condiciones de IAM:

  • Otorga a un usuario o grupo el rol de usuario de app web protegida con IAP (roles/iap.httpsResourceAccessor). Luego, en la vinculación de roles, agrega una expresión de condición de IAM que requiera que el usuario cumpla con un nivel de acceso determinado. Por ejemplo, la expresión podría ser similar a la siguiente:

    "accessPolicies/123/accessLevels/fully-trusted" in request.auth.access_levels
    
  • De manera opcional, puedes personalizar la condición de IAM para exigir varios niveles de acceso o incluir otras verificaciones.

Para revisar y analizar los intentos de acceso a las apps web que están configuradas con IAP, debes habilitar los registros de auditoría de acceso a los datos para IAP.

Próximos pasos

Colaboradores

Autor: Johannes Passing | Arquitecto de soluciones de Cloud

Otro colaborador: Ido Flatow | Arquitecto de Soluciones de Cloud