Questa pagina ti guida nella procedura di protezione delle tue applicazioni SaaS tramite il gateway sicuro di Chrome Enterprise Premium.
Un gateway sicuro di Chrome Enterprise Premium funziona come un 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 SaaS.
Come funziona la protezione dell'accesso alle applicazioni SaaS
Di seguito è riportata una panoramica generale di come un gateway sicuro protegge le tue applicazioni SaaS:
- Le impostazioni del browser lato client instradano il traffico dell'applicazione attraverso un proxy gateway sicuro.
- Il gateway sicuro controlla le policy di accesso sensibile al contesto per autorizzare l'accesso del client (utente e dispositivo).
- Se l'accesso client è consentito, il gateway inoltra il traffico all'applicazione utilizzando indirizzi IP di origine univoci assegnati al gateway e alla regione Google Cloud. Questi indirizzi IP assegnati sono riservati esclusivamente al gateway che crei e non possono essere utilizzati da altri utenti o gateway. Per controllare l'accesso, puoi aggiungere questi indirizzi IP di origine dedicati a una lista consentita nella tua applicazione SaaS.
Ruoli obbligatori
Chiedi all'amministratore di concederti i seguenti ruoli:
Cloud BeyondCorp Admin (
roles/beyondcorp.admin) per configurare Chrome Enterprise Premium nel 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).
Policy di Chrome Enterprise obbligatorie
L'autenticazione del proxy del gateway sicuro richiede lo schema di autenticazione HTTP Basic. Se configuri le policy di autenticazione di Chrome Enterprise per la tua organizzazione, verifica le seguenti impostazioni delle policy:
AuthSchemesdeve includere l'autenticazionebasic(attivata per impostazione predefinita se la policy non è configurata). Altri valori di questa policy non influiscono sull'autenticazione del proxy del gateway sicuro.BasicAuthOverHttpEnableddeve essere impostato su0(falseo disattivato) per impedire alle connessioni HTTP non sicure di utilizzare lo schema di autenticazioneBasic.
Prima di iniziare
Prima di configurare il gateway sicuro, verifica di avere:
- Una licenza Chrome Enterprise Premium.
- Accesso alla Console di amministrazione Google con un account amministratore.
- I servizi Google aggiuntivi senza controllo individuale sono attivati.
- Il servizioGoogle Cloud è attivo per i tuoi utenti.
Un progetto Google Cloud con un account di fatturazione assegnato e la seguente API abilitata: API BeyondCorp
Un'applicazione SaaS che vuoi proteggere. L'applicazione deve supportare
IP allowlistingper applicare i controlli di sicurezza da parte del gateway sicuro.
Limitazioni
Un gateway sicuro di Chrome Enterprise Premium presenta le seguenti limitazioni:
- Connettività IPv6: il gateway sicuro di Chrome Enterprise Premium non supporta le applicazioni SaaS che utilizzano la connettività IPv6.
- Provider di identità come applicazione SaaS: un provider di identità non deve essere configurato come applicazione SaaS per essere protetto dal gateway sicuro se l'autenticazione dell'utente finale con il gateway sicuro dipende dallo stesso IdP.
Configura l'ambiente shell
Per semplificare il processo 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_IDAPPLICATION_ID=APPLICATION_IDAPPLICATION_DISPLAY_NAME="APPLICATION_DISPLAY_NAME" HOST_NAME=HOST_NAMESostituisci quanto segue:
PROJECT_ID: l'ID del progetto in cui viene creato il gateway sicuro.APPLICATION_ID: l'ID della tua applicazione, ad esempiogithub. Il nome può contenere fino a 63 caratteri e può includere lettere minuscole, numeri e trattini. Il primo carattere deve essere una lettera e l'ultimo può essere una lettera o un numero.APPLICATION_DISPLAY_NAME: il nome leggibile da visualizzare.HOST_NAME: il nome host della tua applicazione. Ad esempio,github.com. Il nome host può contenere fino a 253 caratteri e deve rispettare uno dei seguenti formati:- Un indirizzo IPv4 valido
- Un indirizzo IPv6 valido
- Un nome DNS valido
- Un asterisco (*)
- Un asterisco (*) seguito da un nome DNS valido
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. 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 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 solo caratteri stampabili.
Crea un gateway sicuro
Un gateway sicuro di Chrome Enterprise Premium è un elemento fondamentale per stabilire connessioni sicure alle tue applicazioni. Assegna un progetto e una rete dedicati, garantendo isolamento e sicurezza.
console
Per creare una risorsa 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 .
- Prima di creare una risorsa dell'applicazione SaaS, ti consigliamo di creare hub in uscita SaaS. Il flag
hubsrappresenta le risorse regionali necessarie per abilitare la connettività in uscita all'applicazione di destinazione. Puoi configurare un hub per ogni regione e ogni hub fornisce due indirizzi IP. Un gateway sicuro può avere al massimo 20 hub. Puoi specificare le seguenti regioni:africa-south1asia-east1asia-east2asia-northeast1asia-northeast2asia-northeast3asia-south1asia-south2asia-southeast1asia-southeast2asia-southeast3australia-southeast2europe-central2europe-north1europe-north2europe-southwest1europe-west1europe-west10europe-west12europe-west2europe-west3europe-west4europe-west6europe-west8europe-west9me-central1me-central2me-west1northamerica-northeast1northamerica-northeast2northamerica-south1southamerica-east1southamerica-west1us-central1us-central2us-east1us-east4us-east5us-east7us-south1us-west1us-west2us-west3us-west4us-west8
- Nella console Google Cloud , vai alla pagina Hub di traffico in uscita SaaS.
Vai a Hub in uscita SaaS - Seleziona il progetto per cui vuoi creare gli hub in uscita SaaS.
- Per aggiungere un hub in uscita SaaS, fai clic su Aggiungi hub in uscita SaaS.
- Dall'elenco a discesa, seleziona le regioni in cui vuoi aggiungere gli hub in uscita. Per aggiungere gli hub in uscita, fai clic su Aggiungi hub in uscita SaaS per aggiungere più di un hub. Al termine, fai clic su Salva per creare gli hub in uscita.
gcloud
Per creare una risorsa gateway sicuro, esegui questo comando. Per il flag --hubs, specifica una o più regioni dal seguente elenco.
gcloud beyondcorp security-gateways create SECURITY_GATEWAY_ID \ --project=PROJECT_ID \ --location=global \ --display-name="SECURITY_GATEWAY_DISPLAY_NAME" \ --hubs=us-central1 \ --service-discovery={}
Il flag hubs imposta le risorse regionali necessarie per abilitare la connettività in uscita all'applicazione di destinazione. Puoi avere un hub per ogni regione e ogni hub fornisce due indirizzi IP. Un gateway sicuro può avere al massimo 20 hub. Puoi specificare le seguenti regioni:
africa-south1asia-east1asia-east2asia-northeast1asia-northeast2asia-northeast3asia-south1asia-south2asia-southeast1asia-southeast2asia-southeast3australia-southeast2europe-central2europe-north1europe-north2europe-southwest1europe-west1europe-west10europe-west12europe-west2europe-west3europe-west4europe-west6europe-west8europe-west9me-central1me-central2me-west1northamerica-northeast1northamerica-northeast2northamerica-south1southamerica-east1southamerica-west1us-central1us-central2us-east1us-east4us-east5us-east7us-south1us-west1us-west2us-west3us-west4us-west8
REST
Per creare una risorsa gateway sicuro, chiama il metodo API Create con i dettagli del gateway nel corpo della richiesta. Per il flag hubs, specifica una o più regioni dal seguente elenco.
curl \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -X POST \ -d '{ "display_name": "SECURITY_GATEWAY_DISPLAY_NAME", "hubs": { "us-central1": {} }, "service_discovery": {} }' \ "https://beyondcorp.googleapis.com/v1/projects/PROJECT_ID/locations/global/securityGateways?security_gateway_id=SECURITY_GATEWAY_ID"
Il flag hubs rappresenta le risorse regionali necessarie per abilitare la connettività in uscita all'applicazione di destinazione. Puoi avere un hub per ogni regione e ogni hub fornisce due indirizzi IP. Un gateway sicuro può avere al massimo 20 hub. Puoi specificare le seguenti regioni:
africa-south1asia-east1asia-east2asia-northeast1asia-northeast2asia-northeast3asia-south1asia-south2asia-southeast1asia-southeast2asia-southeast3australia-southeast2europe-central2europe-north1europe-north2europe-southwest1europe-west1europe-west10europe-west12europe-west2europe-west3europe-west4europe-west6europe-west8europe-west9me-central1me-central2me-west1northamerica-northeast1northamerica-northeast2northamerica-south1southamerica-east1southamerica-west1us-central1us-central2us-east1us-east4us-east5us-east7us-south1us-west1us-west2us-west3us-west4us-west8
Configura un'applicazione SaaS
Dopo aver creato un gateway sicuro, puoi configurare le tue applicazioni SaaS in modo che lo utilizzino per l'accesso sicuro.
console
Per configurare gli hub in uscita SaaS, segui questi passaggi:
- Nella console Google Cloud , vai alla pagina Hub di traffico in uscita SaaS.
Vai a Hub in uscita SaaS - Nella pagina Hub in uscita SaaS, individua la tabella che elenca gli hub. Per ogni regione che intendi utilizzare, copia tutti gli indirizzi IP elencati nella colonna IP in uscita dedicati statici. Ogni regione fornisce due indirizzi IP.
- Aggiungi gli indirizzi IP alla lista consentita di IP della tua applicazione SaaS. Ad esempio, per un'applicazione GitHub, puoi seguire questa guida: Gestione degli indirizzi IP consentiti per la tua organizzazione.
gcloud
Per configurare gli hub in uscita SaaS, segui questi passaggi:
- Recupera gli indirizzi IP allocati dal gateway sicuro per ogni hub. Per una regione vengono allocati due indirizzi IP.
- Aggiungi gli indirizzi IP alla lista consentita di IP della tua applicazione SaaS. Ad esempio, per un'applicazione GitHub, puoi seguire questa guida: Gestione degli indirizzi IP consentiti per la tua organizzazione.
gcloud beyondcorp security-gateways describe SECURITY_GATEWAY_ID \ --project=PROJECT_ID \ --location=global
Di seguito è riportato un esempio di risposta GET di un gateway sicuro con hubs. Nell'esempio, hubs vengono creati nelle regioni us-central1 e us-east1 e tutti gli indirizzi IP restituiti nella risposta devono essere consentiti nell'applicazione SaaS.
createTime: 'CREATE_TIME' displayName: My secure gateway hubs: us-central1: internetGateway: assignedIps: - IP_ADDRESS_1 - IP_ADDRESS_2 us-east1: internetGateway: assignedIps: - IP_ADDRESS_1 - IP_ADDRESS_2 name: projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID state: RUNNING updateTime: 'UPDATE_TIME'
REST
Per configurare gli hub in uscita SaaS, segui questi passaggi:
- Recupera gli indirizzi IP allocati dal gateway sicuro per ogni hub. Per una regione vengono allocati due indirizzi IP.
- Aggiungi gli indirizzi IP alla lista consentita di IP della tua applicazione SaaS. Ad esempio, per un'applicazione GitHub, puoi seguire questa guida: Gestione degli indirizzi IP consentiti per la tua organizzazione.
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"
Di seguito è riportato un esempio di risposta GET di un gateway sicuro con hubs. Nell'esempio, hubs vengono creati nelle regioni us-central1 e us-east1 e tutti gli indirizzi IP restituiti nella risposta devono essere consentiti nell'applicazione SaaS.
{ "securityGateways": [ { "name": "projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID", "createTime": "CREATE_TIME", "updateTime": "UPDATE_TIME", "displayName": "My secure gateway", "state": "RUNNING", "hubs": { "us-central1": { "internetGateway": { "assignedIps": [ "IP_ADDRESS_1", "IP_ADDRESS_2", ] } }, "us-east1": { "internetGateway": { "assignedIps": [ "IP_ADDRESS_1", "IP_ADDRESS_2", ] } } } } ] }
Crea una risorsa dell'applicazione
Le seguenti informazioni ti guideranno nel processo di configurazione di una risorsa dell'applicazione gateway sicuro.
Crea una risorsa dell'applicazione gateway sicuro in Google Cloud
La risorsa applicazione Google Cloud è una risorsa secondaria della risorsa gateway sicuro. Crea una risorsa applicazione utilizzando la console Google Cloud o chiamando l'API Create.
console
Per creare un'applicazione SaaS, segui questi passaggi:
- Nella console Google Cloud , vai alla pagina gateway sicuro.
Vai al gateway sicuro - Per creare un'applicazione, fai clic su Aggiungi applicazione.
- Seleziona il tipo di applicazione: Applicazione pubblica.
- Se gli hub in uscita SaaS non sono ancora configurati per questo gateway sicuro, ti verrà chiesto di crearli. Le applicazioni pubbliche richiedono almeno un hub in uscita SaaS. Per configurare gli hub in uscita SaaS, fai clic su Vai agli hub in uscita SaaS e aggiungi una o più regioni.
- Dopo aver creato uno o più hub in uscita, fai clic su Avanti.
- Inserisci i dettagli dell'applicazione:
- Nome applicazione: inserisci un nome, ad esempio
GitHub. - Matcher 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
- Per configurare l'applicazione SaaS, fai clic su Continua.
- Configura l'applicazione SaaS per consentire il traffico dal gateway sicuro:
- Prendi nota o copia con attenzione tutti gli indirizzi IP elencati per le regioni che utilizzi. Questi indirizzi IP sono univoci per il tuo gateway sicuro.
- Accedi alla console di amministrazione dell'applicazione SaaS.
- Vai alle impostazioni della rete o di sicurezza in cui vengono gestite le liste consentite di IP.
- Aggiungi tutti gli indirizzi IP ottenuti alla lista consentita di IP dell'applicazione.
- Per aggiungere l'applicazione, fai clic su Continua.
- (Facoltativo) Definisci una policy di accesso: seleziona una policy di accesso di Gestore contesto accesso. Puoi saltare questo passaggio per questa guida.
- Per creare, salvare le impostazioni e creare l'applicazione, fai clic su Crea.
gcloud
Per creare un'applicazione SaaS 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="APPLICATION_DISPLAY_NAME" \ --endpoint-matchers="hostname=HOST_NAME,ports=443"
REST
Per creare un'applicazione SaaS 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\": \"APPLICATION_DISPLAY_NAME\", \"endpoint_matchers\": [{hostname: \"HOST_NAME\", ports: 443}] }" \ "https://beyondcorp.googleapis.com/v1/projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID/applications?application_id=APPLICATION_ID"
Configura una policy di accesso
Puoi applicare una policy di accesso per controllare l'accesso a livello di applicazione. Se non è 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 applica a più applicazioni collegate al gateway sicuro, vai alla pagina Policy.
Vai a Policy - Per aggiungere policy di accesso alle applicazioni, fai clic su Crea policy.
- Nell'elenco a discesa, seleziona le applicazioni a cui vuoi applicare le policy.
- 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 assegnati.
- 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 del 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.
Modifica 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 l'applicazione, 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 assegnati.
- 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 del 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
Aggiungi un'associazione a livello di gateway per Service Discovery
Prima di concedere a un utente l'accesso a un'applicazione, assicurati che disponga delle autorizzazioni di Service Discovery a livello di gateway sicuro.
gcloud beyondcorp security-gateways add-iam-policy-binding SECURITY_GATEWAY_ID \ --project=PROJECT_ID \ --location=global \ --role="roles/beyondcorp.serviceDiscoveryUser" \ --member=MEMBER
Sostituisci quanto segue:
SECURITY_GATEWAY_ID: l'ID del gateway sicuroPROJECT_ID: l'ID del progetto in cui è configurato il gateway sicuroMEMBER: l'utente, il gruppo o account di servizio a cui vuoi assegnare il ruolo Service Discovery. Per saperne di più, consulta Entità IAM
Aggiungi un'associazione a livello di applicazione
gcloud beyondcorp security-gateways applications add-iam-policy-binding APPLICATION_ID \ --security-gateway=SECURITY_GATEWAY_ID \ --project=PROJECT_ID \ --location=global \ --role="roles/beyondcorp.sgApplicationUser" \ --member=MEMBER
Sostituisci quanto segue:
APPLICATION_ID: l'ID della risorsa dell'applicazioneSECURITY_GATEWAY_ID: l'ID del gateway sicuroPROJECT_ID: l'ID del progetto in cui è configurato il gateway sicuroMEMBER: l'utente, il gruppo o account di servizio a cui vuoi assegnare il ruolo Service Discovery. Per saperne di più, consulta Entità IAM
Aggiungi un'associazione condizionale
Puoi anche aggiungere un'associazione con condizioni. Le condizioni specificano i requisiti, ad esempio l'indirizzo IP di un utente proveniente da una località 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.
Il seguente comando di esempio concede l'accesso solo se l'indirizzo IP di origine rientra in un livello di accesso specificato:
gcloud beyondcorp security-gateways applications add-iam-policy-binding APPLICATION_ID \ --security-gateway=SECURITY_GATEWAY_ID \ --project=PROJECT_ID \ --location=global \ --role="roles/beyondcorp.sgApplicationUser" \ --member=MEMBER \ --condition="expression='accessPolicies/1234567890/accessLevels/in_us' in request.auth.access_levels,title=Source IP must be in US"
Rimuovi un'associazione a livello di gateway di Service Discovery
Revoca le autorizzazioni di Service Discovery di un utente a livello di gateway sicuro.
gcloud beyondcorp security-gateways remove-iam-policy-binding SECURITY_GATEWAY_ID \ --project=PROJECT_ID \ --location=global \ --role="roles/beyondcorp.serviceDiscoveryUser" \ --member=MEMBER
Sostituisci quanto segue:
SECURITY_GATEWAY_ID: l'ID del gateway sicuroPROJECT_ID: l'ID del progetto in cui è configurato il gateway sicuroMEMBER: l'utente, il gruppo o account di servizio da cui vuoi rimuovere il ruolo Service Discovery. Per saperne di più, consulta Entità IAM
Rimuovi un'associazione a livello di applicazione
gcloud beyondcorp security-gateways applications remove-iam-policy-binding APPLICATION_ID \ --security-gateway=SECURITY_GATEWAY_ID \ --project=PROJECT_ID \ --location=global \ --role="roles/beyondcorp.sgApplicationUser" \ --member=MEMBER
Sostituisci quanto segue:
APPLICATION_ID: l'ID della risorsa dell'applicazioneSECURITY_GATEWAY_ID: l'ID del gateway sicuroPROJECT_ID: l'ID del progetto in cui è configurato il gateway sicuroMEMBER: l'utente, il gruppo o account di servizio da cui vuoi rimuovere il ruolo Service Discovery. Per saperne di più, consulta Entità IAM
Rimuovi un'associazione condizionale
Puoi anche rimuovere un'associazione con condizioni. Le condizioni specificano i requisiti, ad esempio l'indirizzo IP di un utente proveniente da una località 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.
Il seguente comando di esempio rimuove un'associazione condizionale con un livello di accesso specificato:
gcloud beyondcorp security-gateways applications remove-iam-policy-binding APPLICATION_ID \ --security-gateway=SECURITY_GATEWAY_ID \ --project=PROJECT_ID \ --location=global \ --role="roles/beyondcorp.sgApplicationUser" \ --member=MEMBER \ --condition="expression='accessPolicies/1234567890/accessLevels/in_us' in request.auth.access_levels,title=Source IP must be in US"
REST
Aggiorna 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 "read-modify-write". Questo pattern aiuta a evitare la rimozione accidentale delle autorizzazioni esistenti.
- Read: salva la policy di accesso corrente in un file.
- Modifica: modifica il file della policy localmente per aggiungere o modificare le autorizzazioni.
- Scrittura: applica il file della policy aggiornato.
Imposta una policy a livello di gateway per il Service Discovery
Per concedere le autorizzazioni di Service Discovery, devi impostare una policy di accesso sul gateway sicuro anziché su una singola applicazione. Questo segue lo stesso pattern "read-modify-write".
Recupera la policy attuale e salvala 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
Successivamente, apri il file gateway_policy.json in un editor di testo e aggiungi le entità richieste 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, nelle associazioni delle policy. Per saperne di più, consulta Entità IAM.
Applica la policy aggiornata:
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 policy 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 dell'applicazione
Il comando crea un file policy.json che contiene la policy attuale.
Modifica il file della policy
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. Includi 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, nelle associazioni delle policy. Per saperne di più, consulta Entità IAM.
Applica la policy aggiornata
Dopo aver modificato e salvato il file policy.json, applicalo alla risorsa utilizzando il comando setIamPolicy. Questo comando utilizza il valore etag del file per assicurarsi che venga aggiornata 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 dell'applicazione
Aggiungi una policy di accesso condizionale
Puoi anche impostare policy di accesso con condizioni. Le condizioni specificano i requisiti, ad esempio l'indirizzo IP di un utente proveniente da una località 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 questa policy, segui i passaggi descritti in precedenza.
Migliora la sicurezza con l'accesso sensibile al contesto
Per migliorare ulteriormente la sicurezza e garantire che solo le istanze di Google Chrome gestite possano accedere alle tue applicazioni web tramite il gateway sicuro, 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 usi impropri da parte di browser non gestiti o dannosi.
Nota: questa funzionalità richiede l'installazione e la configurazione dell'estensione Endpoint Verification.Puoi implementare questa funzionalità 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, consulta Attributi del browser Chrome.
Installa l'estensione Chrome Enterprise Premium
L'estensione Chrome Enterprise Premium è parte integrante di un gateway sicuro e contribuisce all'autenticazione. Installa l'estensione per tutti gli utenti del gateway sicuro. Per informazioni sul deployment dell'estensione, vedi Visualizza e configura app ed estensioni. Per installare l'estensione Chrome Enterprise Premium, segui questi passaggi:
- 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 di Chrome o estensione in base all'ID.
Cerca l'estensione Secure Enterprise Browser utilizzando il seguente ID, quindi imposta la relativa policy di installazione su Forza l'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 del file PAC legacy
Se abilitato, il Service Discovery consente al client del browser Chrome di rilevare e instradare automaticamente il traffico alle applicazioni configurate tramite il gateway sicuro, eliminando la necessità di configurazioni di routing manuali utilizzando un file PAC.
Se il Service Discovery non è abilitato sul tuo gateway sicuro, hai una configurazione precedente. Dovrai configurare un file PAC per controllare il routing sul client del browser Chrome.
Per verificare se hai la configurazione precedente, utilizza i seguenti comandi per controllare se il 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 instradamento 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 l'unità organizzativa o il 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. Questa policy di estensione differisce dalla configurazione standard perché esclude 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 Criterio 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.
Passaggio alla configurazione del Service Discovery
Per eseguire la transizione del gateway sicuro legacy da una configurazione di file PAC alla nuova configurazione di Service Discovery, devi attivare manualmente la funzionalità e aggiornare le configurazioni.
Attiva il Service Discovery sul gateway sicuro: aggiorna il gateway esistente per attivare il 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 la policy di accesso a livello di gateway: concedi agli utenti il ruolo
roles/beyondcorp.serviceDiscoveryUsera livello di gateway in modo che possano utilizzare il Service Discovery. Segui le istruzioni riportate nella sezione Aggiungi un'associazione a livello di gateway di Service Discovery.Aggiorna la configurazione dell'estensione Chrome Enterprise Premium: segui le istruzioni riportate nella sezione Installa 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 attivato il 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 alla policy di accesso applicata all'applicazione.
Accesso 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 la policy di accesso. Se gli utenti superano i controlli delle policy di accesso, viene concesso loro l'accesso all'applicazione.
Quando l'accesso all'applicazione tramite browser viene rifiutato dalla policy di autorizzazione, gli utenti ricevono un messaggio Access denied.