Usa una lista de URLs para crear políticas

En esta guía, se muestra cómo usar listas de URLs para definir las URLs que tus usuarios pueden el acceso a los datos.

Antes de comenzar

  • Completa la configuración inicial pasos.

  • Verifica que tengas instalada la versión 406.0.0 de Google Cloud CLI o una posterior:

    gcloud version | head -n1
    

    Si tienes instalada una versión anterior de gcloud CLI, actualízala:

    gcloud components update --version=406.0.0
    

Crea una instancia del Proxy web seguro con una política vacía

Para crear una instancia del Proxy web seguro, primero crea una política de seguridad vacía y, luego, crearé un proxy web.

Crea una política de seguridad vacía

Console

  1. En la consola de Google Cloud, ve a la página Seguridad de red.

    Ir a Seguridad de red

  2. Haz clic en Proxy web seguro.

  3. Haz clic en la pestaña Políticas.

  4. Haz clic en Crear una política.

  5. Escribe un nombre para la política que quieres crear. como myswppolicy.

  6. Ingresa una descripción de la política, como My new swp policy

  7. En la lista Regiones, selecciona la región a la que deseas ir. crea la política.

  8. Haz clic en Crear.

Cloud Shell

  1. Utiliza tu editor de texto preferido para crear el archivo POLICY_FILE.yaml. Reemplazar POLICY_FILE por el nombre de archivo que que deseas para el archivo de políticas.

  2. Agrega lo siguiente al archivo YAML que creaste:

    name: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME
    description: POLICY_DESCRIPTION
    

    Reemplaza lo siguiente:

    • PROJECT_NAME: nombre del proyecto.
    • REGION: La región a la que se aplica esta política
    • POLICY_NAME: El nombre de la política creando
    • POLICY_DESCRIPTION: Es la descripción de la política que estás creando
  3. Importa la política de seguridad:

    gcloud network-security gateway-security-policies import POLICY_NAME \
        --source=POLICY_FILE.yaml \
        --location=REGION
    

Crea un proxy web

Console

  1. En la consola de Google Cloud, ve a la página Seguridad de red.

    Ir a Seguridad de red

  2. Haz clic en Proxy web seguro.

  3. Haz clic en Configurar un proxy web.

  4. Ingresa un nombre para el proxy web que deseas crear, como myswp.

  5. Ingresa una descripción del proxy web, como My new swp.

  6. En la lista Regiones, selecciona la región en la que deseas crear el proxy web.

  7. En la lista Red, selecciona la red a la que quieres crear el proxy web.

  8. En la lista Subred, selecciona la subred en la que desees crear el proxy web.

  9. Ingresa la dirección IP del proxy web.

  10. En la lista Certificado, selecciona el certificado que deseas. que se usará para crear el proxy web.

  11. En la lista Política, selecciona la política que creaste. asociar el proxy web.

  12. Haz clic en Crear.

Cloud Shell

  1. Utiliza tu editor de texto preferido para crear el archivo GATEWAY_FILE.yaml. Reemplazar GATEWAY_FILE por el nombre de archivo que deseas el archivo del proxy web.

  2. Agrega lo siguiente al archivo YAML que creaste:

    name: projects/PROJECT_NAME/locations/REGION/gateways/GATEWAY_NAME
    type: SECURE_WEB_GATEWAY
    ports: [GATEWAY_PORT_NUMBERS]
    certificateUrls: [CERTIFICATE_URLS]
    gatewaySecurityPolicy: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME
    network: projects/PROJECT_NAME/global/networks/NETWORK_NAME
    subnetwork: projects/PROJECT_NAME/regions/REGION/subnetworks/SUBNET_NAME
    addresses: [GATEWAY_IP_ADDRESS]
    scope: samplescope
    

    Reemplaza lo siguiente:

    • GATEWAY_NAME: Es el nombre de esta instancia.
    • GATEWAY_PORT_NUMBERS: Es una lista de números de puerto para esta puerta de enlace, como [80,443].
    • CERTIFICATE_URLS: Una lista de certificados SSL URL
    • SUBNET_NAME: El nombre de la subred que contiene GATEWAY_IP_ADDRESS

    • GATEWAY_IP_ADDRESS: Una lista opcional de IP para tus instancias del Proxy web seguro dentro del proxy subredes creadas anteriormente en el pasos iniciales de configuración

      Si decides no enumerar las direcciones IP, omíte el campo para que el proxy web elija una dirección IP por ti.

  3. Crea una instancia del Proxy web seguro:

    gcloud network-services gateways import GATEWAY_NAME \
        --source=GATEWAY_FILE.yaml \
        --location=REGION
    

Prueba la conectividad

Para probar la conectividad, usa el comando curl desde cualquier VM dentro de tu Red de nube privada virtual (VPC):

  curl -x https://GATEWAY_IP_ADDRESS:PORT_NUMBER https://www.example.com --proxy-insecure

Se espera que surja un error 403 Forbidden.

Crear una lista de URLs

Para crear una lista de URLs y agregar una regla, completa las tareas de las siguientes secciones.

Crea y configura una lista de URLs

Console

  1. En la consola de Google Cloud, ve a la página Seguridad de red.

    Ir a Seguridad de red

  2. Haz clic en Proxy web seguro.

  3. Haz clic en la pestaña Listas de URLs.

  4. Haz clic en Crear una lista de URLs.

  5. Ingresa un nombre para la lista de URLs que deseas crear, como myurllist.

  6. Ingresa una descripción de la lista de URLs, como My new URL list.

  7. En la lista Regiones, selecciona la región a la que deseas ir. crear la lista de URLs.

  8. Haz clic en Subir listas para subir la lista de hosts, URL o patrones que coincidan. Para obtener más información, consulta la referencia de sintaxis de UrlList.

  9. Haz clic en Crear.

