Un account di servizio è un tipo speciale di account e viene generalmente utilizzato da un'applicazione o da un carico di lavoro di calcolo, come un'istanza Compute Engine, anziché da una persona. Questo account è identificato dal rispettivo indirizzo email, che è univoco.
Le applicazioni utilizzano gli account di servizio per effettuare chiamate API autorizzate autenticandosi come l'account di servizio stesso o come utenti di Google Workspace o Cloud Identity tramite delega a livello di dominio. Quando un'applicazione si autentica come account di servizio, ha accesso a tutte le risorse a cui l'account di servizio ha l'autorizzazione di accesso.
Puoi utilizzare un account di servizio per identificare l'origine del traffico e configurare i criteri del proxy web sicuro, se necessario.
Questa guida illustra come:
- Crea un'istanza di Secure Web Proxy con un criterio vuoto.
- Crea e collega gli account di servizio alle risorse.
- Utilizza gli account di servizio per creare un criterio del proxy web sicuro.
- Crea un'istanza di Secure Web Proxy.
- Testa la connettività dalle tue VM.
Prima di iniziare
Completa i passaggi della configurazione iniziale.
Chiedi a un amministratore dell'organizzazione di concedere l'accesso a un account di servizio.
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
Nella Google Cloud console, vai alla pagina Sicurezza di rete.
Fai clic su Secure Web Proxy (Proxy web sicuro).
Fai clic sulla scheda Norme.
Fai clic su Crea un criterio.
Inserisci un nome per il criterio che vuoi creare, ad esempio
myswppolicy
.Inserisci una descrizione della norma, ad esempio
My new swp policy
.Nell'elenco Regioni, seleziona la regione in cui vuoi creare il criterio.
Fai clic su Crea.
Cloud Shell
Utilizza l'editor di testo che preferisci per creare il file
POLICY_FILE
.yaml. SostituisciPOLICY_FILE
con il nome del file che vuoi assegnare al file delle norme.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 progettoREGION
: la regione a cui si applicano queste normePOLICY_NAME
: il nome del criterio che stai creandoPOLICY_DESCRIPTION
: la descrizione del criterio che stai creando
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
Nella Google Cloud console, vai alla pagina Sicurezza di rete.
Fai clic su Secure Web Proxy (Proxy web sicuro).
Fai clic su Configura un proxy web.
Inserisci un nome per il proxy web che vuoi creare, ad esempio
myswp
.Inserisci una descrizione del proxy web, ad esempio
My new swp
.Nell'elenco Regioni, seleziona la regione in cui vuoi creare il proxy web.
Nell'elenco Rete, seleziona la rete in cui vuoi creare il proxy web.
Nell'elenco Subnet, seleziona la sottorete in cui vuoi creare il proxy web.
Inserisci l'indirizzo IP del proxy web.
Nell'elenco Certificato, seleziona il certificato da utilizzare per creare il proxy web.
Nell'elenco Norma, seleziona la norma che hai creato per associare il proxy web.
Fai clic su Crea.
Cloud Shell
Utilizza l'editor di testo che preferisci per creare il file
GATEWAY_FILE
.yaml. SostituisciGATEWAY_FILE
con il nome del file che vuoi assegnare al file del proxy web.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 istanzaGATEWAY_PORT_NUMBERS
: un elenco di numeri di porta per questo gateway, ad esempio[80,443]
CERTIFICATE_URLS
: un elenco di URL dei certificati SSLSUBNET_NAME
: il nome della subnet che contieneGATEWAY_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 inizialeSe scegli di non elencare gli indirizzi IP, ometti il campo per consentire al proxy web di scegliere un indirizzo IP per te.
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 e collega gli account di servizio alle risorse
Per creare e collegare gli account di servizio:
Creare regole di Secure Web Proxy
Per creare regole di Secure Web Proxy:
Utilizza l'editor di testo che preferisci per creare un
RULE_FILE
.yaml file. SostituisciRULE_FILE
con il nome file scelto.Per consentire l'accesso a un URL dall'account di servizio scelto, aggiungi quanto segue al file YAML:
name: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME/rules/RULE_NAME description: RULE_DESCRIPTION enabled: true priority: RULE_PRIORITY sessionMatcher: CEL_EXPRESSION basicProfile: ALLOW
Sostituisci quanto segue:
RULE_NAME
: un nome per questa regolaRULE_DESCRIPTION
: una descrizione della regola che stai creandoRULE_PRIORITY
: la priorità per questa regola. Un numero inferiore corrisponde a una priorità più elevataCEL_EXPRESSION
: un'espressione Common Expression Language (CEL)Per ulteriori informazioni, consulta il riferimento linguistico del matcher CEL.
Ad esempio, per consentire l'accesso a
example.com
dalla risorsa con l'account di servizio desiderato collegato, aggiungi quanto segue al file YAML creato persessionMatcher
:sessionMatcher: "source.matchServiceAccount('SERVICE_ACCOUNT') && host() == 'example.com'"
Sostituisci
SERVICE_ACCOUNT
con il account di servizio che vuoi consentire. Deve essere l'indirizzo email dell'account di servizio.
Importa le regole che hai creato:
gcloud network-security gateway-security-policies rules import RULE_NAME \ --source=RULE_FILE.yaml \ --location=REGION \ --gateway-security-policy=POLICY_NAME
Testa la connettività
Per testare la connettività, utilizza il comando curl
dalla risorsa con il SERVICE_ACCOUNT
collegato:
curl -x https://IPv4_ADDRESS:443 http://example.com
--proxy-insecure
Sostituisci IPv4_ADDRESS
con l'indirizzo IPv4 della tua istanza di proxy web sicuro.
Passaggi successivi
- Utilizzare un elenco di URL per creare criteri
- Assegna indirizzi IP statici per il traffico in uscita