Descripción general de la política de autorización

En esta página, se describen las políticas de autorización que te permiten establecer verificaciones de control de acceso para el tráfico entrante a los balanceadores de cargas de aplicaciones basados en Envoy. Las solicitudes que pasan estas verificaciones se enrutan a los servicios de backend. Las solicitudes que no superen estas verificaciones finalizarán con una respuesta no autorizada.

Una política de autorización es un conjunto de reglas que definen la fuente del tráfico entrante y un conjunto de operaciones permitidas o denegadas para la fuente. Una política de autorización también especifica las condiciones que se deben cumplir para que se aplique la regla y una acción que determina si se debe permitir, rechazar o evaluar más el tráfico.

Componentes de las reglas de la política de autorización

Una regla de política de autorización tiene los siguientes componentes:

  • from: Especifica la identidad del cliente que permite la regla. La identidad se puede obtener de un certificado de cliente en una conexión TLS mutua o puede ser la identidad ambiental asociada con la VM cliente, como de una cuenta de servicio o una etiqueta segura.
  • to: Especifica las operaciones permitidas por la regla, como las URLs a las que se puede acceder o los métodos HTTP permitidos.
  • when: Te permite definir restricciones adicionales que se deben cumplir. Puedes usar expresiones de Common Expression Language (CEL) para definir las restricciones.
  • action: Especifica la acción de la regla. Puede ser ALLOW, DENY o CUSTOM.

Acciones de la política de autorización

Cuando se evalúa una solicitud, una política de autorización realiza cualquiera de las siguientes acciones:

  • ALLOW: Otorga acceso al recurso solicitado si la solicitud coincide con las reglas definidas en la política de autorización. La política de autorización bloquea el acceso al recurso solicitado si la solicitud no coincide con ninguna regla definida en la política de autorización. Se rechaza una solicitud si no coincide con una política ALLOW, incluso si otras políticas lo permiten.

  • DENY: Bloquea el acceso al recurso si una solicitud coincide con alguna de las reglas especificadas en una política DENY. La política de autorización otorga acceso al recurso solicitado si la solicitud no coincide con ninguna regla definida en la política de autorización. Se rechaza una solicitud si coincide con una política DENY, incluso si otras políticas lo permiten.

  • CUSTOM: Habilita la integración con sistemas de autorización externos para decisiones de autorización complejas. Las acciones CUSTOM se usan para las políticas que usan extensiones de servicio o IAP para las decisiones de autorización.

Orden de evaluación de la política de autorización

Cuando se asocian varias políticas de autorización con un solo recurso, se evalúan en el siguiente orden para determinar si se permite o se rechaza una solicitud.

  1. Políticas con acciones CUSTOM: Si la política CUSTOM rechaza la solicitud, esta se rechaza de inmediato. No se evalúan las políticas DENY ni ALLOW, incluso si se configuran.

  2. Políticas con acciones DENY: Si alguna política DENY coincide con la solicitud, esta se rechaza. No se evalúan las políticas de ALLOW, incluso si se configuran.

  3. Políticas con acciones ALLOW: Si no hay políticas ALLOW o si alguna política ALLOW coincide con la solicitud, esta se permite. Sin embargo, si ninguna política de ALLOW coincide con la solicitud, esta se rechaza.

Delega las decisiones de autorización

En el caso de las decisiones de autorización complejas que no se pueden expresar con la política de autorización, delega la decisión de autorización a proveedores de autorización personalizados, como Identity-Aware Proxy (IAP), o crea tu propia extensión de autorización compilada con Extensiones de servicio. Esto es útil cuando quieres usar tu motor de autorización local o proveedores de identidad externos a través de IAP.

  • IAP: Configura IAP para controlar el acceso a las aplicaciones detrás de las reglas de reenvío del balanceador de cargas de aplicaciones. IAP verifica la identidad y el contexto del usuario para determinar el acceso. También puede autenticar tokens de cuenta de servicio de Identity and Access Management (IAM) y evaluar las políticas de IAM, lo que protege el acceso a los buckets de backend expuestos desde el balanceador de cargas de aplicaciones. Para obtener más información, consulta Delega la autorización a IAP y IAM.

    Puedes optar por delegar la autenticación a IAP y IAM en las siguientes situaciones:

    • Usar IAM para la administración de permisos.
    • Implementar el acceso adaptado al contexto.
    • Usar la autenticación basada en el navegador para las aplicaciones web que requieren autenticación interactiva.
  • Extensiones de servicio: Delega las decisiones de autorización a tu motor de autorización personalizado que se ejecuta en instancias de VM de Google Cloud o de forma local. Esto proporciona flexibilidad para las políticas de autorización complejas que no están cubiertas por las políticas integradas. Para obtener más información, consulta Configura una extensión de autorización.

Precios

No se cobran las políticas de autorización durante el período de vista previa. Sin embargo, generas cargos por las herramientas de redes cuando usas balanceadores de cargas de Google Cloud. Para obtener información sobre los precios, consulta Precios.

¿Qué sigue?