Utilizza un elenco di URL per creare criteri

Questa guida mostra come utilizzare gli elenchi di URL per definire gli URL a cui gli utenti possono accedere.

Prima di iniziare

  • Completa i passaggi della configurazione iniziale.

  • Verifica di aver installato Google Cloud CLI versione 406.0.0 o successiva:

    gcloud version | head -n1
    

    Se hai installato una versione precedente gcloud CLI, aggiornala:

    gcloud components update --version=406.0.0
    

Crea un'istanza Secure Web Proxy con un criterio vuoto

Per creare un'istanza Secure Web Proxy, devi prima creare un criterio di sicurezza vuoto, quindi creare un proxy web.

Crea un criterio di sicurezza vuoto

Console

  1. Nella console Google Cloud, vai alla pagina Sicurezza della rete.

    Vai a Sicurezza di rete

  2. Fai clic su Secure Web Proxy.

  3. Fai clic sulla scheda Norme.

  4. Fai clic su Crea un criterio.

  5. Inserisci un nome per il criterio che vuoi creare, ad esempio myswppolicy.

  6. Inserisci una descrizione del criterio, ad esempio My new swp policy.

  7. Nell'elenco Regioni, seleziona la regione in cui vuoi creare il criterio.

  8. Fai clic su Crea.

Cloud Shell

  1. Utilizza il tuo editor di testo preferito per creare il file POLICY_FILE.yaml. Sostituisci POLICY_FILE con il nome del file che vuoi per il file dei criteri.

  2. Aggiungi quanto segue al file YAML che hai creato:

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

    Sostituisci quanto segue:

    • PROJECT_NAME: il nome del progetto
    • REGION: la regione a cui si applica questo criterio
    • POLICY_NAME: il nome del criterio che stai creando
    • POLICY_DESCRIPTION: la descrizione del criterio che stai creando
  3. Importa il criterio di sicurezza:

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

Crea un proxy web

Console

  1. Nella console Google Cloud, vai alla pagina Sicurezza della rete.

    Vai a Sicurezza di rete

  2. Fai clic su Secure Web Proxy.

  3. Fai clic su Configura un proxy web.

  4. Inserisci un nome per il proxy web che vuoi creare, ad esempio myswp.

  5. Inserisci una descrizione del proxy web, ad esempio My new swp.

  6. Nell'elenco Regioni, seleziona la regione in cui vuoi creare il proxy web.

  7. Nell'elenco Rete, seleziona la rete in cui vuoi creare il proxy web.

  8. Nell'elenco Subnet, seleziona la subnet in cui vuoi creare il proxy web.

  9. Inserisci l'indirizzo IP del proxy web.

  10. Nell'elenco Certificato, seleziona il certificato che desideri utilizzare per creare il proxy web.

  11. Nell'elenco Criterio, seleziona il criterio che hai creato per associare il proxy web.

  12. Fai clic su Crea.

Cloud Shell

  1. Utilizza il tuo editor di testo preferito per creare il file GATEWAY_FILE.yaml. Sostituisci GATEWAY_FILE con il nome file che vuoi per il file proxy web.

  2. Aggiungi quanto segue al file YAML che hai creato:

    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
    

    Sostituisci quanto segue:

    • GATEWAY_NAME: il nome dell'istanza
    • GATEWAY_PORT_NUMBERS: un elenco di numeri di porta per questo gateway, ad esempio [80,443]
    • CERTIFICATE_URLS: un elenco di URL dei certificati SSL
    • SUBNET_NAME: il nome della subnet che contiene GATEWAY_IP_ADDRESS

    • GATEWAY_IP_ADDRESS: un elenco facoltativo di indirizzi IP per le istanze Secure Web Proxy all'interno delle subnet proxy create in precedenza nella procedura di configurazione iniziale

      Se scegli di non elencare gli indirizzi IP, ometti il campo per fare in modo che il proxy web scelga un indirizzo IP per te.

  3. Crea un'istanza Secure Web Proxy:

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

Testa la connettività

Per testare la connettività, utilizza il comando curl da qualsiasi VM all'interno della tua rete VPC (Virtual Private Cloud):

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

È previsto un errore 403 Forbidden.

Crea un elenco di URL

Per creare un elenco di URL e aggiungere una regola, completa le attività indicate nelle sezioni seguenti.

Crea e configura un elenco di URL

