Configura políticas de autorización para el Proxy web seguro

En esta página, se describe cómo configurar las políticas de autorización para Secure Web Proxy.

Antes de comenzar

Crea una política de autorización

En esta sección, se explica cómo crear diferentes tipos de políticas de autorización que se adjuntan a una instancia del Secure Web Proxy.

Para crear una política de autorización para el Secure Web Proxy, haz lo siguiente:

Política de autorización basada en la identidad mTLS

Secure Web Proxy admite la aplicación de reglas de seguridad basadas en identidades derivadas de certificados TLS mutuos (mTLS). Aplicar reglas basadas en estas identidades es particularmente útil en entornos de confianza cero, en los que el tráfico entre los clientes y el proxy está protegido por mTLS. Para obtener más información, consulta Política de autorización basada en entidades principales.

En el siguiente ejemplo, se muestra una política de autorización para una instancia del Secure Web Proxy llamada swp1. En este ejemplo, se supone que el tráfico al proxy usa el protocolo HTTPS.

La política con el perfil REQUEST_AUTHZ exige que todo el tráfico a example.com/mcp requiera la autenticación mTLS de una entidad principal específica antes de que se permita el paso del tráfico. La política también deniega todo el tráfico saliente que no esté destinado a example.com/mcp.

  1. Crea el archivo YAML de la política de autorización.

    En el siguiente ejemplo, se crea un archivo authz-policy.yaml. La política permite el tráfico al host y la ruta especificados solo si el cliente presenta un certificado que coincida con la entidad principal SPIFFE ID definida.

    $ cat >authz-policy.yaml <<EOF
    name: test-authz-policy-mtls
    target:
      resources:
      - "projects/ PROJECT_ID /locations/ LOCATION /gateways/swp1"
    policyProfile: REQUEST_AUTHZ
    httpRules:
    - to:
      operations:
      - hosts:
          - exact: "example.com"
        paths:
          - exact: "/mcp"
      from:
        sources:
        - principals:
          - principalSelector: CLIENT_CERT_URI_SAN
            principal:
              exact: "spiffe:// PROJECT_ID .global.123.workload.id.goog/ns/ns1/sa/hellomcp"
    action: ALLOW
    EOF
    

    Reemplaza lo siguiente:

    • PROJECT_ID: Es el ID de tu Google Cloud proyecto.
    • LOCATION: Es la región de tu instancia del Proxy web seguro.
  2. Crea una política de autorización y, luego, importa el archivo YAML con el gcloud network-security authz-policies import comando.

    gcloud beta network-security authz-policies import my-authz-policy-allow
        --source=authz-policy.yaml
        --location= LOCATION 
    

    Reemplaza LOCATION por la región de tu instancia de Secure Web Proxy.

Política de autorización basada en cuentas de servicio o etiquetas

Puedes aplicar una política de autorización basada en cuentas de servicio o etiquetas adjuntas a varios Google Cloud recursos.

En este ejemplo, se supone que completaste lo siguiente:

Cuenta de servicio

  1. Crea un archivo YAML de política de autorización para permitir ciertas solicitudes.

    En el siguiente ejemplo, se crea un archivo authz-policy.yaml para la instancia de Secure Web Proxy llamada swp1. La política está configurada para permitir que las solicitudes de una instancia de máquina virtual (VM) de Compute Engine con la cuenta de servicio my-sa-123@56788.iam.gserviceaccount.com lleguen a la ruta example1.com/url1.

    $ cat >authz-policy.yaml <<EOF
    name: my-authz-policy-allow
    target:
        resources:
        - "projects/PROJECT_ID/locations/ LOCATION /gateways/swp1"
    policyProfile: REQUEST_AUTHZ
    httpRules:
    - from:
        sources:
            - resources:
                - iamServiceAccount:
                    exact: "my-sa-123@56788.iam.gserviceaccount.com"
      to:
        operations:
        - hosts:
            - exact: "example1.com"
        paths:
        - prefix: "/url1"
    action: ALLOW
    EOF
    

    Reemplaza lo siguiente:

    • PROJECT_ID: Es el ID de tu Google Cloud proyecto.
    • LOCATION: Es la región de tu instancia del Secure Web Proxy.
  2. Crea una política de autorización y, luego, importa el archivo YAML con el gcloud network-security authz-policies import comando.

    En el siguiente comando de ejemplo, se muestra cómo importar el archivo de políticas creado anteriormente y crear una política de autorización:

    gcloud network-security authz-policies import my-authz-policy-allow
    
        --source=authz-policy.yaml
        --location= LOCATION 
    

    Reemplaza LOCATION por la región de tu instancia de Secure Web Proxy.

