Un account di servizio è un tipo speciale di account e viene in genere utilizzato da un'applicazione o da un workload di computing, come un'istanza di Compute Engine, anziché da una persona. Questo account è identificato dal rispettivo indirizzo email, che è univoco per l'account.
Le applicazioni utilizzano i service account per effettuare chiamate API autorizzate autenticandosi come il account di servizio stesso o come utenti Google Workspace o Cloud Identity tramite la delega a livello di dominio. Quando un'applicazione esegue l'autenticazione come account di servizio, ha accesso a tutte le risorse a cui il account di servizio ha l'autorizzazione di accedere.
Puoi utilizzare un account di servizio per identificare l'origine del traffico e configurare le policy Secure Web Proxy, se necessario.
Questa guida mostra come:
- Crea un'istanza di Secure Web Proxy con un criterio vuoto.
- Crea e collega service account alle risorse.
- Utilizza gli account di servizio per creare un criterio Secure Web Proxy.
- 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 service account.
Verifica che sia installata la versione 406.0.0 o successive di Google Cloud CLI:
gcloud version | head -n1Se hai installato una versione precedente di gcloud CLI, aggiornala:
gcloud components update --version=406.0.0
Crea un'istanza di Secure Web Proxy con una policy vuota
Per creare un'istanza di Secure Web Proxy, devi prima creare una policy di sicurezza vuota e poi creare un proxy web che utilizzi la policy.
Crea una policy di sicurezza vuota
Console
Nella console Google Cloud , vai alla pagina Policy SWP.
Fai clic su Crea una policy.
Nel campo Nome, inserisci un nome per la policy, ad esempio
myswppolicy.Nel campo Descrizione, inserisci una descrizione della norma, ad esempio
My new swp policy.Per Regioni, seleziona la regione in cui vuoi creare il criterio, ad esempio
us-central1.Fai clic su Crea.
Cloud Shell
Utilizza l'editor di testo che preferisci per creare un file
policy.yaml.Aggiungi quanto segue al file
policy.yamlche hai creato:name: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME description: POLICY_DESCRIPTIONSostituisci quanto segue:
PROJECT_NAME: il nome del progettoREGION: la regione in cui viene creata la policy, ad esempious-central1POLICY_NAME: il nome della policyPOLICY_DESCRIPTION: la descrizione della policy
Importa la policy di sicurezza utilizzando il comando
gcloud network-security gateway-security-policies import:gcloud network-security gateway-security-policies import POLICY_NAME \ --source=POLICY_FILE.yaml \ --location=REGION
Crea un proxy web
Console
Nella console Google Cloud , vai alla pagina Proxy web.
Fai clic su Crea un proxy web sicuro.
Nel campo Nome, inserisci un nome per il web proxy, ad esempio
myswp.Nel campo Descrizione, inserisci una descrizione del proxy web, ad esempio
My new swp.Per Modalità di routing, seleziona l'opzione Esplicita.
Per Regioni, seleziona la regione in cui vuoi creare il proxy web, ad esempio
us-central1.In Rete, seleziona la rete in cui vuoi creare il proxy web.
Per Subnet, seleziona la subnet VPC che hai creato in precedenza nell'ambito dei passaggi di configurazione iniziali.
(Facoltativo) Nel campo Indirizzo IP del proxy web, inserisci l'indirizzo IP del proxy web sicuro.
Puoi inserire un indirizzo IP dall'intervallo di indirizzi IP proxy web sicuri che si trovano nella subnet creata nel passaggio precedente. Se non inserisci l'indirizzo IP, l'istanza di Secure Web Proxy sceglie automaticamente un indirizzo IP dalla subnet selezionata.
In Certificato, seleziona il certificato che vuoi utilizzare per creare il proxy web.
Per Policy, seleziona la policy che hai creato per associare il proxy web.
Fai clic su Crea.
Cloud Shell
Utilizza l'editor di testo che preferisci per creare un file
gateway.yaml.Aggiungi quanto segue al file
gateway.yaml: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/SUBNETWORK addresses: [GATEWAY_IP_ADDRESS] scope: samplescopeSostituisci quanto segue:
GATEWAY_NAME: il nome di questa istanza di Secure Web ProxyGATEWAY_PORT_NUMBERS: elenco dei numeri di porta per questo gateway, ad esempio[80,443]CERTIFICATE_URLS: elenco degli URL dei certificati SSLSUBNETWORK: la subnet VPC che hai creato in precedenza nell'ambito dei passaggi di configurazione iniziali.GATEWAY_IP_ADDRESS: elenco facoltativo di indirizzi IP per le istanze Secure Web Proxy all'interno delle subnet proxy create in precedenza nei passaggi di configurazione iniziali.Se scegli di non elencare gli indirizzi IP, ometti il campo per consentire al proxy web di scegliere un indirizzo IP per te.
Crea l'istanza del proxy web sicuro utilizzando il comando
gcloud network-services gateways import:gcloud network-services gateways import GATEWAY_NAME \ --source=gateway.yaml \ --location=REGION
Testa la connettività
Per testare la connettività, utilizza il comando curl da qualsiasi istanza di macchina virtuale (VM) all'interno della tua rete Virtual Private Cloud (VPC):
curl -x https://GATEWAY_IP_ADDRESS:PORT_NUMBER https://www.example.com --proxy-insecure
Se tutto funziona correttamente, l'istanza di Secure Web Proxy
restituisce un codice di stato 403 Forbidden. Questo errore conferma quanto segue:
L'istanza di Secure Web Proxy è stata implementata correttamente e riceve attivamente traffico.
Il criterio del proxy web sicuro applica correttamente la postura di sicurezza predefinita di rifiuto di tutto il traffico finché non definisci regole
allowspecifiche nelle sezioni successive.
Crea e collega service account alle risorse
Per creare e collegare i service account:
Crea regole Secure Web Proxy
Per creare regole Secure Web Proxy:
Utilizza il tuo editor di testo preferito per creare un file
RULE_FILE.yaml. SostituisciRULE_FILEcon il nome file che hai 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: ALLOWSostituisci quanto segue:
RULE_NAME: un nome per questa regolaRULE_DESCRIPTION: una descrizione per la regola che stai creandoRULE_PRIORITY: la priorità di questa regola; un numero inferiore corrisponde a una priorità più altaCEL_EXPRESSION: un'espressione Common Expression Language (CEL)Per ulteriori informazioni, consulta il riferimento al linguaggio del matcher CEL.
Ad esempio, per consentire l'accesso a
example.comdalla risorsa con il account di servizio desiderato collegato, aggiungi quanto segue al file YAML che hai creato persessionMatcher:sessionMatcher: "source.matchServiceAccount('SERVICE_ACCOUNT') && host() == 'example.com'"Sostituisci
SERVICE_ACCOUNTcon il account di servizio che vuoi consentire. Deve essere l'indirizzo email del 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 allegato:
curl -x https://IPv4_ADDRESS:443 http://example.com
--proxy-insecure
Sostituisci IPv4_ADDRESS con l'indirizzo IPv4 della tua istanza
Secure Web Proxy.
Passaggi successivi
- Utilizzare un elenco di URL per creare criteri
- Assegnare indirizzi IP statici per il traffico in uscita