Questo documento descrive come configurare un gateway sicuro Chrome Enterprise Premium per proteggere l'accesso alle tue applicazioni web private.
Un gateway sicuro Chrome Enterprise Premium funge da proxy di inoltro, applicando un framework di accesso zero trust e fornendo un controllo granulare e sensibile al contesto su chi accede alle tue applicazioni web private.
Come funziona la protezione dell'accesso alle applicazioni web private
Creando un tunnel sicuro e applicando criteri di accesso sensibile al contesto, il gateway sicuro mantiene private le applicazioni private e le protegge dall'esposizione a internet pubblico. Una configurazione del browser lato client indirizza il traffico per queste applicazioni tramite l'endpoint proxy gateway sicuro. Il gateway sicuro applica quindi la policy di accesso pertinente e, se consentito, indirizza la richiesta all'applicazione di destinazione.
Il gateway sicuro può contribuire a proteggere le applicazioni web private ospitate nei seguenti ambienti:
ProgettoGoogle Cloud : il gateway sicuro può indirizzare l'accesso alle applicazioni in esecuzione nella rete VPC Google Cloud .
Non-Google Cloud (data center on-premise o altri cloud): devi prima stabilire una connessione tra la tua rete VPC privata su Google Cloud e la rete non-Google Cloud . Questa operazione viene in genere eseguita utilizzando Cloud VPN o Cloud Interconnect. Il gateway sicuro utilizza quindi la connessione per inviare il traffico alla tua rete VPC privata, che a sua volta lo indirizza all'ambiente nonGoogle Cloud .
Ruoli obbligatori
Chiedi all'amministratore di concedere i seguenti ruoli:
Amministratore Cloud BeyondCorp (
roles/beyondcorp.admin) per configurare Chrome Enterprise Premium sul progettoGestore contesto accesso Admin (
roles/accesscontextmanager.policyAdmin) per leggere e aggiungere nuovi livelli di accessoService Usage Viewer (
roles/serviceusage.serviceUsageViewer) per utilizzare la console Google Cloud
Scopri di più sui ruoli di Identity and Access Management (IAM).
Prima di iniziare
Prima di configurare il gateway sicuro, verifica di disporre di quanto segue:
- Una licenza Chrome Enterprise Premium.
- Accedi alla Console di amministrazione Google con un account amministratore.
- Il servizioGoogle Cloud attivato per gli utenti.
Un progetto Google Cloud con un account di fatturazione assegnato e le seguenti API abilitate: API BeyondCorp
Per le applicazioni private in un ambiente nonGoogle Cloud , una connessione Cloud VPN o Cloud Interconnect tra l'ambienteGoogle Cloud e l'ambiente nonGoogle Cloud in cui si trova l'applicazione. Per saperne di più sulla configurazione delle connessioni di rete, consulta le seguenti risorse:
Configura l'ambiente shell
Per semplificare la procedura di configurazione e interagire con le API del gateway sicuro, definisci le seguenti variabili di ambiente nella shell di lavoro.
- Parametri generali
PROJECT_ID=PROJECT_ID
Sostituisci quanto segue:
PROJECT_ID: l'ID del progetto in cui viene creato il gateway sicuro.
- Parametri del gateway sicuro
SECURITY_GATEWAY_ID=
SECURITY_GATEWAY_IDSECURITY_GATEWAY_DISPLAY_NAME="SECURITY_GATEWAY_DISPLAY_NAME"Sostituisci quanto segue:
SECURITY_GATEWAY_ID: l'ID del gateway sicuro che vuoi creare. L'ID può contenere fino a 63 caratteri e può includere lettere minuscole, numeri e trattini. Il primo carattere deve essere una lettera e l'ultimo carattere può essere una lettera o un numero.-
SECURITY_GATEWAY_DISPLAY_NAME: il nome leggibile del gateway sicuro. Il nome può contenere fino a 63 caratteri e includere caratteri stampabili.
Crea un gateway sicuro
Un gateway sicuro Chrome Enterprise Premium è un elemento costitutivo fondamentale per stabilire connessioni sicure alle tue applicazioni.
console
Per creare un gateway sicuro:
- Nella console Google Cloud , vai alla pagina Gateway sicuro.
Vai al gateway sicuro - Seleziona il progetto per cui vuoi creare il gateway sicuro.
- Per creare un gateway sicuro, fai clic su Crea nuovo gateway e attendi il completamento del processo di creazione del gateway. Puoi monitorare l'avanzamento nella sezione Notifiche della console Google Cloud .
gcloud
Per creare un gateway sicuro utilizzando gcloud, esegui questo comando:
gcloud beyondcorp security-gateways create SECURITY_GATEWAY_ID \ --project=PROJECT_ID \ --location=global \ --display-name="SECURITY_GATEWAY_DISPLAY_NAME" \ --service-discovery={}
REST
Per creare un gateway sicuro utilizzando l'API REST, esegui questo comando:
curl \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -X POST \ -d '{ "display_name": "SECURITY_GATEWAY_DISPLAY_NAME", "service_discovery": {} }' \ "https://beyondcorp.googleapis.com/v1/projects/PROJECT_ID/locations/global/securityGateways?security_gateway_id=SECURITY_GATEWAY_ID"
Configura un'applicazione web privata
Prima di poter definire risorse applicative specifiche nel gateway sicuro, devi configurare le autorizzazioni e le impostazioni della rete necessarie per abilitare la connettività e il routing corretto.
Concedi le autorizzazioni al service account
Per inviare correttamente il traffico alla tua rete VPC, il gateway sicuro necessita di determinate autorizzazioni IAM concesse al suo service account di delega. In questo modo, il gateway sicuro può raggiungere le tue applicazioni private, indipendentemente dal fatto che siano ospitate all'interno di un VPC o in un ambiente non-VPC connesso tramite Cloud VPN o Cloud Interconnect. Google Cloud Google Cloud
Per concedere le autorizzazioni al account di servizio:
-
Ottieni i dettagli del gateway sicuro per identificare l'email dell'account di servizio di delega. L'email si trova nel campo
delegatingServiceAccountdella risposta.gcloud
gcloud beyondcorp security-gateways describe SECURITY_GATEWAY_ID \ --project=PROJECT_ID \ --location=global
REST
curl \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://beyondcorp.googleapis.com/v1/projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID"
-
Imposta le variabili di ambiente per il account di servizio e il progetto VPC di destinazione. Per ottenere l'email del account di servizio, puoi utilizzare il seguente comando:
DELEGATING_SERVICE_ACCOUNT=`gcloud beyondcorp security-gateways describe SECURITY_GATEWAY_ID --project=PROJECT_ID --location=global --format="value(delegatingServiceAccount)"`
-
Concedi il ruolo IAM
roles/beyondcorp.upstreamAccessall'account di servizio di delega nel tuo progetto VPC privato. Sostituiscigcloud projects add-iam-policy-binding
PRIVATE_VPC_PROJECT_ID\ --role=roles/beyondcorp.upstreamAccess \ --member=serviceAccount:DELEGATING_SERVICE_ACCOUNTPRIVATE_VPC_PROJECT_IDcon l'ID progetto della rete VPC in cui è distribuita l'app web privata o in cui è configurata Cloud VPN/Interconnect.
Attendi circa due minuti affinché la policy Identity and Access Management venga applicata dopo aver concesso il ruolo.
Configura il routing di rete e le regole firewall
Per consentire al traffico proveniente dal gateway sicuro di raggiungere le tue applicazioni web private, configura le regole firewall, il routing di rete e le impostazioni DNS.
Regole firewall per le applicazioni in Google Cloud
Se la tua applicazione web privata è ospitata all'interno della tua rete VPC Google Cloud , ad esempio su una VM Compute Engine, un servizio Google Kubernetes Engine con un IP interno o dietro un bilanciamento del carico TCP/UDP interno, configura le regole firewall VPCGoogle Cloud . Ciò consente il traffico TCP in entrata dall'intervallo IP del gateway sicuro: 136.124.16.0/20.
gcloud
Per creare una regola firewall utilizzando gcloud, esegui questo comando:
gcloud compute firewall-rules create FIREWALL_RULE_NAME \ --project=PRIVATE_VPC_PROJECT_ID \ --network=NETWORK_NAME \ --allow=tcp \ --source-ranges=136.124.16.0/20
Sostituisci quanto segue:
FIREWALL_RULE_NAME: un nome per la regola firewall.PRIVATE_VPC_PROJECT_ID: l'ID del progetto in cui è ospitata la tua rete VPC.NETWORK_NAME: il nome della rete VPC in cui è ospitata l'applicazione.
Regole firewall per le applicazioni in ambienti nonGoogle Cloud
Se la tua applicazione web privata si trova in un data center on-premise o nella rete di un altro provider cloud ed è connessa al tuo Google CloudVPC utilizzando Cloud VPN o Cloud Interconnect, configura le regole firewall sul firewall on-premise o i controlli di sicurezza di rete equivalenti, come gruppi di sicurezza e ACL di rete, nell'altro ambiente cloud. Ciò consente
il traffico TCP in entrata dall'intervallo IP del gateway sicuro: 136.124.16.0/20.
Configurare il routing dagli ambienti nonGoogle Cloud a un gateway sicuro
Per facilitare la comunicazione bidirezionale per le applicazioni private ospitate in ambienti nonGoogle Cloud , come on-premise o altri cloud, la tua rete esterna deve creare un percorso di ritorno all'intervallo IP del gateway sicuro seguente: 136.124.16.0/20.
Verifica che la tua rete privata possa raggiungere gli intervalli IP del gateway sicuro tramite Cloud VPN o Cloud Interconnect:
Routing dinamico: se utilizzi il routing dinamico, ad esempio Border Gateway Protocol (BGP) con router Cloud, verifica che router Cloud in Google Cloud pubblicizzi esplicitamente gli intervalli IP del gateway sicuro al tuo dispositivo BGP on-premise. Sebbene BGP scambi dinamicamente molte route, gli intervalli IP del gateway sicuro richiedono una pubblicità esplicita.
gcloud
Per verificare se l'intervallo di origine viene pubblicizzato, esegui questo comando:
gcloud compute routers list-bgp-routes ROUTER_NAME \ --peer=PEER_NAME \ --region=REGION \ --project=PROJECT_ID \ --route-direction=OUTBOUND \ --address-family=IPV4 \ --destination-range=136.124.16.0/20
Sostituisci quanto segue:
- ROUTER_NAME: il nome del router Cloud.
- PEER_NAME: il nome del peer BGP.
- REGION: la regione in cui si trova il router.
- PROJECT_ID: l'ID del progetto che contiene il router.
Routing statico: se utilizzi route statici, devi aggiungere manualmente route per ciascuno degli intervalli IP del gateway sicuro sulle apparecchiature di rete on-premise, come il router o il firewall. Queste route statiche devono specificare che il traffico destinato agli intervalli IP del gateway sicuro deve essere inviato tramite la connessione Cloud VPN o Cloud Interconnect.
Quando utilizzi il routing statico, Cloud VPN deve trovarsi in una delle seguenti regioni supportate:
africa-south1asia-east1asia-south1asia-south2asia-southeast1europe-central2europe-north1europe-southwest1europe-west1europe-west2europe-west3europe-west4europe-west8europe-west9northamerica-northeast1northamerica-northeast2northamerica-south1southamerica-east1southamerica-west1us-central1us-east1us-east4us-east5us-west1
Configurazione DNS per la risoluzione del nome host privato del gateway sicuro
Affinché il gateway sicuro risolva i nomi host delle applicazioni private, la tua rete VPCGoogle Cloud deve essere in grado di risolvere i nomi host utilizzando Cloud DNS. La configurazione specifica di Cloud DNS dipende dalla posizione in cui sono ospitati in modo autorevole i record DNS privati:
Applicazioni all'interno di Google Cloud che utilizzano zone private Cloud DNS: se le tue applicazioni private sono ospitate in Google Cloud e i relativi record DNS sono gestiti all'interno di zone private Cloud DNS associate alla tua rete VPC, verifica che le zone siano configurate e accessibili correttamente. Il gateway sicuro utilizza le funzionalità di risoluzione Cloud DNS esistenti del tuo VPC.
Applicazioni in ambienti nonGoogle Cloud o che utilizzano server DNS esterni: se le tue applicazioni private si trovano in ambienti nonGoogle Cloud(on-premise o altri cloud) o se i loro record DNS sono gestiti da server DNS esterni alle zone private Cloud DNS del tuo VPC, devi configurare Cloud DNS per inoltrare le query per questi domini privati. In genere, ciò comporta la creazione di zone di forwarding Cloud DNS all'interno del VPC. Queste zone indirizzeranno le query DNS per i domini privati specificati ai server DNS privati autorevoli, ad esempio on-premise o altri cloud.
Per istruzioni dettagliate sulla configurazione DNS, consulta Crea una zona di forwarding.
Crea una risorsa applicazione
Per fornire l'accesso a un'applicazione web privata, devi stabilire l'applicazione all'interno del framework del gateway sicuro creando una risorsa applicazione. Questa risorsa definisce in che modo il gateway sicuro identifica il traffico per la tua applicazione (in base al nome host) e dove indirizzarlo.
-
Imposta le variabili di ambiente richieste eseguendo questo comando:
Sostituisci quanto segue:APPLICATION_ID=
APPLICATION_IDAPP_DISPLAY_NAME="APP_DISPLAY_NAME" HOST_NAME=HOST_NAMEPRIVATE_NETWORK_RESOURCE_NAME=PRIVATE_NETWORK_RESOURCE_NAMEAPPLICATION_ID: un ID univoco per la risorsa applicazione.APP_DISPLAY_NAME: Il nome leggibile da visualizzare.HOST_NAME: il nome host principale a cui accedono gli utenti (ad esempio,private.local).PRIVATE_NETWORK_RESOURCE_NAME: il nome completo della risorsa della rete VPC (ad esempio,projects/my-project/global/networks/my-network).
-
Crea la risorsa dell'applicazione.
console
Per creare la risorsa applicazione utilizzando la console Google Cloud :
- Nella console Google Cloud , vai alla pagina Gateway sicuro.
Vai al gateway sicuro - Per aggiungere un'applicazione, fai clic su Aggiungi applicazione.
- Seleziona il tipo di applicazione: Applicazione privata.
- Inserisci i dettagli dell'applicazione:
- Nome applicazione: inserisci un nome, ad esempio
GitHub. - Corrispondenze di dominio: inserisci un elenco separato da virgole di pattern di dominio da instradare tramite il gateway sicuro. Includi la porta nel formato
domain:port. I caratteri jolly (*) sono consentiti. Ad esempio:github.com:443.
- Nome applicazione: inserisci un nome, ad esempio
- Configura rete VPC:
- Nel progetto attuale: se la rete VPC si trova nel progetto attuale, scegli la rete VPC dal menu a discesa.
- In un altro progetto: se la rete VPC si trova in un progetto Google Cloud diverso, specifica il nome completo della risorsa della rete VPC, ad esempio
projects/my-project/global/networks/my-network.
- (Facoltativo) Definisci la norma di uscita: seleziona una o più Google Cloud regioni dal menu a discesa.
- (Facoltativo) Definisci una policy di accesso: seleziona una policy di accesso di Gestore contesto accesso. Puoi saltare questo passaggio per questa guida.
- Per creare la risorsa applicazione, fai clic su Crea.
gcloud
Per creare la risorsa dell'applicazione utilizzando gcloud, esegui questo comando:
gcloud beyondcorp security-gateways applications create APPLICATION_ID \ --project=PROJECT_ID \ --security-gateway=SECURITY_GATEWAY_ID \ --location=global \ --display-name="APP_DISPLAY_NAME" \ --endpoint-matchers="hostname=HOST_NAME,ports=[443]" \ --upstreams=network=name="PRIVATE_NETWORK_RESOURCE_NAME"
Per specificare una regione in uscita (ad esempio, quando utilizzi route statiche), aggiungi il flag
--egress-regions:gcloud beyondcorp security-gateways applications create APPLICATION_ID \ --project=PROJECT_ID \ --security-gateway=SECURITY_GATEWAY_ID \ --location=global \ --display-name="APP_DISPLAY_NAME" \ --endpoint-matchers="hostname=HOST_NAME,ports=[443]" \ --upstreams=network=name="PRIVATE_NETWORK_RESOURCE_NAME",egressPolicy=regions=us-central1
Sostituisci
us-central1con la Google Cloud regione (ad esempioeurope-west1oasia-northeast1) che corrisponde alla configurazione del routing statico regionale. Se non hai requisiti specifici di routing statico regionale, puoi omettere la policy di uscita dalla configurazione.REST
Per creare una risorsa applicazione con l'API, completa i seguenti passaggi:
Crea un file denominato
application.json.{ "display_name": "
APP_DISPLAY_NAME", "endpoint_matchers": [ {"hostname": "HOST_NAME", "ports": [443]} ], "upstreams": [{ "network": { "name": "PRIVATE_NETWORK_RESOURCE_NAME" } }] }Per specificare una regione in uscita (ad esempio, quando utilizzi route statiche), aggiungi un
egress_policyalla configurazione upstream:{ "display_name": "
APP_DISPLAY_NAME", "endpoint_matchers": [ {"hostname": "HOST_NAME", "ports": [443]} ], "upstreams": [{ "network": { "name": "PRIVATE_NETWORK_RESOURCE_NAME" }, "egress_policy": { "regions": [ "us-central1" ] } }] }Sostituisci
us-central1con la Google Cloud regione (ad esempioeurope-west1oasia-northeast1) che corrisponde alla configurazione del routing statico regionale. Se non hai requisiti specifici di routing statico regionale, puoi omettere la policy di uscita dalla configurazione.Chiama il metodo API
Create.curl \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -X POST \ -d @application.json \ "https://beyondcorp.googleapis.com/v1/projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID/applications?application_id=APPLICATION_ID"
- Nella console Google Cloud , vai alla pagina Gateway sicuro.
Configura una policy di accesso
Puoi applicare una policy di accesso per controllare l'accesso a livello di applicazione. Se non viene configurata alcuna policy di accesso, l'accesso all'applicazione viene negato per impostazione predefinita.
console
Crea una policy per più applicazioni
Per configurare una policy di accesso:
- Per creare una policy che si applichi a più applicazioni collegate al gateway sicuro, vai alla pagina Policy.
Vai a Norme - Per aggiungere policy di accesso alle applicazioni, fai clic su Crea policy.
- Nell'elenco a discesa, seleziona le applicazioni a cui vuoi che vengano applicati i criteri.
- Aggiungi entità alla policy:
Le entità possono essere utenti, gruppi, domini o service account. A queste entità viene concesso o negato l'accesso in base ai livelli di accesso che assegni.
- Per aggiungere un'entità, fai clic su Aggiungi entità.
- Nel campo Entità, inserisci l'indirizzo email dell'utente, del gruppo, del account di servizio o il nome di dominio.
- Nel menu a discesa Livelli di accesso, seleziona uno o più livelli di accesso sensibile al contesto predefiniti. L'accesso viene concesso solo se l'entità soddisfa le condizioni dei livelli di accesso selezionati.
Per aggiungere altre entità, fai di nuovo clic su Aggiungi entità e ripeti i passaggi secondari.
Puoi creare e gestire i livelli di accesso in Gestore contesto accesso.
- Per applicare la policy all'applicazione, fai clic su Crea policy.
Modificare una policy di accesso a livello di applicazione
- Per modificare una policy per una singola applicazione, vai alla pagina Applicazioni.
Vai ad Applicazioni - Per trovare l'applicazione che vuoi modificare:
- Nell'elenco Applicazioni, cerca l'applicazione che vuoi modificare.
- Per visualizzare i dettagli dell'applicazione, fai clic sul menu Altre azioni () e seleziona Visualizza dettagli.
- Per modificare la richiesta, fai clic su Modifica.
- Aggiungi entità alla policy:
Le entità possono essere utenti, gruppi, domini o service account. A queste entità viene concesso o negato l'accesso in base ai livelli di accesso che assegni.
- Per aggiungere un'entità, fai clic su Aggiungi entità.
- Nel campo Entità, inserisci l'indirizzo email dell'utente, del gruppo, del account di servizio o il nome di dominio.
- Nell'elenco a discesa Livelli di accesso, seleziona uno o più livelli di accesso sensibile al contesto predefiniti. L'accesso viene concesso solo se l'entità soddisfa le condizioni dei livelli di accesso selezionati.
Per aggiungere altre entità, fai di nuovo clic su Aggiungi entità e ripeti i passaggi secondari.
Puoi creare e gestire i livelli di accesso in Gestore contesto accesso.
- Per applicare la policy all'applicazione, fai clic su Salva.
gcloud
Aggiornare in sicurezza una policy di accesso
Il comando setIamPolicy sostituisce l'intera policy esistente con quella che
fornisci. Per evitare di rimuovere accidentalmente le autorizzazioni esistenti, ti consigliamo di utilizzare il seguente pattern "lettura-modifica-scrittura". Questo pattern aiuta
a evitare la rimozione accidentale delle autorizzazioni esistenti.
- Read: recupera la policy di accesso corrente.
- Modifica: modifica il file di criteri localmente per aggiungere o modificare le autorizzazioni.
- Scrittura: applica il file della policy aggiornata.
Imposta un criterio a livello di gateway Service Discovery
Prima di concedere a un utente l'accesso a un'applicazione, assicurati che disponga delle autorizzazioni Service Discovery a livello di Secure Gateway. Dovrai impostare una policy di accesso seguendo lo stesso pattern "read-modify-write".
Recupera il criterio corrente e salvalo in un file denominato gateway_policy.json.
gcloud beta beyondcorp security-gateways get-iam-policy SECURITY_GATEWAY_ID \ --project=PROJECT_ID \ --location=global > gateway_policy.json
Poi, apri il file gateway_policy.json in un editor di testo e aggiungi i principal richiesti all'elenco members per il ruolo roles/beyondcorp.serviceDiscoveryUser, in modo simile alle modifiche a livello di applicazione.
Il file gateway_policy.json è simile al seguente esempio:
{ "version": 3, "bindings": [ { "role": "roles/beyondcorp.serviceDiscoveryUser", "members": [ "group:existing-group@example.com" ] } ], "etag": "BwXN8_d-bOM=" }
Puoi anche aggiungere altri tipi di membri, come serviceAccount, user,
group, principal e principalSet, nei binding dei criteri. Per saperne di più, consulta Entità IAM.
Applica le norme aggiornate:
gcloud beta beyondcorp security-gateways set-iam-policy SECURITY_GATEWAY_ID gateway_policy.json \ --project=PROJECT_ID \ --location=global
Imposta una policy di accesso a livello di applicazione
Ottieni la norma attuale
Recupera la policy attuale. Il campo etag impedisce aggiornamenti in conflitto se più amministratori apportano modifiche contemporaneamente.
Il seguente comando recupera la policy e la salva in un file denominato
policy.json.
gcloud beta beyondcorp security-gateways applications get-iam-policy APPLICATION_ID \ --security-gateway=SECURITY_GATEWAY_ID \ --project=PROJECT_ID \ --location=global > policy.json
Sostituisci quanto segue:
APPLICATION_ID: l'ID della risorsa applicazioneSECURITY_GATEWAY_ID: l'ID del gateway sicuroPROJECT_ID: l'ID del progetto in cui è configurato il gateway sicuro
Il comando crea un file policy.json che contiene la policy attuale.
Modificare il file di criteri
Apri il file policy.json in un editor di testo. Per concedere a un gruppo l'accesso per utilizzare il
gateway sicuro, aggiungi il gruppo all'elenco members per il
ruolo roles/beyondcorp.sgApplicationUser.
Il file policy.json è simile al seguente esempio:
{ "version": 3, "bindings": [ { "role": "roles/beyondcorp.sgApplicationUser", "members": [ "group:existing-group@example.com" ] } ], "etag": "BwXN8_d-bOM=" }
Per aggiungere un altro gruppo, aggiungi una nuova voce all'array members. Inserisci una
virgola dopo la voce precedente.
L'esempio seguente aggiunge new-group@example.com:
{ "version": 3, "bindings": [ { "role": "roles/beyondcorp.sgApplicationUser", "members": [ "group:existing-group@example.com", "group:new-group@example.com" ] } ], "etag": "BwXN8_d-bOM=" }
Puoi anche aggiungere altri tipi di membri, come serviceAccount, user,
group, principal e principalSet, nei binding dei criteri. Per saperne di più, consulta Entità IAM.
Applica le norme aggiornate
Dopo aver modificato e salvato il file policy.json, applicalo alla risorsa utilizzando il comando setIamPolicy. Questo comando utilizza etag dal file per
assicurarti di aggiornare la versione corretta.
gcloud beta beyondcorp security-gateways applications set-iam-policy APPLICATION_ID policy.json \ --security-gateway=SECURITY_GATEWAY_ID \ --project=PROJECT_ID \ --location=global
Sostituisci quanto segue:
APPLICATION_ID: l'ID della risorsa applicazioneSECURITY_GATEWAY_ID: l'ID del gateway sicuroPROJECT_ID: l'ID del progetto in cui è configurato il gateway sicuro
Aggiungere una policy di accesso condizionale
Puoi anche impostare policy di accesso con condizioni. Le condizioni specificano requisiti, ad esempio l'indirizzo IP di un utente proveniente da una posizione specifica. Il livello di accesso può essere definito in una policy di accesso a livello di organizzazione o in una policy di accesso con ambito.
La seguente policy di esempio concede l'accesso solo se l'indirizzo IP di origine rientra in un livello di accesso specificato:
{
"version": 3,
"bindings": [
{
"role": "roles/beyondcorp.sgApplicationUser",
"members": [
"group:group@example.com"
],
"condition": {
"expression": "request.auth.access_levels.contains('accessPolicies/1234567890/accessLevels/in_us')",
"title": "Source IP must be in US"
}
}
],
"etag": "BwXN8_d-bOM="
}
Per applicare queste norme, segui i passaggi descritti in precedenza.
REST
Aggiornare in sicurezza una policy di accesso
Il comando setIamPolicy sostituisce l'intera policy esistente con quella che
fornisci. Per evitare di rimuovere accidentalmente le autorizzazioni esistenti, ti consigliamo di utilizzare il seguente pattern "lettura-modifica-scrittura". Questo pattern aiuta
a evitare la rimozione accidentale delle autorizzazioni esistenti.
- Read (Lettura): salva la policy di accesso corrente in un file.
- Modifica: modifica il file di criteri localmente per aggiungere o modificare le autorizzazioni.
- Scrittura: applica il file della policy aggiornata.
Imposta un criterio a livello di gateway Service Discovery
Per concedere le autorizzazioni di service discovery, devi impostare una policy di accesso sul gateway di sicurezza anziché su una singola applicazione. Segue lo stesso pattern "read-modify-write".
Recupera il criterio corrente e salvalo in un file denominato gateway_policy.json.
curl \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://beyondcorp.googleapis.com/v1/projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID:getIamPolicy" > gateway_policy.json
Poi, apri il file gateway_policy.json in un editor di testo e aggiungi i principal richiesti all'elenco members per il ruolo roles/beyondcorp.serviceDiscoveryUser, in modo simile alle modifiche a livello di applicazione.
Il file gateway_policy.json è simile al seguente esempio:
{ "version": 3, "bindings": [ { "role": "roles/beyondcorp.serviceDiscoveryUser", "members": [ "group:existing-group@example.com" ] } ], "etag": "BwXN8_d-bOM=" }
Puoi anche aggiungere altri tipi di membri, come serviceAccount, user,
group, principal e principalSet, nei binding dei criteri. Per saperne di più, consulta Entità IAM.
Applica le norme aggiornate:
jq '{policy: .}' gateway_policy.json | curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d @- \ "https://beyondcorp.googleapis.com/v1/projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID:setIamPolicy"
Imposta una policy di accesso a livello di applicazione
Ottieni la norma attuale
Recupera la policy attuale. Il campo etag impedisce aggiornamenti in conflitto se più amministratori apportano modifiche contemporaneamente.
Il seguente comando recupera la policy e la salva in un file denominato
policy.json.
curl \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://beyondcorp.googleapis.com/v1/projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID/applications/APPLICATION_ID:getIamPolicy" > policy.json
Sostituisci quanto segue:
PROJECT_ID: l'ID del progetto in cui è configurato il gateway sicuroSECURITY_GATEWAY_ID: l'ID del gateway sicuroAPPLICATION_ID: l'ID della risorsa applicazione
Il comando crea un file policy.json che contiene la policy attuale.
Modificare il file di criteri
Per concedere a un gruppo l'accesso per utilizzare il gateway sicuro:
- Apri il file
policy.jsonin un editor di testo. - Aggiungi il gruppo all'elenco
membersper il ruoloroles/beyondcorp.securityGatewayUser.
Il file policy.json è simile al seguente esempio:
{ "version": 3, "bindings": [ { "role": "roles/beyondcorp.sgApplicationUser", "members": [ "group:existing-group@example.com" ] } ], "etag": "BwXN8_d-bOM=" }
Per aggiungere un altro gruppo, aggiungi una nuova voce all'array members. Inserisci una
virgola dopo la voce precedente.
L'esempio seguente aggiunge new-group@example.com:
{ "version": 3, "bindings": [ { "role": "roles/beyondcorp.sgApplicationUser", "members": [ "group:existing-group@example.com", "group:new-group@example.com" ] } ], "etag": "BwXN8_d-bOM=" }
Puoi anche aggiungere altri tipi di membri, come serviceAccount, user,
group, principal e principalSet, nei binding dei criteri. Per saperne di più, consulta Entità IAM.
Applica le norme aggiornate
Dopo aver modificato e salvato il file policy.json, applicalo alla risorsa utilizzando il comando setIamPolicy. Questo comando utilizza etag dal file per
assicurarti di aggiornare la versione corretta.
jq '{policy: .}' policy.json | curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d @- \ "https://beyondcorp.googleapis.com/v1/projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID/applications/APPLICATION_ID:setIamPolicy"
Sostituisci quanto segue:
PROJECT_ID: l'ID del progetto in cui è configurato il gateway sicuroSECURITY_GATEWAY_ID: l'ID del gateway sicuroAPPLICATION_ID: l'ID della risorsa applicazione
Aggiungere una policy di accesso condizionale
Puoi anche impostare policy di accesso con condizioni. Le condizioni specificano requisiti, ad esempio l'indirizzo IP di un utente proveniente da una posizione specifica. Il livello di accesso può essere definito in una policy di accesso a livello di organizzazione o in una policy di accesso con ambito.
La seguente policy di esempio concede l'accesso solo se l'indirizzo IP di origine rientra in un livello di accesso specificato:
{ "version": 3, "bindings": [ { "role": "roles/beyondcorp.sgApplicationUser", "members": [ "group:group@example.com" ], "condition": { "expression": "request.auth.access_levels.contains('accessPolicies/1234567890/accessLevels/in_us')", "title": "Source IP must be in US" } } ], "etag": "BwXN8_d-bOM=" }
Per applicare queste norme, segui i passaggi descritti in precedenza.
Migliorare la sicurezza con l'accesso sensibile al contesto
Per migliorare ulteriormente la sicurezza e garantire che solo le istanze gestite di Google Chrome possano accedere alle tue applicazioni web tramite il gateway di sicurezza, ti consigliamo di aggiungere una regola di accesso sensibile al contesto (CAA). Questa regola verifica che il profilo Chrome dell'utente sia gestito, impedendo potenziali abusi da browser non gestiti o dannosi.
Nota: questa funzionalità richiede l'installazione e la configurazione dell'estensione Endpoint Verification.Puoi implementare questa operazione aggiungendo una condizione ai livelli di accesso personalizzati di Gestore contesto accesso. Ecco un esempio di condizione che puoi adattare:
device.chrome.management_state == ChromeManagementState.CHROME_MANAGEMENT_STATE_PROFILE_MANAGED
Per saperne di più su come configurare, controllare e gestire questo stato, vedi Attributi del browser Chrome.
Installa l'estensione Chrome Enterprise Premium
L'estensione Chrome Enterprise Premium è parte integrante di un gateway sicuro e aiuta con l'autenticazione. Installa l'estensione per tutti gli utenti del gateway sicuro. Per informazioni sul deployment dell'estensione, vedi Visualizzare e configurare app ed estensioni. Per installare l'estensione Chrome Enterprise Premium:
- Vai alla Console di amministrazione Google.
- Fai clic su Browser Chrome > App ed estensioni.
- Fai clic sulla scheda Utenti e browser.
- Per aggiungere l'estensione di Chrome, fai clic sul pulsante + e poi seleziona Aggiungi app o estensione di Chrome in base all'ID.
Cerca l'estensione Secure Enterprise Browser utilizzando il seguente ID, quindi imposta il criterio di installazione su Forza installazione per tutti gli utenti dell'unità organizzativa o del gruppo:
ekajlcmdfcigmdbphhifahdfjbkciflj
Fai clic sull'estensione installata e, nel campo Criterio per le estensioni, inserisci il seguente valore JSON:
{ "securityGateway": { "Value": { "authentication": {}, "context": { "resource": "projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID" }, "serviceDiscovery": { "routes": {} } } } }
Sostituisci quanto segue:
PROJECT_ID: l'ID del progetto in cui è configurato il gateway sicuroSECURITY_GATEWAY_ID: l'ID del gateway sicuro
Per salvare la configurazione, fai clic su Salva.
Configurazione legacy del file PAC
Se attivato, Service Discovery consente al client del browser Chrome di rilevare e instradare automaticamente il traffico verso le applicazioni configurate tramite il gateway sicuro, eliminando la necessità di configurazioni di routing manuali utilizzando un file PAC.
Se Service Discovery non è abilitato sul gateway sicuro, hai una configurazione legacy. Dovrai configurare un file PAC per controllare il routing sul client del browser Chrome.
Per verificare se hai la configurazione legacy, utilizza i seguenti comandi per vedere se Service Discovery è abilitato:
gcloud
gcloud beyondcorp security-gateways describe SECURITY_GATEWAY_ID \ --project=PROJECT_ID \ --location=global | grep -i "serviceDiscovery"
REST
curl --silent \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://beyondcorp.googleapis.com/v1/projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID" | grep -i "serviceDiscovery"
Se il comando non restituisce alcun output, il gateway utilizza la configurazione precedente. Per i gateway che utilizzano la configurazione precedente, il routing viene gestito utilizzando un file PAC ospitato.
Passaggio 1: crea e ospita il file PAC
Crea un file denominato
pac_config.jscon il seguente codice JavaScript, sostituendoHOST_NAMEcon il dominio della tua applicazione (ad esempio,myapp.example.com):function FindProxyForURL(url, host) { const PROXY = "HTTPS via.prod.securegateway.goog:443"; const sites = ["HOST_NAME"]; for (const site of sites) { if (shExpMatch(url, 'https://' + site + '/*') || shExpMatch(url, '*.' + site + '/*')) { return PROXY; } } return 'DIRECT'; }
Carica il file PAC su un servizio di hosting, ad esempio un bucket Cloud Storage.
- Assicurati che il file sia scaricabile pubblicamente.
- Imposta l'intestazione HTTP
Cache-Controlsuno-cachein modo che i browser recuperino sempre le regole di routing più recenti.
Copia l'URL pubblico del file PAC caricato.
Passaggio 2: applica il file PAC nella Console di amministrazione Google
- Vai alla Console di amministrazione Google.
- Vai a Dispositivi > Chrome > Impostazioni.
- Seleziona la tua unità organizzativa o il tuo gruppo, quindi fai clic su Modalità proxy.
- In Modalità proxy, seleziona Utilizza sempre la configurazione automatica proxy specificata di seguito.
- Inserisci l'URL pubblico del file PAC ospitato nel campo fornito.
- Fai clic su Salva.
Passaggio 3: configura l'estensione Chrome Enterprise Premium
L'estensione è necessaria per gestire l'autenticazione. Queste norme per le estensioni differiscono dalla configurazione standard perché escludono il blocco serviceDiscovery.
- Nella Console di amministrazione Google, vai a Browser Chrome > App ed estensioni.
- Vai alla scheda Utenti e browser e assicurati che l'estensione Secure Enterprise Browser (
ekajlcmdfcigmdbphhifahdfjbkciflj) sia aggiunta e applicata. Fai clic sull'estensione e, nel campo Criteri per le estensioni, inserisci il seguente valore JSON:
{ "securityGateway": { "Value": { "authentication": {}, "context": { "resource": "projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID" } } } }
Fai clic su Salva.
Passa alla configurazione del Service Discovery
Per eseguire la transizione del gateway sicuro legacy dalla configurazione del file PAC alla configurazione di Service Discovery più recente, devi attivare manualmente la funzionalità e aggiornare le configurazioni.
Attiva Service Discovery sul gateway sicuro: aggiorna il gateway esistente per attivare Service Discovery.
gcloud
gcloud beyondcorp security-gateways update SECURITY_GATEWAY_ID \ --project=PROJECT_ID \ --location=global \ --service-discovery={}
REST
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "service_discovery": {} }' \ "https://beyondcorp.googleapis.com/v1/projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID?updateMask=service_discovery"
Imposta il criterio di accesso a livello di gateway: concedi agli utenti il ruolo
roles/beyondcorp.serviceDiscoveryUsera livello di gateway in modo che possano utilizzare Service Discovery. Segui le istruzioni nella sezione Impostare un criterio a livello di gateway Service Discovery.Aggiorna la configurazione dell'estensione Chrome Enterprise Premium: segui le istruzioni nella sezione Installare l'estensione Chrome Enterprise Premium per aggiornare la policy dell'estensione. La nuova configurazione JSON deve includere il blocco
"serviceDiscovery": { "routes": {} }.Rimuovi il file PAC legacy: una volta attivata Service Discovery, il file PAC legacy non è più necessario.
- Nella Console di amministrazione Google, vai a Dispositivi > Chrome > Impostazioni > Impostazioni utente e browser > Rete.
- Individua l'impostazione Modalità proxy.
- Rimuovi l'URL di configurazione automatica proxy (PAC) o cambia l'impostazione da Utilizza sempre la configurazione automatica proxy specificata di seguito a una modalità appropriata per la tua rete, ad esempio Consenti all'utente di eseguire la configurazione.
- Fai clic su Salva.
Esperienza utente finale
Al termine della configurazione, agli utenti finali che accedono all'applicazione SaaS protetta viene concesso o negato l'accesso in base al criterio di accesso applicato all'applicazione.
Accedere all'applicazione in Chrome
L'estensione Chrome Enterprise Premium è necessaria per indirizzare il traffico attraverso il gateway sicuro. L'estensione gestisce l'autenticazione tra l'utente e il gateway sicuro. L'estensione viene installata automaticamente tramite la policy del dominio.
Quando gli utenti accedono all'applicazione SaaS che hai configurato, il loro traffico passa attraverso il gateway sicuro, che verifica se soddisfano i criteri di accesso. Se gli utenti superano i controlli dei criteri di accesso, viene concesso loro l'accesso all'applicazione.
Quando l'accesso del browser all'applicazione viene rifiutato dal criterio di autorizzazione,
gli utenti ricevono un messaggio Access denied.