Pubblica Secure Web Proxy come servizio Private Service Connect

Per centralizzare il deployment di Secure Web Proxy in più reti VPC, puoi rendere disponibile Secure Web Proxy tramite un collegamento di servizio Private Service Connect.

Il deployment di Secure Web Proxy con Private Service Connect prevede i seguenti passaggi:

  1. Crea un criterio e regole di Secure Web Proxy.
  2. Crea un'istanza di Secure Web Proxy che utilizzi il tuo criterio.
  3. Crea un collegamento al servizio per pubblicare l'istanza di Secure Web Proxy come servizio Private Service Connect.
  4. Crea un endpoint consumer Private Service Connect in ogni rete VPC che deve connettersi a Secure Web Proxy.
  5. Indirizza il traffico in uscita del tuo workload all'istanza Secure Web Proxy centralizzata all'interno della regione.
Esegui il deployment di Secure Web Proxy come
         collegamento di servizio Private Service Connect.
Esegui il deployment di Secure Web Proxy come allegato di servizio Private Service Connect (fai clic per ingrandire).

Prima di iniziare

Prima di completare i passaggi di questa pagina, completa i passaggi di configurazione iniziale.

Crea e configura un'istanza di Secure Web Proxy

Questa guida descrive come creare una policy e regole di Secure Web Proxy che corrispondono al traffico per sessione.

Per informazioni sulla configurazione facoltativa dell'ispezione TLS, consulta Abilita ispezione TLS.

Per informazioni sulla configurazione facoltativa della corrispondenza a livello di applicazione, vedi Crea e implementa un'istanza di Secure Web Proxy.

Crea un criterio Secure Web Proxy

Console

  1. Nella console Google Cloud , vai alla pagina Policy SWP.

    Vai a Policy SWP

  2. Fai clic su Crea una policy.

  3. Inserisci un nome per la policy che vuoi creare, ad esempio myswppolicy.

  4. Inserisci una descrizione della norma.

  5. Nell'elenco Regioni, seleziona la regione in cui vuoi creare la policy del proxy web.

  6. Fai clic su Crea.

Cloud Shell

  1. Crea un file policy.yaml.

    description: basic Secure Web Proxy policy
    name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID progetto del tuo progetto
    • REGION: la regione della policy
  2. Crea una policy Secure Web Proxy basata su policy.yaml.

    gcloud network-security gateway-security-policies import policy1 \
        --source=policy.yaml \
        --location=REGION
    

Aggiungere regole di Secure Web Proxy al criterio

Configura le regole di Secure Web Proxy per consentire il traffico in uscita da ogni workload.

Questa sezione mostra come creare una regola per consentire il traffico dai carichi di lavoro identificati dal tag Resource Manager o dal account di servizio. Per informazioni su come abbinare il traffico in altri modi, consulta il riferimento al linguaggio del matcher CEL.

Console

  1. Nella console Google Cloud , vai alla pagina Policy SWP.

    Vai a Policy SWP

  2. Fai clic sul nome della policy.

  3. Per aggiungere regole che consentano ai workload di accedere a internet:

    1. Fai clic su Aggiungi regola.
    2. Inserisci una priorità. Le regole vengono valutate dalla priorità più alta a quella più bassa, dove 0 è la priorità più alta.
    3. Inserisci un nome.
    4. Inserisci una descrizione.
    5. Inserisci uno stato.
    6. In Azione, seleziona Consenti.
    7. Fai clic su Stato e poi seleziona Attivato.
    8. Nella sezione Corrispondenza sessione, specifica i criteri per la corrispondenza della sessione.

      • Ad esempio, per consentire il traffico verso google.com dai carichi di lavoro con l'ID valore tag Resource Manager tagValues/123456, inserisci quanto segue:

        source.matchTag('tagValues/123456') && host() == 'google.com'

      • Per consentire il traffico verso google.com dai carichi di lavoro che utilizzano il account di servizio my-service-account@my-project.iam.gserviceaccount.com, inserisci quanto segue:

        source.matchServiceAccount('my-service-account@my-project.iam.gserviceaccount.com') && host() == 'google.com'

    9. Fai clic su Crea.

Cloud Shell