Console

  1. Nella console Google Cloud, vai alla pagina Sicurezza della rete.

    Vai a Sicurezza di rete

  2. Fai clic su Secure Web Proxy.

  3. Fai clic sulla scheda Elenchi di URL.

  4. Fai clic su Crea un elenco di URL.

  5. Inserisci un nome per l'elenco di URL che vuoi creare, ad esempio myurllist.

  6. Inserisci una descrizione dell'elenco di URL, ad esempio My new URL list.

  7. Nell'elenco Regioni, seleziona la regione in cui vuoi creare l'elenco di URL.

  8. Fai clic su Carica elenchi per caricare l'elenco di host, URL o pattern da abbinare. Per ulteriori informazioni, consulta la pagina relativa al riferimento sulla sintassi di URLList.

  9. Fai clic su Crea.

Cloud Shell

  1. Utilizza il tuo editor di testo preferito per creare il file URL_LIST_FILE.yaml. ReplaceURL_LIST_FILE con il nome file desiderato.

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

    Sostituisci quanto segue:

    • PROJECT_ID: il numero del tuo progetto
    • REGION: la regione a cui si applica questo elenco di URL
    • URL_LIST_NAME: un nome per l'elenco di URL che stai creando
    • URL_LIST: l'elenco di host, URL o pattern da abbinare

    Per ulteriori informazioni, consulta la pagina relativa al riferimento sulla sintassi di UrlList.

    Di seguito è riportato un esempio di file di regole per l'elenco di URL:

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

    Il carattere asterisco (*) ha un significato speciale in YAML. Di conseguenza, devi racchiudere tra virgolette gli URL che includono un carattere *.

  2. Aggiungi l'elenco di URL in modo che possa essere utilizzato come riferimento da una regola Secure Web Proxy:

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

Aggiungi una regola

Console

  1. Nella console Google Cloud, vai alla pagina Sicurezza della rete.

    Vai a Sicurezza di rete

  2. Fai clic su Secure Web Proxy.

  3. Nel menu del selettore dei progetti, seleziona l'ID organizzazione o la cartella che contiene il criterio.

  4. Fai clic sul nome della norma.

  5. Fai clic su Aggiungi regola.

  6. Completa i campi delle regole:

    1. Nome
    2. Description
    3. Stato
    4. Priorità: l'ordine di valutazione numerico della regola. Le regole vengono valutate dalla priorità più alta a quella più bassa, dove 0 è la priorità più alta.
    5. Nella sezione Azione, specifica se le connessioni che corrispondono alla regola sono consentite (Consenti) o negate (Rifiuta).
    6. Nella sezione Corrispondenza sessione, specifica il nome dell'elenco di URL creato in precedenza. Ad esempio:

        sessionMatcher: "inUrlList(host(), 'projects/PROJECT_ID/locations/REGION/urlLists/URL_LIST_NAME')"
      
    7. Per abilitare l'ispezione TLS, seleziona Abilita ispezione TLS.

    8. Nella sezione Corrispondenza applicazione, specifica i criteri per soddisfare la richiesta.

    9. Fai clic su Crea.

  7. Fai clic su Aggiungi regola per aggiungere un'altra regola.

  8. Fai clic su Crea per creare il criterio.

Cloud Shell

  1. Utilizza il tuo editor di testo preferito per creare il file RULE_FILE.yaml. Sostituisci RULE_FILE con il nome file che preferisci.

    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
    

    Sostituisci quanto segue:

    • PROJECT_ID: il numero del tuo progetto
    • REGION: la regione a cui si applica questa regola
    • POLICY_NAME: il nome di un GatewaySecurityPolicy esistente utilizzato dalla tua istanza Secure Web Proxy
    • RULE_NAME: un nome per la GatewaySecurityPolicyRule che stai creando
    • PRIORITY_VALUE: un valore di priorità per questa regola; i numeri più bassi corrispondono a priorità più alte
    • RULE_DESCRIPTION: una descrizione del criterio che stai creando
    • SESSION_CEL_EXPRESSION: un'espressione CEL (Common Expression Language) per la sessione
    • APPLICATION_CEL_EXPRESSION: un'espressione CEL per l'applicazione

    Di seguito è riportato un esempio di file di regole:

    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. Aggiungi una regola Secure Web Proxy utilizzando l'elenco di URL creato in precedenza:

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

Testa la connettività

Per testare la connettività, utilizza il seguente comando curl:

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

Sostituisci quanto segue:

  • SWP_IP_ADDRESS: l'indirizzo IP del proxy web

  • SWP_PORT_NUMBER: il numero di porta per il tuo proxy web, ad esempio 443

  • HTTP_TEST_ADDRESS: un indirizzo da testare, come https://www.example.com, che corrisponde a un host o a una voce URL nel tuo URL_LIST

La richiesta dovrebbe restituire una risposta corretta.

Passaggi successivi