Introducción a Administrador de contextos de acceso

En este documento se ofrece una descripción general del servicio Administrador de contextos de acceso y sus funciones. Google Cloud Los administradores de organizaciones pueden usar Administrador de contextos de acceso para definir controles de acceso pormenorizados y basados en atributos para proyectos y recursos en Google Cloud. Como administrador, primero debes definir una política de acceso, que es un contenedor de toda la organización para niveles de acceso y perímetros de servicio.

Los niveles de acceso describen los requisitos que deben cumplir las solicitudes para que se acepten. Estos son algunos ejemplos:

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

Los perímetros de servicio definen sandboxes de recursos que pueden intercambiar datos libremente dentro del perímetro, pero no pueden exportar datos fuera de él. Administrador de contextos de acceso no se encarga de aplicar las políticas. Por el contrario, Administrador de contextos de acceso se ha diseñado para definir reglas o contextos específicos. La política se configura y se aplica en varios puntos, como Controles de Servicio de VPC. Puedes consultar más información sobre estos servicios en sus respectivas guías de usuario.

Puedes configurar y aplicar políticas de Administrador de contextos de acceso en los siguientes componentes de la solución Chrome Enterprise Premium:

Ventajas

Muchas empresas utilizan un modelo de seguridad perimetral, como un cortafuegos, para proteger los recursos internos. Un modelo de seguridad perimetral está muy protegido con un único punto de entrada y salida. Todo lo que se encuentre fuera se considera peligroso. Se confía en todo lo que haya dentro.

Los cortafuegos y el modelo de seguridad perimetral funcionan bien si hay un límite preciso en torno a usuarios y servicios específicos. Sin embargo, si la plantilla es móvil, la variedad de dispositivos aumenta, ya que los usuarios traen sus propios dispositivos (BYOD) y utilizan servicios basados en la nube. Este escenario da lugar a vectores de ataque adicionales que no se tienen en cuenta en el modelo de perímetro. Por lo tanto, el perímetro ya no es solo la ubicación física de la empresa, y no se puede dar por hecho que lo que hay dentro sea seguro.

Puedes usar el Administrador de contextos de acceso para reducir el tamaño de la red privilegiada y pasar a un modelo en el que los endpoints no tengan autoridad de ambiente en función de la red. En su lugar, puedes conceder acceso en función del contexto de la solicitud, como el tipo de dispositivo o la identidad del usuario, entre otros, y seguir comprobando el acceso a la red corporativa cuando sea necesario.

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

Políticas de acceso

Una política de acceso es un contenedor de 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 usarla en cualquier parte de la organización. Para delegar la administración de una política de acceso, puedes crear una política de acceso con ámbito y definir el ámbito de la política a nivel de carpeta o de proyecto. El administrador delegado al que se le asigna la política de ámbito solo puede gestionar la política de acceso de ámbito y no la política de acceso a nivel de organización.

Las políticas de acceso se versionan mediante un etag. Puedes usar etag para orientar los cambios a tu política de acceso, como modificaciones en los niveles de acceso o en una versión específica de la política. Si varias fuentes cambian tu política de acceso, usar el campo etag para la herramienta de línea de comandos gcloud y las llamadas a la API ayuda a evitar sobrescrituras y conflictos no deseados.

Para saber cómo crear políticas de acceso, consulta Crear una política de acceso.

Niveles de acceso

Los niveles de acceso se usan para permitir el acceso a los recursos en función de la información contextual de la solicitud. Con los niveles de acceso, puedes empezar a organizar los niveles de confianza. Por ejemplo, puedes crear un nivel de acceso llamado High_Level que permita las solicitudes de un pequeño grupo de personas con muchos privilegios. También puede identificar un grupo más general en el que confíe, como un intervalo de IPs desde el que quiera 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 implementación podrán usarlos para determinar si se debe aceptar una solicitud. Por ejemplo, puedes especificar que, aunque Medium_Trust tenga acceso a muchos recursos, algunos más sensibles requieran el nivel High_Trust. Estas comprobaciones se aplican además de 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.