Etiqueta

  1. Crea un archivo YAML de política de autorización para permitir ciertas solicitudes.

    En el siguiente ejemplo, se crea un archivo authz-policy-tag.yaml para la instancia de Secure Web Proxy llamada swp1. La política permite que solo las solicitudes que se originan en un Google Cloud recurso con un valor de etiqueta de TAG_VALUE_PERMANENT_ID accedan a la ruta de URL example1.com/url1.

    $ cat >authz-policy-tag.yaml <<EOF
    name: my-authz-policy-tag-allow
    target:
        resources:
        - "projects/PROJECT_ID/locations/ LOCATION /gateways/ GATEWAY_NAME "
    policyProfile: REQUEST_AUTHZ
    httpRules:
    - from:
        sources:
        - resources:
            - tagValueIdSet:
                ids: ["TAG_VALUE_PERMANENT_ID"]
      to:
        operations:
        - hosts:
            - exact: "example1.com"
            paths:
            - exact: "/url1"
    action: ALLOW
    EOF
    

    Reemplaza lo siguiente:

  2. Crea una política de autorización y, luego, importa el archivo YAML con el gcloud network-security authz-policies import comando.

    En el siguiente comando de ejemplo, se importa el archivo de políticas creado anteriormente y se crea una política de autorización en la región especificada Google Cloud :

    gcloud network-security authz-policies import my-authz-policy-tag-allow
        --source=authz-policy-tag.yaml
        --location= LOCATION 
    

    Reemplaza LOCATION por la región de tu instancia de Secure Web Proxy.

Política de autorización para delegar decisiones de autorización

En el caso de las decisiones de autorización complejas que no se pueden expresar con las reglas ALLOW o DENY estándar, puedes crear una política de autorización con una acción CUSTOM. Luego, puedes delegar tus decisiones de autorización a extensiones de autorización (Service Extensions).

Cuando configuras una política con una acción CUSTOM, Secure Web Proxy descarga los metadatos o la carga útil de la solicitud a Service Extensions. Según la respuesta de las extensiones de servicio, el proxy permite o rechaza el tráfico.

Secure Web Proxy admite los siguientes tipos de delegaciones:

  • Delega las decisiones de autorización de solicitudes a las Service Extensions: puedes usar una política de autorización configurada con una acción CUSTOM y un perfil REQUEST_AUTHZ para delegar decisiones basadas en metadatos de solicitudes y encabezados. En este modo, la decisión de acceso se delega a una extensión de autorización. Puedes usar este modo para verificar identidades y permisos.

  • Delega las decisiones de autorización de contenido a las Service Extensions: Puedes usar una política de autorización con una acción CUSTOM y un CONTENT_AUTHZ perfil para delegar decisiones a una extensión de autorización basada en la carga útil de datos real de la solicitud. Este modo te permite habilitar la inspección de contenido en profundidad y la aplicación de seguridad, lo que te permite buscar información sensible o patrones maliciosos mediante la integración con servicios como Model Armor.

Limitaciones

Cuando implementas políticas de autorización para Secure Web Proxy, se aplican las siguientes limitaciones:

¿Qué sigue?