Per ogni regola che vuoi aggiungere:

  1. Crea un file rule.yaml e specifica i criteri per la corrispondenza della sessione.

    • Per consentire il traffico verso un dominio specifico dai workload identificati dall'ID valore tag Resource Manager, crea il seguente file:

      name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1/rules/RULE_NAME
      description: Allow traffic based on tag
      enabled: true
      priority: PRIORITY
      basicProfile: ALLOW
      sessionMatcher: source.matchTag('TAG_VALUE_ID') && host() == 'DOMAIN_NAME'
      

      Sostituisci quanto segue:

      • PROJECT_ID: l'ID progetto del tuo progetto
      • REGION: la regione della policy
      • RULE_NAME: il nome della regola
      • PRIORITY: la priorità della regola. Le regole vengono valutate dalla priorità più alta a quella più bassa, dove 0 è la priorità più alta.
      • TAG_VALUE_ID: l'ID valore tag dei workload per cui consentire il traffico
      • DOMAIN_NAME: il nome di dominio a cui consentire il traffico
    • Per consentire il traffico verso un dominio specifico dai carichi di lavoro che utilizzano un account di servizio, crea il seguente file:

      name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1/rules/RULE_NAME
      description: Allow traffic based on service account
      enabled: true
      priority: PRIORITY
      basicProfile: ALLOW
      sessionMatcher: source.matchServiceAccount('SERVICE_ACCOUNT') && host() == 'DOMAIN_NAME'
      

      Sostituisci SERVICE_ACCOUNT con il nome del account di servizio.

  2. Per aggiornare la policy con la regola definita in rule.yaml, utilizza il seguente comando:

    gcloud network-security gateway-security-policies rules import RULE_NAME \
       --source=rule.yaml \
       --location=REGION \
       --gateway-security-policy=policy1
    

Esegui il deployment di un'istanza di Secure Web Proxy

Esegui il deployment di un'istanza Secure Web Proxy in modalità di routing esplicito nella rete Virtual Private Cloud (VPC) che vuoi utilizzare per il traffico di uscita. Quando crei l'istanza, associala alla policy e alle regole che hai creato nei passaggi precedenti.

La pubblicazione di Secure Web Proxy con un collegamento al servizio Private Service Connect non supporta la modalità di routing hop successivo.

Per informazioni sulla configurazione dell'istanza, vedi Configura un proxy web. Al momento non devi completare gli altri passaggi della pagina.

Esegui il deployment di Secure Web Proxy come servizio Private Service Connect in un modello hub e spoke

Questa sezione descrive come eseguire il deployment di Secure Web Proxy come servizio Private Service Connect utilizzando un modello hub e spoke per centralizzare la gestione del traffico in uscita.

Pubblica Secure Web Proxy come servizio Private Service Connect

Per pubblicare Secure Web Proxy come servizio, crea una subnet e un collegamento al servizio Private Service Connect. La subnet e il collegamento al servizio devono condividere la stessa regione degli endpoint Private Service Connect che accedono al collegamento al servizio.

Crea una subnet per Private Service Connect

Per creare una subnet per Private Service Connect, procedi nel seguente modo.

Console

  1. Nella console Google Cloud , vai alla pagina Reti VPC.

    Vai a Reti VPC

  2. Fai clic sul nome di una rete VPC per visualizzare la pagina Dettagli rete VPC.

  3. Fai clic su Subnet.

  4. Fai clic su Aggiungi subnet. Nel riquadro visualizzato, segui questi passaggi:

    1. Fornisci un nome.
    2. Seleziona una Regione.
    3. Nella sezione Scopo, seleziona Private Service Connect.
    4. Per Tipo di stack IP, seleziona IPv4 (stack singolo) o IPv4 e IPv6 (stack doppio).
    5. Inserisci un intervallo IPv4. Ad esempio, 10.10.10.0/24.
    6. Se stai creando una subnet dual stack, imposta il tipo di accesso IPv6 su Interno.
    7. Fai clic su Aggiungi.

Cloud Shell

