Descripción general de Access Context Manager

Access Context Manager permite a los administradores de organizaciones de Google Cloud definir un control de acceso detallado basado en atributos para proyectos y recursos en Google Cloud.

Los administradores primero definen una política de acceso, que es un contenedor en toda la organización para los niveles de acceso y los perímetros de servicio.

Los niveles de acceso describen los requisitos para que se cumplan las solicitudes. Ejemplos:

  • Tipo de dispositivo y sistema operativo
  • Dirección IP
  • Identidad de usuario

Los perímetros de servicio definen zonas de pruebas de recursos que pueden intercambiar datos dentro del perímetro, pero no pueden exportar datos fuera de él. Access Context Manager no es responsable de la aplicación de la política. Su propósito es describir las reglas deseadas. La política se configura y se aplica de manera forzosa en varios puntos, como los Controles del servicio de VPC. Puedes leer más sobre estos servicios en sus respectivas guías de usuario.

Puedes configurar y aplicar políticas de Access Context Manager en los siguientes componentes de la solución BeyondCorp Enterprise:

Por qué Access Context Manager

Muchas empresas confían en un modelo de seguridad perimetral, por ejemplo, firewalls, para proteger los recursos internos. Este modelo es similar a un castillo medieval: una fortaleza con muros gruesas, rodeado de un foso, con un único punto de entrada y salida muy protegido. Cualquier elemento ubicado fuera del muro se considera peligro. Todo lo que esté dentro es confiable.

Los firewalls y el modelo de seguridad perimetral funcionan bien si hay un límite preciso en usuarios y servicios específicos. Sin embargo, si un personal es móvil, la variedad de dispositivos aumentará a medida que los usuarios lleven sus propios dispositivos (BYOD) y usen servicios basados en la nube. Esta situación da como resultado vectores de ataque adicionales que el modelo de perímetro no considera. El perímetro ya no es solo la ubicación física de la empresa, y lo que está adentro no puede considerarse seguro.

Access Context Manager te permite reducir el tamaño de la red privilegiada y pasar a un modelo en el que los extremos no transmiten autoridad ambiente basada en la red. En su lugar, puedes otorgar acceso en función del contexto de la solicitud, como el tipo de dispositivo, la identidad del usuario y mucho más, mientras verificas el acceso de red corporativo cuando sea necesario.

Access Context Manager es una parte integral del esfuerzo de BeyondCorp en Google. Para obtener más información, consulta BeyondCorp.

Políticas de acceso

Una política de acceso es un contenedor para todos tus recursos de Access Context Manager, como los niveles de acceso y los perímetros de servicio.

Puedes crear una política de acceso en el contexto de una organización y usar la política de acceso a nivel de la organización en cualquier parte de tu organización. Para delegar la administración de una política de acceso, puedes crear una política de acceso con alcance y establecer su alcance a nivel de carpeta o de proyecto. El administrador delegado al que se asigna la política con permiso puede administrar solo la política de acceso con permiso y no la política de acceso a nivel de la organización.

Una política de acceso tiene un control de versiones mediante un etag. Puedes usar etag para orientar los cambios de tu política de acceso, como modificaciones a los niveles de acceso, a una versión específica de la política. Si varias fuentes cambian tu política de acceso, el uso del campo etag para la herramienta de línea de comandos de gcloud y las llamadas a la API garantiza que no se produzcan reemplazos ni conflictos no deseados.

Para obtener información sobre cómo crear políticas de acceso, consulta Crea una política de acceso.

Niveles de acceso

Los niveles de acceso se usan para permitir el acceso a los recursos según la información contextual de la solicitud. Mediante los niveles de acceso, puedes comenzar a organizar niveles de confianza. Por ejemplo, puedes crear un nivel de acceso llamado High_Level que permita solicitudes de un grupo pequeño de personas con muchos privilegios. También puedes identificar un grupo más general para confiar, como un rango de IP desde el que deseas permitir solicitudes. En ese caso, puedes crear un nivel de acceso llamado Medium_Level para permitir esas solicitudes.

Una vez que hayas definido los niveles de acceso, los servicios de aplicación pueden usarlos para determinar si respetan una solicitud. Por ejemplo, puedes especificar que, si bien muchos recursos están disponibles para “Medium_Trust”, ciertos recursos más sensibles requieren el nivel “High_Trust”. Estas verificaciones se aplican junto con la política de IAM estándar.

