Utilizzare un elenco di URL per creare criteri

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

Prima di iniziare

  • Completa i passaggi della configurazione iniziale.

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

    gcloud version | head -n1
    

    Se hai installato una versione precedente di gcloud CLI, aggiornala:

    gcloud components update --version=406.0.0
    

Creare un'istanza di Secure Web Proxy con un criterio vuoto

Per creare un'istanza di Secure Web Proxy, crea prima un criterio di sicurezza vuoto e poi un proxy web.

Creare un criterio di sicurezza vuoto

Console

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

    Vai a Sicurezza della rete

  2. Fai clic su Secure Web Proxy (Proxy web sicuro).

  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 della norma, 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 l'editor di testo che preferisci per creare il file POLICY_FILE.yaml. Sostituisci POLICY_FILE con il nome del file che vuoi assegnare al file delle norme.

  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 applicano queste norme
    • 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 di rete.

    Vai a Sicurezza della rete

  2. Fai clic su Secure Web Proxy (Proxy web sicuro).

  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 da utilizzare per creare il proxy web.

  11. Nell'elenco Norma, seleziona la norma che hai creato per associare il proxy web.

  12. Fai clic su Crea.

Cloud Shell

  1. Utilizza l'editor di testo che preferisci per creare il file GATEWAY_FILE.yaml. Sostituisci GATEWAY_FILE con il nome del file che vuoi assegnare al file del 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 di questa 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 di Secure Web Proxy all'interno delle sottoreti proxy create in precedenza nei passaggi di configurazione iniziale

      Se scegli di non elencare gli indirizzi IP, ometti il campo per consentire al proxy web di scegliere un indirizzo IP per te.

  3. Crea un'istanza di Secure Web Proxy:

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

Testa la connettività

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

  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à nelle sezioni seguenti.

Creare e configurare un elenco di URL

Console

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

    Vai a Sicurezza della rete

  2. Fai clic su Secure Web Proxy (Proxy web sicuro).

  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 associare. Per saperne di più, consulta la sezione Riferimento alla sintassi di UrlList.

  9. Fai clic su Crea.

Cloud Shell

  1. Utilizza l'editor di testo che preferisci per creare il file URL_LIST_FILE.yaml. ReplaceURL_LIST_FILE` con il nome file che preferisci.

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

    Sostituisci quanto segue:

    • PROJECT_ID: il numero del 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 associare

    Per ulteriori informazioni, consulta la sezione Riferimento alla sintassi di UrlList.

    Di seguito è riportato un esempio di file di regole dell'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. Pertanto, devi aggiungere virgolette agli URL che includono un carattere *.

  2. Aggiungi l'elenco di URL in modo che possa essere utilizzato come riferimento da una regola di 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 di rete.

    Vai a Sicurezza della rete

  2. Fai clic su Secure Web Proxy (Proxy web sicuro).

  3. Nel menu di selezione del progetto, seleziona l'ID della tua organizzazione o la cartella che contiene le tue norme.

  4. Fai clic sul nome del criterio.

  5. Fai clic su Aggiungi regola.

  6. Compila i campi della regola:

    1. Nome
    2. Descrizione
    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 (Nega).
    6. Nella sezione Corrispondenza sessione, specifica il nome dell'elenco di URL che hai creato in precedenza. Ad esempio:

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

    8. Nella sezione Corrispondenza delle applicazioni, specifica i criteri per la corrispondenza della 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 l'editor di testo che preferisci 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 progetto
    • REGION: la regione a cui si applica questa regola
    • POLICY_NAME: il nome di un GatewaySecurityPolicy esistente utilizzato dall'istanza Secure Web Proxy
    • RULE_NAME: un nome per il GatewaySecurityPolicyRule che stai creando
    • PRIORITY_VALUE: un valore di priorità per questa regola. I numeri più bassi corrisponderanno a priorità più elevate.
    • RULE_DESCRIPTION: una descrizione per le norme che stai creando
    • SESSION_CEL_EXPRESSION: un'espressione Common Expression Language (CEL) 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 del proxy web, ad esempio 443

  • HTTP_TEST_ADDRESS: un indirizzo da testare, ad esempio https://www.example.com, che corrisponde a una voce host o URL in URL_LIST

La richiesta deve restituire una risposta positiva.

Passaggi successivi