Esegui una delle seguenti operazioni:

  • Per creare una subnet Private Service Connect solo IPv4, procedi nel seguente modo:

    gcloud compute networks subnets create SUBNET_NAME \
        --network=NETWORK_NAME \
        --region=REGION \
        --range=SUBNET_RANGE \
        --purpose=PRIVATE_SERVICE_CONNECT
    
  • Per creare una subnet Private Service Connect dual-stack, procedi nel seguente modo:

    gcloud compute networks subnets create SUBNET_NAME \
        --network=NETWORK_NAME \
        --region=REGION \
        --stack-type=IPV4_IPV6 \
        --ipv6-access-type=INTERNAL \
        --range=SUBNET_RANGE \
        --purpose=PRIVATE_SERVICE_CONNECT
    

Sostituisci quanto segue:

  • SUBNET_NAME: il nome da assegnare alla subnet.

  • NETWORK_NAME: il nome del VPC per la nuova subnet.

  • REGION: la regione per la nuova subnet. Deve trovarsi nella stessa regione del servizio che stai pubblicando.

  • SUBNET_RANGE: l'intervallo di indirizzi IPv4 da utilizzare per la subnet, ad esempio 10.10.10.0/24.

Crea un collegamento al servizio

Per pubblicare Secure Web Proxy come collegamento di servizio nella rete VPC centrale (hub), segui questi passaggi.

Questa sezione descrive come creare un service attachment che accetta automaticamente tutte le connessioni. Per informazioni sull'approvazione esplicita o su altre opzioni di configurazione, consulta Pubblicare un servizio con approvazione esplicita.

Console

  1. Nella console Google Cloud , vai alla pagina Private Service Connect.

    Vai a Private Service Connect

  2. Fai clic sulla scheda Servizi pubblicati.

  3. Fai clic su Pubblica servizio.

  4. Nella sezione Dettagli target, seleziona Secure Web Proxy.

  5. Seleziona l'istanza di Secure Web Proxy che vuoi pubblicare. I campi rete e regione vengono compilati con i dettagli dell'istanza Secure Web Proxy selezionata.

  6. In Nome servizio, inserisci un nome per l'allegato del servizio.

  7. Seleziona una o più subnet Private Service Connect per il servizio. L'elenco viene compilato con le subnet della rete VPC dell'istanza Secure Web Proxy selezionata.

  8. Nella sezione Preferenza di connessione, seleziona Accetta automaticamente tutte le connessioni.

  9. Fai clic su Aggiungi servizio.

Cloud Shell

Utilizza il comando gcloud compute service-attachments create.

gcloud compute service-attachments create SERVICE_ATTACHMENT_NAME \
    --target-service=SWP_INSTANCE_URI \
    --connection-preference=ACCEPT_AUTOMATIC \
    --nat-subnets=NAT_SUBNET_NAME \
    --region=REGION \
    --project=PROJECT

Sostituisci quanto segue:

  • SERVICE_ATTACHMENT_NAME: il nome dell'allegato di servizio
  • SWP_INSTANCE_URI: l'URI dell'istanza Secure Web Proxy, nel seguente formato: //networkservices.googleapis.com/projects/PROJECT_ID/locations/REGION/gateways/INSTANCE_NAME
  • NAT_SUBNET_NAME: il nome della subnet Private Service Connect
  • REGION: la regione del deployment di Secure Web Proxy
  • PROJECT: il progetto del deployment di Secure Web Proxy

Creazione endpoint

Crea un endpoint in ogni rete VPC che deve inviare traffico in uscita tramite l'istanza Secure Web Proxy centralizzata. Per impostazione predefinita, un endpoint è accessibile solo ai workload nella propria regione.

Per consentire ai carichi di lavoro di qualsiasi Google Cloud regione di accedere a un endpoint, abilita l'opzione di accesso globale.

Ripeti i seguenti passaggi per ogni endpoint che devi creare.