Los niveles de acceso se pueden personalizar. Los niveles de acceso High_Trust y Medium_Trust son ejemplos. Puedes especificar varios niveles de acceso como parte de una política de acceso.

Access Context Manager proporciona dos formas de definir los niveles de acceso: básico y personalizado.

Un nivel de acceso básico es un conjunto de condiciones que se usan para probar solicitudes. Las condiciones son un grupo de atributos que deseas probar, como el tipo de dispositivo, la dirección IP o la identidad del usuario. Los atributos se combinan como una operación AND (todas deben ser verdaderas) o una operación NOR (ninguna debe ser verdadera) para determinar si se cumple la condición.

Los niveles de acceso personalizados se crean con un subconjunto de Common Expression Language. Además del contexto de solicitud usado para los niveles de acceso básicos, también puedes usar niveles de acceso personalizados a fin de permitir solicitudes basadas en datos de servicios de terceros. Para obtener más información, consulta los niveles de acceso personalizados.

Dirección IP

Puedes otorgar un nivel de acceso basado en la dirección IP de la solicitud de origen. El rango de IP que se permite se especifica en la forma de un bloque de enrutamiento de dominio entre clases sin clases (CIDR), que permite un control simple, pero detallado de las IP permitidas.

Un solo nivel de acceso puede contener varios rangos de IP.

Consulta Crea un nivel de acceso para el acceso de red corporativo a fin de obtener información sobre cómo crear un nivel de acceso que solo permita el acceso a un rango de direcciones IP específico (por ejemplo, los que están dentro de una red corporativa).

Tipo de dispositivo

Access Context Manager usa Endpoint Verification para recopilar información sobre los dispositivos del usuario, incluido el sistema operativo y la versión. Puedes otorgar un nivel de acceso basado en estos datos. Por ejemplo, puedes decidir otorgar un nivel de acceso más permisivo a los dispositivos que ejecutan la última versión del sistema operativo principal implementado en tu empresa.

Lee Crea un nivel de acceso para dispositivos de usuarios a fin de obtener más información sobre cómo otorgar un nivel de acceso a determinados dispositivos.

Identidad de usuario

En algunas situaciones, es posible que desees otorgar un nivel de acceso a entidades específicas. En este caso, la identidad del emisor determina si se cumple la condición.

Este escenario a menudo se usa junto con Cuentas de servicio y Controles del servicio de VPC; por ejemplo, para habilitar una función de Cloud Functions para acceder a datos protegidos por los controles del servicio de VPC.

Puedes crear y administrar los niveles de acceso solo por identidad con la herramienta de línea de comandos de gcloud, pero no con la consola de Google Cloud.

Para comenzar a crear un nivel de acceso básico, consulta Crea un nivel de acceso para Access Context Manager.

Para obtener información sobre cómo crear un nivel de acceso que permita acceder según el contexto de una solicitud, consulta Crea un nivel de acceso personalizado.

Combina condiciones

Un solo nivel de acceso puede contener varias condiciones. Las condiciones se pueden evaluar mediante el operador AND o OR. Puedes especificar el modo cuando creas o actualizas un nivel de acceso.

El caso AND es la opción más estricta (y predeterminada). Solo otorga el nivel de acceso si se pasan todas las condiciones. Por ejemplo, puedes exigir que una solicitud provenga de la red corporativa y de un dispositivo que ejecute el sistema operativo más reciente.

OR es una opción menos restrictiva. Solo requiere que una de las muchas condiciones sea verdadera. En ocasiones, esto es valioso cuando se trata de identidades de usuarios; por ejemplo, para excluir entidades específicas (como cuentas de servicio) de los requisitos normales.

Condiciones de anidación

Las condiciones se pueden anidar de tal manera que una condición depende de otra condición. Por ejemplo, si tienes dos niveles de acceso, “Media” y “Alta”, puedes establecer los requisitos de “Alta” para que requieran “Media” y algunas otras condiciones.

Las condiciones de anidación pueden hacer que administrar los niveles de acceso sea más conveniente. Por ejemplo, imagina que tu nivel de acceso más permisivo contiene una versión mínima del sistema operativo y configuras tus niveles más restringidos para depender de él. Ahora, si actualizas la versión mínima en el futuro, solo tienes que actualizar una sola condición, en lugar de cada nivel de acceso en la política.

Más información