Cloud Shell

  1. Usa tu editor de texto preferido para crear el archivo. URL_LIST_FILE.yaml. ReplaceURL_LIST_FILE` por el nombre de archivo deseado.

      name: projects/PROJECT_ID/locations/REGION/urlLists/URL_LIST_NAME
      values: URL_LIST
    

    Reemplaza lo siguiente:

    • PROJECT_ID: Es el número de tu proyecto.
    • REGION: Es la región a la que se aplica esta lista de URLs.
    • URL_LIST_NAME: Es un nombre para la lista de URLs que estás creando.
    • URL_LIST: Es la lista de hosts, URLs o patrones que deben coincidir.

    Para obtener más información, consulta Referencia de la sintaxis de UrlList.

    El siguiente es un ejemplo de archivo de reglas de lista de URLs:

    name: projects/PROJECT_ID/locations/REGION/urlLists/example-org-allowed-list
    values:
      - www.example.com
      - about.example.com
      - "*.google.com"
      - "github.com/example-org/*"
    

    El carácter de asterisco (*) tiene un significado especial en YAML. Por lo tanto, debes encerrar las URLs entre comillas que incluyan un carácter *.

  2. Agrega la lista de URLs para que un Proxy web seguro pueda hacer referencia a ella. regla:

    gcloud network-security url-lists import URL_LIST_NAME \
        --location=REGION \
        --project=PROJECT_ID \
        --source=URL_LIST_FILE.yaml
    

Agregar una regla

Console

  1. En la consola de Google Cloud, ve a la página Seguridad de red.

    Ir a Seguridad de red

  2. Haz clic en Proxy web seguro.

  3. En el menú del selector de proyectos, selecciona el ID de tu organización o la carpeta. que contiene tu política.

  4. Haz clic en el nombre de la política.

  5. Haz clic en Agregar regla.

  6. Propaga los campos de la regla:

    1. Nombre
    2. Descripción
    3. Estado
    4. Prioridad: El orden de evaluación numérico de la regla. Las reglas se evalúan de mayor a menor prioridad, en la que 0 es la prioridad más alta.
    5. En la sección Acción, especifica si las conexiones que coinciden si se permite (Permitir) o se rechaza (Rechazar) la regla.
    6. En la sección Coincidencia de sesión, especifica el nombre de la lista de URLs. que creaste anteriormente. Por ejemplo:

        sessionMatcher: "inUrlList(host(), 'projects/PROJECT_ID/locations/REGION/urlLists/URL_LIST_NAME')"
      
    7. Para habilitar la inspección de TLS, selecciona Habilitar la inspección de TLS.

    8. En la sección Coincidencia de aplicaciones, especifica los criterios para que coincida con la solicitud.

    9. Haz clic en Crear.

  7. Haz clic en Agregar regla para agregar otra regla.

  8. Haz clic en Crear para crear la política.

Cloud Shell

  1. Usa tu editor de texto preferido para crear el archivo RULE_FILE.yaml. Reemplaza RULE_FILE por el nombre de archivo que desees.

    name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/POLICY_NAME/rules/RULE_NAME
    basicProfile: ALLOW
    enabled: true
    priority: PRIORITY_VALUE
    description: RULE_DESCRIPTION
    sessionMatcher: SESSION_CEL_EXPRESSION
    applicationMatcher: APPLICATION_CEL_EXPRESSION
    

    Reemplaza lo siguiente:

    • PROJECT_ID: Es el número de tu proyecto.
    • REGION: La región a la que se aplica esta regla
    • POLICY_NAME: Es el nombre de un GatewaySecurityPolicy existente que se usó. por tu instancia del Proxy web seguro
    • RULE_NAME: Es un nombre para el GatewaySecurityPolicyRule que deseas. creando
    • PRIORITY_VALUE: Un valor de prioridad para esta regla. Los números más bajos corresponden a prioridades más altas.
    • RULE_DESCRIPTION: una descripción de la política que estás creando
    • SESSION_CEL_EXPRESSION: Es una expresión de Common Expression Language (CEL) para la sesión.
    • APPLICATION_CEL_EXPRESSION: Es una expresión CEL para la aplicación.

    El siguiente es un ejemplo de archivo de reglas:

    name: projects/PROJECT_ID/locations/REGION/urlLists/allow-repos
    basicProfile: ALLOW
    enabled: true
    priority: 100
    description: Allow access to our list of known code repos.
    sessionMatcher: "inUrlList(host(), 'projects/PROJECT_ID/locations/REGION/urlLists/URL_LIST_NAME')"
    

  2. Para agregar una regla del Proxy web seguro, usa la lista de URLs que creaste anteriormente:

        gcloud network-security gateway-security-policies rules import RULE_NAME \
          --location=REGION \
          --project=PROJECT_ID \
          --source=RULE_FILE.yaml \
          --gateway-security-policy=POLICY_NAME
    

Prueba la conectividad

Para probar la conectividad, usa el siguiente comando curl:

curl -x https://SWP_IP_ADDRESS:SWP_PORT_NUMBER HTTP_TEST_ADDRESS
--proxy-insecure

Reemplaza lo siguiente:

  • SWP_IP_ADDRESS: Es la dirección IP del proxy web.

  • SWP_PORT_NUMBER: Es el número de puerto del proxy web, como 443

  • HTTP_TEST_ADDRESS: Es una dirección para probar, como https://www.example.com, que coincide con una entrada de host o URL en tu URL_LIST.

La solicitud debería mostrar una respuesta exitosa.

¿Qué sigue?