Console

  1. Nella console Google Cloud , vai alla pagina Private Service Connect.

    Vai a Private Service Connect

  2. Fai clic sulla scheda Endpoint connessi.

  3. Fai clic su Connetti endpoint.

  4. In Destinazione, seleziona Servizio pubblicato.

  5. Per Servizio di destinazione, inserisci l'URI del collegamento al servizio a cui vuoi connetterti.

    L'URI del collegamento al servizio ha questo formato: projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME

  6. In Nome endpoint, inserisci un nome da utilizzare per l'endpoint.

  7. Seleziona una Rete per l'endpoint.

  8. Seleziona una subnet per l'endpoint.

  9. Seleziona un indirizzo IP per l'endpoint. Se hai bisogno di un nuovo indirizzo IP, puoi crearne uno:

    1. Fai clic sul menu a discesa Indirizzo IP e seleziona Crea indirizzo IP.
    2. Inserisci un nome e una descrizione facoltativa per l'indirizzo IP.
    3. Seleziona una Versione IP.
    4. Se stai creando un indirizzo IPv4, seleziona Assegna automaticamente o Scegli.

      Se hai selezionato Fammi scegliere, inserisci l'indirizzo IP personalizzato che vuoi utilizzare.

    5. Fai clic su Prenota.

  10. (Facoltativo) Per consentire ai client di qualsiasi Google Cloud regione di accedere all'endpoint, seleziona Abilita accesso globale.

    Per saperne di più, consulta le sezioni Accesso globale e Creare un endpoint nella documentazione VPC.

  11. Fai clic su Aggiungi endpoint.

Cloud Shell

  1. Prenota un indirizzo IP interno da assegnare all'endpoint.

    gcloud compute addresses create ADDRESS_NAME \
        --region=REGION \
        --subnet=SUBNET \
        --ip-version=IP_VERSION
    

    Sostituisci quanto segue:

    • ADDRESS_NAME: il nome da assegnare all'indirizzo IP riservato.

    • REGION: la regione dell'indirizzo IP dell'endpoint. Deve essere la stessa regione che contiene l'allegato di servizio del producer di servizi.

    • SUBNET: il nome della subnet per l'indirizzo IP dell'endpoint.

    • IP_VERSION: la versione IP dell'indirizzo IP, che può essere IPV4 o IPV6. IPV4 è il valore predefinito. Per specificare IPV6, l'indirizzo IP deve essere connesso a una subnet con un intervallo di indirizzi IPv6 interni.

  2. Crea una regola di forwarding per connettere l'endpoint al collegamento al servizio del producer di servizi.

    gcloud compute forwarding-rules create ENDPOINT_NAME \
       --region=REGION \
       --network=NETWORK_NAME \
       --address=ADDRESS_NAME \
       --target-service-attachment=SERVICE_ATTACHMENT
    

    (Facoltativo): per consentire ai client di qualsiasi regione Google Cloud di accedere all'endpoint, aggiungi il flag --allow-psc-global-access.

    Per saperne di più, consulta le sezioni Accesso globale e Creare un endpoint nella documentazione VPC.

    Sostituisci quanto segue:

    • ENDPOINT_NAME: il nome da assegnare all'endpoint.

    • REGION: la regione dell'endpoint. Deve essere la stessa regione che contiene l'allegato del servizio del producer di servizi.

    • NETWORK_NAME: il nome della rete VPC per l'endpoint.

    • ADDRESS_NAME: il nome dell'indirizzo riservato.

    • SERVICE_ATTACHMENT: l'URI del collegamento al servizio del produttore del servizio. Ad esempio: projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME

Indirizzare i carichi di lavoro agli endpoint Private Service Connect

Configura le variabili di ambiente del proxy in modo che ogni workload utilizzi l'indirizzo IP di un endpoint Private Service Connect per il traffico in uscita.

Ad esempio, per un carico di lavoro in un ambiente Linux o macOS, puoi utilizzare la riga di comando per configurare temporaneamente le variabili di ambiente HTTP_PROXY e HTTPS_PROXY:

export HTTP_PROXY="http://ENDPOINT_IP_ADDRESS:HTTP_PORT"
export HTTPS_PROXY="https://ENDPOINT_IP_ADDRESS:HTTPS_PORT"

Sostituisci quanto segue:

  • ENDPOINT_IP_ADDRESS: l'indirizzo IP interno del tuo endpoint
  • HTTP_PORT: la porta per la ricezione del traffico HTTP
  • HTTPS_PORT: la porta per la ricezione del traffico HTTPS

Per informazioni sull'impostazione permanente delle variabili proxy nell'ambiente dei tuoi carichi di lavoro, consulta la documentazione del sistema operativo.

Passaggi successivi