Per centralizzare il deployment di Secure Web Proxy su più reti VPC, puoi rendere disponibile Secure Web Proxy tramite un collegamento del servizio Private Service Connect.
Il deployment di Secure Web Proxy con Private Service Connect prevede i seguenti passaggi:
- Crea un criterio e regole di Secure Web Proxy.
- Crea un'istanza di Secure Web Proxy che utilizzi il criterio.
- Crea un collegamento al servizio per pubblicare l'istanza di Secure Web Proxy come servizio Private Service Connect.
- Crea un endpoint consumer Private Service Connect in ogni rete VPC che deve connettersi a Secure Web Proxy.
- Indirizza il traffico in uscita del tuo carico di lavoro all'istanza di Secure Web Proxy centralizzata all'interno della regione.
Prima di iniziare
Prima di completare i passaggi in questa pagina, completa i passaggi di configurazione iniziale.
Crea e configura un'istanza di Secure Web Proxy
Questa guida descrive come creare un criterio e regole di Secure Web Proxy che corrispondono al traffico per sessione.
Per informazioni sulla configurazione facoltativa dell'ispezione TLS, consulta Attivare l'ispezione TLS.
Per informazioni sulla configurazione facoltativa della corrispondenza a livello di applicazione, consulta Eseguire il deployment di un'istanza di Secure Web Proxy.
Crea un criterio Secure Web Proxy
Console
Nella Google Cloud console, vai alla pagina Regole SWP.
Fai clic su
Crea un criterio.Inserisci un nome per il criterio che vuoi creare, ad esempio
myswppolicy
.Inserisci una descrizione del criterio.
Nell'elenco Regioni, seleziona la regione in cui vuoi creare il criterio del proxy web.
Fai clic su Crea.
Cloud Shell
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 del tuo progettoREGION
: la regione del criterio
Crea un criterio Secure Web Proxy basato 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 carico di lavoro.
Questa sezione mostra come creare una regola per consentire il traffico dai carichi di lavoro identificati dall'account di servizio o dal tag Resource Manager. Per informazioni su come abbinare il traffico in altri modi, consulta la Guida di riferimento del linguaggio del corrispettivo CEL.
Console
Nella Google Cloud console, vai alla pagina Regole SWP.
Fai clic sul nome del criterio.
Per aggiungere regole per consentire ai workload di accedere a internet:
- Fai clic su Aggiungi regola.
- Inserisci una priorità. Le regole vengono valutate dalla priorità più alta a quella più bassa,
dove
0
è la priorità più alta. - Inserisci un nome.
- Inserisci una descrizione.
- Inserisci uno stato.
- Per Azione, seleziona Consenti.
- Fai clic su Stato e seleziona Attivato.
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 del 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 l'account di servizio
account-name@my-project.iam.gserviceaccount.com
, inserisci quanto segue:source.matchServiceAccount('account-name@my-project.iam.gserviceaccount.com') && host() == 'google.com'
Fai clic su Crea.
Cloud Shell
Per ogni regola da aggiungere:
Crea un file
rule.yaml
e specifica i criteri per l'associazione della sessione.Per consentire il traffico verso un dominio specifico dai carichi di lavoro identificati dall'ID valore del 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 del tuo progettoREGION
: la regione del criterioRULE_NAME
: il nome della regolaPRIORITY
: la priorità della regola. Le regole vengono valutate dalla priorità più alta a quella più bassa, dove0
è la priorità più altaTAG_VALUE_ID
: l'ID valore del tag dei carichi di lavoro per i quali consentire il trafficoDOMAIN_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 dell'account di servizio.
Per aggiornare il criterio con la regola che hai definito 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 di Secure Web Proxy in modalità di routing esplicito nella rete Virtual Private Cloud (VPC) che vuoi utilizzare per il traffico in uscita. Quando crei l'istanza, associala alle norme 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 successivo.
Per informazioni sulla configurazione dell'istanza, consulta Configurare un proxy web. Al momento non devi completare gli altri passaggi in quella pagina.
Esegui il deployment di Secure Web Proxy come servizio Private Service Connect in un modello hub and 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.
Pubblicare Secure Web Proxy come servizio Private Service Connect
Per pubblicare Secure Web Proxy come servizio, crea una subnet e un collegamento di servizio Private Service Connect. La subnet e il collegamento del servizio devono trovarsi nella stessa regione degli endpoint Private Service Connect che accedono al collegamento del servizio.
Creare una subnet per Private Service Connect
Per creare una subnet per Private Service Connect, segui la procedura riportata di seguito.
Console
Nella console Google Cloud , vai alla pagina Reti VPC.
Fai clic sul nome di una rete VPC per visualizzare la pagina Dettagli rete VPC.
Fai clic su Subnet.
Fai clic su Aggiungi subnet. Nel riquadro visualizzato:
- Fornisci un nome.
- Seleziona una Regione.
- Nella sezione Finalità, seleziona Private Service Connect.
- Per Tipo di stack IP, seleziona IPv4 (stack singolo) o IPv4 e IPv6 (stack doppio).
- Inserisci un intervallo IPv4. Ad esempio,
10.10.10.0/24
. - Se stai creando una subnet a doppio stack, imposta il tipo di accesso IPv6 su Interno.
- Fai clic su Aggiungi.
Cloud Shell
Esegui una di queste operazioni:
Per creare una subnet Private Service Connect solo IPv4, segui questi passaggi:
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, segui questi passaggi:
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 sottorete.NETWORK_NAME
: il nome della VPC per la nuova subnet.REGION
: la regione della nuova subnet. Deve essere la stessa regione del servizio che stai pubblicando.SUBNET_RANGE
: l'intervallo di indirizzi IPv4 da utilizzare per la sottorete, ad esempio10.10.10.0/24
.
Creare un allegato del servizio
Per pubblicare Secure Web Proxy come allegato di servizio nella rete VPC (hub) centrale:
Questa sezione descrive come creare un allegato del servizio che accetti automaticamente tutte le connessioni. Per informazioni sull'approvazione esplicita o su altre opzioni di configurazione, consulta Pubblicare un servizio con approvazione esplicita.
Console
Nella Google Cloud console, vai alla pagina Private Service Connect.
Fai clic sulla scheda Servizi pubblicati.
Fai clic su Pubblica servizio.
Nella sezione Dettagli target, seleziona Secure Web Proxy.
Seleziona l'istanza di Secure Web Proxy che vuoi pubblicare. I campi della rete e della regione vengono compilati con i dettagli dell'istanza Secure Web Proxy selezionata.
In Nome servizio, inserisci un nome per il collegamento del servizio.
Seleziona una o più subnet Private Service Connect per il servizio. L'elenco viene compilato con le subnet della rete VPC dell'istanza di proxy web sicuro selezionata.
Nella sezione Preferenza di connessione, seleziona Accetta automaticamente tutte le connessioni.
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 del servizioSWP_INSTANCE_URI
: l'URI dell'istanza di 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 ConnectREGION
: la regione di implementazione di Secure Web ProxyPROJECT
: il progetto di implementazione di Secure Web Proxy
Creazione endpoint
Crea un endpoint in ogni rete e regione VPC che deve inviare il traffico in uscita tramite l'istanza Secure Web Proxy centralizzata. Ripeti i seguenti passaggi per ogni endpoint da creare.
Console
Nella Google Cloud console, vai alla pagina Private Service Connect.
Fai clic sulla scheda Endpoint collegati.
Fai clic su Connetti endpoint.
In Destinazione, seleziona Servizio pubblicato.
In Servizio di destinazione, inserisci l'URI del collegamento al servizio a cui vuoi collegarti.
L'URI del collegamento al servizio ha questo formato:
projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME
In Nome endpoint, inserisci un nome da utilizzare per l'endpoint.
Seleziona una Rete per l'endpoint.
Seleziona una Subnet per l'endpoint.
Seleziona un indirizzo IP per l'endpoint. Se hai bisogno di un nuovo indirizzo IP, puoi crearne uno:
- Fai clic sul menu a discesa Indirizzo IP e seleziona Crea indirizzo IP.
- Inserisci un nome e una descrizione facoltativa per l'indirizzo IP.
- Seleziona una versione IP.
Se stai creando un indirizzo IPv4, seleziona Assegna automaticamente o Fammi scegliere.
Se hai selezionato Fammi scegliere, inserisci l'indirizzo IP personalizzato che vuoi utilizzare.
Fai clic su Prenota.
Fai clic su Aggiungi endpoint.
Cloud Shell
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 per l'indirizzo IP dell'endpoint. Deve essere la stessa regione che contiene l'allegato del 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ò essereIPV4
oIPV6
.IPV4
è il valore predefinito. Per specificareIPV6
, l'indirizzo IP deve essere connesso a una subnet con un intervallo di indirizzi IPv6 interno.
Crea una regola di forwarding per collegare l'endpoint al collegamento al servizio del produttore di servizi.
gcloud compute forwarding-rules create ENDPOINT_NAME \ --region=REGION \ --network=NETWORK_NAME \ --address=ADDRESS_NAME \ --target-service-attachment=SERVICE_ATTACHMENT
Sostituisci quanto segue:
ENDPOINT_NAME
: il nome da assegnare all'endpoint.REGION
: la regione per l'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 carico di lavoro 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 endpointHTTP_PORT
: la porta per la ricezione del traffico HTTPHTTPS_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
- Configurare l'ispezione TLS
- Utilizzare i tag per creare criteri
- Assegna indirizzi IP statici per il traffico in uscita
- Considerazioni aggiuntive per la modalità di collegamento del servizio Private Service Connect