El Administrador de contextos de acceso ofrece dos formas de definir niveles de acceso:

  • Un nivel de acceso básico consta de una colección de condiciones que se utilizan para probar solicitudes. Las condiciones se pueden definir como un grupo de atributos que quieras probar, como el tipo de dispositivo, la dirección IP o la identidad del usuario. Los atributos se combinan como una operación Y (todos deben ser verdaderos) o una operación NI (ninguno debe ser verdadero) para determinar si se cumple la condición.

  • Los niveles de acceso personalizados se crean con un subconjunto del lenguaje de expresión común. Además del contexto de la solicitud que se usa en los niveles de acceso básicos, también puedes usar niveles de acceso personalizados para permitir solicitudes basadas en datos de servicios de terceros. Para obtener más información, consulta Niveles de acceso personalizados.

Cuando anides niveles de acceso y combines toda la lógica, ten en cuenta que, si alguno de los operandos de los operadores booleanos AND (&&) y OR (||) determina el resultado de forma única, el otro operando puede evaluarse o no. Además, si esa evaluación genera un error de tiempo de ejecución, se ignora. Por ejemplo, en la siguiente expresión, la evaluación de origin.region_code falla, pero la de levels.ip_check se completa correctamente. Como al menos una de las comprobaciones se ha realizado correctamente, la condición general, que se combina con OR, se cumple y el acceso es GRANTED.

!(origin.region_code in ['RU', 'BY', 'UA']) -> FAILED  // levels.regions_check

inIpRange(origin.ip, ['205.220.128.0/23']) -> GRANTED  // levels.ip_check

!(origin.region_code in ['RU', 'BY', 'UA']) || inIpRange(origin.ip, ['205.220.128.0/23']) -> GRANTED

levels.regions_check || levels.ip_check -> GRANTED

Dirección IP

Puedes conceder un nivel de acceso en función de la dirección IP de la solicitud de origen. El intervalo de IPs que se va a permitir se especifica en forma de bloque de enrutamiento de interdominios sin clases (CIDR), lo que permite controlar con precisión las IPs permitidas.

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

Para saber cómo crear un nivel de acceso que solo permita el acceso a un intervalo de direcciones IP específico, como las de una sola red corporativa, consulta Crear un nivel de acceso para acceder a una red corporativa.

Tipo de dispositivo

El Administrador de contextos de acceso usa la verificación de puntos finales para recoger información sobre los dispositivos de los usuarios, como el sistema operativo, el tipo de dispositivo o la versión. Puedes conceder un nivel de acceso en función de estos datos. Por ejemplo, puedes conceder un nivel de acceso más permisivo a los dispositivos que ejecuten la versión más reciente del sistema operativo principal implementado en tu empresa.

Para saber cómo conceder un nivel de acceso en función de estos atributos de dispositivo, consulta el artículo Limitar el acceso por tipo de dispositivo.

Identidad de usuario

En algunos casos, puede que quieras conceder un nivel de acceso a entidades concretas. En estos casos, la identidad de la persona que llama determina si se cumple la condición. Este caso se suele usar junto con las cuentas de servicio y los Controles de Servicio de VPC. Por ejemplo, puedes usar este escenario para permitir que una función de Cloud acceda a datos protegidos por Controles de Servicio de VPC.

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

Para empezar a crear un nivel de acceso básico, consulta el artículo Crear un nivel de acceso para el Administrador de contextos de acceso.

Para obtener información sobre cómo crear un nivel de acceso que permita el acceso en función del contexto de una solicitud, consulta Crear un nivel de acceso personalizado.

Combinar condiciones

Un solo nivel de acceso puede contener varias condiciones. Las condiciones se pueden evaluar con los operadores AND u OR. Puedes especificar el modo al crear o actualizar un nivel de acceso.

La opción AND es la más estricta y la predeterminada. Esta opción solo concede el nivel de acceso si se cumplen todas las condiciones. Por ejemplo, puedes exigir que una solicitud proceda de la red corporativa y de un dispositivo que ejecute la versión más reciente de un sistema operativo.

OR es una opción menos restrictiva. Esta opción solo requiere que se cumpla una de las muchas condiciones. A veces, esto resulta útil cuando se trata de identidades de usuario, 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 forma que una condición dependa de otra. Por ejemplo, si tienes los niveles de acceso de confianza "Medio" y "Alto", puedes definir los requisitos de "Alto" para que requiera "Medio", además de otras condiciones.

Anidar condiciones puede facilitar la gestión de los niveles de acceso. Por ejemplo, imagina que tu nivel de acceso más permisivo contiene una versión mínima del sistema operativo y que configuras los niveles más restrictivos para que dependan de él. Si actualiza la versión mínima en el futuro, solo tendrá que actualizar una condición, en lugar de cada nivel de acceso de la política.

Más información