Applicazioni client-server sicure

Proteggere le applicazioni client-server con il connettore client

Panoramica

Chrome Enterprise Premium è la soluzione Zero Trust di Google Cloud che fornisce accesso sicuro alle applicazioni private con protezione integrata dei dati e dalle minacce. Chrome Enterprise Premium utilizza Chrome per fornire accesso sicuro a tutte le applicazioni basate sul web (HTTPS).

Il connettore client Chrome Enterprise Premium estende il supporto alle applicazioni non web creando una connessione sicura alle applicazioni in esecuzione in ambienti Google Cloud e non Google Cloud con contesto completo e accesso sensibile all'identità.

Come funziona

Il seguente diagramma fornisce una panoramica generale dell'architettura del connettore client.

Componenti del connettore client di Chrome Enterprise Premium

Di seguito sono riportati i componenti chiave che compongono il connettore client:

Verifica degli endpoint e agente client: il connettore client si integra con la verifica degli endpoint, un'estensione di Chrome con un agente leggero nativo eseguito sui laptop o sui desktop degli utenti, e genera report sulle informazioni dei dispositivi. La verifica degli endpoint agisce anche da piano di controllo attraverso il quale l'utente finale può avviare e arrestare le connessioni ai gateway client.

Gateway client: componenti regionali lato server a cui i client possono connettersi. Il deployment dei gateway client viene eseguito dagli amministratori. I gateway comunicano con il sistema di applicazione forzata di Chrome Enterprise Premium per applicare i controlli sensibili al contesto. Il sistema di applicazione di Chrome Enterprise Premium utilizza Identity-Aware Proxy e Gestore contesto accesso, un motore flessibile con criteri Zero Trust di Chrome Enterprise Premium.

Il connettore client invia il traffico alle applicazioni protette da dispositivi dell'utente finale, client e tramite un canale sicuro, un gateway. Puoi connetterti ad applicazioni web e non web in esecuzione in Google Cloud o al di fuori di Google Cloud. Puoi usare Cloud VPN o Cloud Interconnect per connetterti alle applicazioni che non si trovano in Google Cloud.

Prima di iniziare

Prima di attivare il connettore client Chrome Enterprise Premium, assicurati di avere quanto segue:

Abilita il connettore client Chrome Enterprise Premium

Configura l'accesso privato ai servizi

Il connettore client utilizza l'accesso privato ai servizi per abilitare la connettività tra la rete VPC gestita da Google e la rete VPC consumer. Ciò garantisce che il traffico proveniente dagli utenti venga instradato alla rete VPC consumer.

Console

  1. L'accesso privato ai servizi richiede la prenotazione di un intervallo di indirizzi IP in modo che non ci siano collisioni di indirizzi IP tra la rete VPC e la rete VPC gestita da Google. Completa i seguenti passaggi per allocare un intervallo IP:

    1. Vai alla pagina Reti VPC nella console Google Cloud.
      Vai a Reti VPC

    2. Seleziona la rete VPC connessa alla tua applicazione.

    3. Seleziona la scheda Connessione privata ai servizi.

    4. Nella scheda Connessione privata ai servizi, seleziona la scheda Intervalli IP allocati per i servizi.

    5. Fai clic su Alloca intervallo IP.

    6. Inserisci un Nome e una Descrizione per l'intervallo IP da allocare.

    7. Specifica un intervallo IP per l'allocazione:

      • Per specificare un intervallo di indirizzi IP, seleziona Personalizzato, quindi inserisci un blocco CIDR, ad esempio 192.168.0.0/16.
      • Per specificare la lunghezza del prefisso e consentire a Google di selezionare un intervallo disponibile, seleziona Automatico e inserisci una lunghezza per il prefisso, ad esempio 16.

      Specifica una rete non inferiore a /24.

    8. Fai clic su Assegna per creare l'intervallo allocato.

  2. Crea una connessione di peering di rete VPC completando i seguenti passaggi:

    1. Vai alla pagina Reti VPC nella console Google Cloud.
      Vai a Reti VPC
    2. Seleziona la rete VPC connessa alla tua applicazione.
    3. Seleziona la scheda Connessione privata ai servizi.
    4. Nella scheda Connessione privata ai servizi, seleziona la scheda Connessioni private ai servizi.
    5. Fai clic su Crea connessione per creare una connessione privata tra la tua rete e il servizio del connettore client.
    6. Nella finestra che si apre, lascia il valore predefinito per Producer di servizi connessi. Per Allocazione assegnata, seleziona l'intervallo allocato che hai creato nel passaggio precedente.
    7. Fai clic su Connetti per creare la connessione.
  3. Creare una regola firewall.

    1. Nella console Google Cloud, vai alla pagina Firewall.
      Vai alla pagina Firewall
    2. Fai clic su Crea regola firewall.
    3. Inserisci un Nome per la regola firewall.
      Questo nome deve essere univoco per il progetto.
    4. (Facoltativo) Puoi abilitare il logging delle regole firewall:
      • Fai clic su Log > On.
      • Per omettere i metadati, espandi Dettagli log e cancella Includi metadati.
    5. Specifica la rete connessa alla tua applicazione.
    6. Specifica la Priorità della regola. Più basso è il numero, più alta è la priorità.
    7. Per Direzione del traffico, seleziona In entrata.
    8. Per Azione in caso di corrispondenza, seleziona Consenti.
    9. In Destinazioni, seleziona Tutte le istanze nella rete.
    10. Per Filtro di origine, seleziona Intervalli IPv4, quindi inserisci i valori address e prefixLength del Passaggio 1 per rappresentare l'intervallo IP allocato in formato CIDR. Utilizza il formato 0.0.0.0/0 per qualsiasi origine IPv4.
    11. Per Protocolli e porte, seleziona Consenti tutto per applicare la regola a tutti i protocolli e le porte di destinazione.
    12. Fai clic su CREA.

gcloud

  1. L'accesso privato ai servizi richiede la prenotazione di un intervallo di indirizzi IP in modo che non ci siano collisioni di indirizzi IP tra la rete VPC e la rete VPC gestita da Google. Esegui questo comando per allocare un intervallo IP:

    gcloud compute addresses create RESERVED_RANGE \
      --network=CONSUMER_NETWORK \
      --project=CONSUMER_PROJECT \
      --prefix-length=16 \
      --purpose=VPC_PEERING \
      --global
    

    Sostituisci quanto segue:

    • RESERVED_RANGE: il nome dell'intervallo di indirizzi IP da prenotare per il peering VPC. Il nome può contenere solo lettere minuscole, numeri e trattini.
    • CONSUMER_NETWORK: il nome della rete VPC connessa all'applicazione.
    • CONSUMER_PROJECT: l'ID del progetto che ospita CONSUMER_NETWORK.
  2. Crea la connessione in peering VPC.

    gcloud services vpc-peerings connect \
      --network=CONSUMER_NETWORK \
      --project=CONSUMER_PROJECT \
      --ranges=RESERVED_RANGE \
      --service="servicenetworking.googleapis.com"
    

    Sostituisci quanto segue:

    • CONSUMER_NETWORK: il nome della rete VPC connessa all'applicazione.
    • CONSUMER_PROJECT: l'ID del progetto che ospita CONSUMER_NETWORK.
    • RESERVED_RANGE: il nome dell'intervallo riservato per il peering VPC.
  3. Visualizza i dettagli dell'intervallo IP allocato.

    gcloud compute addresses describe RESERVED_RANGE \
      --global \
      --project=CONSUMER_PROJECT
    

    Sostituisci quanto segue:

    • RESERVED_RANGE: il nome dell'intervallo riservato per il peering VPC.
    • CONSUMER_PROJECT: l'ID del progetto che ospita CONSUMER_NETWORK.
  4. Utilizza i valori address e prefixLength dell'output nel passaggio precedente per rappresentare l'intervallo IP allocato in formato CIDR, quindi crea una regola firewall.

    gcloud compute firewall-rules create "allow-peered-ingress" \
      --network=CONSUMER_NETWORK \
      --project=CONSUMER_PROJECT \
      --direction ingress \
      --action allow \
      --source-ranges={Allocated IP range in CIDR format i.e. address/prefixLength} \
      --rules=all
    

    Sostituisci quanto segue:

    • CONSUMER_NETWORK: il nome della rete VPC connessa all'applicazione.
    • CONSUMER_PROJECT: l'ID del progetto che ospita CONSUMER_NETWORK.

Per informazioni sulla configurazione delle regole firewall, consulta Utilizzare le regole firewall VPC.

Configura le risorse del connettore client

Devi configurare due tipi di risorse:

  • Servizio del connettore client: definisce una configurazione comune per un gruppo di gateway client.
  • Gateway client: fa riferimento al servizio del connettore client e controlla le regioni in cui vuoi gestire il traffico degli utenti.

È consentito un solo servizio del connettore client per dominio e un gateway client per regione per servizio di connettore client. Inoltre, puoi utilizzare solo le seguenti regioni per ospitare il servizio del connettore client e le risorse gateway: asia-east1, europe-west1, us-east1 e us-central1.

Crea il servizio del connettore client

Console

  1. Vai alla pagina di amministrazione IAP.

    Vai a IAP

  2. Fai clic su CONNETTORI > ABILITA CONNETTORE CLIENT.

  3. Inserisci la rete VPC che riceverà il traffico dai client gestiti.

  4. Seleziona le regioni a cui possono connettersi i tuoi clienti. Tieni presente che i gateway client vengono creati in questo passaggio, quindi non devi creare i gateway nella procedura Crea, verifica o rimuovi i gateway client.

  5. Inserisci l'intervallo di indirizzi IP per le applicazioni che vuoi raggiungere il connettore client.

  6. Fai clic su ABILITA CONNETTORE CLIENT. La creazione del connettore può richiedere diversi minuti.

gcloud

Esegui questo comando:

gcloud beta beyondcorp client-connector services create CLIENT_CONNECTOR_SERVICE_NAME \
  --project=CONSUMER_PROJECT \
  --location=SERVICE_LOCATION \
  --config-from-file=/path/to/file/config.json

dove config.json è:

   {
     "ingress": {
       "config": {
         "transportProtocol": "TCP",
         "destinationRoutes": [{
           "address": "DESTINATION_ADDRESS",
           "netmask": "DESTINATION_MASK"
         }]
       }
     },
     "egress": {
       "peeredVpc": {
         "networkVpc": "projects/CONSUMER_PROJECT/global/networks/CONSUMER_NETWORK"
       }
     }
   }

Sostituisci quanto segue:

  • CLIENT_CONNECTOR_SERVICE_NAME: il nome del servizio di connettore client.
  • CONSUMER_PROJECT: l'ID del progetto che ospita CONSUMER_NETWORK.
  • SERVICE_LOCATION: la regione in cui creare il servizio del connettore client. Puoi specificare una delle seguenti regioni supportate: asia-east1, europe-west1, us-east1 e us-central1.
  • DESTINATION_ADDRESS: l'indirizzo host della subnet di destinazione che ospita l'applicazione. Ad esempio, se l'applicazione utilizza 10.0.0.0/28, l'indirizzo è 10.0.0.0.
  • DESTINATION_MASK: la maschera di rete della subnet di destinazione che ospita l'applicazione. Ad esempio, se la tua applicazione utilizza 10.0.0.0/28, la maschera è 255.255.255.240.
  • CONSUMER_NETWORK: il nome della rete VPC connessa all'applicazione.

API

Esegui questo comando:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d @config.json \
https://beyondcorp.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/SERVICE_LOCATION/clientConnectorServices?client_connector_service_id=CLIENT_CONNECTOR_SERVICE_NAME

dove config.json è:

   {
     "ingress": {
       "config": {
         "transportProtocol": "TCP",
         "destinationRoutes": [{
           "address": "DESTINATION_ADDRESS",
           "netmask": "DESTINATION_MASK"
         }]
       }
     },
     "egress": {
       "peeredVpc": {
         "networkVpc": "projects/CONSUMER_PROJECT/global/networks/CONSUMER_NETWORK"
       }
     }
   }

Sostituisci quanto segue:

  • DESTINATION_ADDRESS: l'indirizzo host della subnet di destinazione che ospita l'applicazione. Ad esempio, se l'applicazione utilizza 10.0.0.0/28, l'indirizzo è 10.0.0.0.
  • DESTINATION_MASK: la maschera di rete della subnet di destinazione che ospita l'applicazione. Ad esempio, se la tua applicazione utilizza 10.0.0.0/28, la maschera è 255.255.255.240.
  • CONSUMER_PROJECT: l'ID del progetto che ospita CONSUMER_NETWORK.
  • CONSUMER_NETWORK: il nome della rete VPC connessa all'applicazione.
  • SERVICE_LOCATION: la regione in cui creare il servizio del connettore client.
  • CLIENT_CONNECTOR_SERVICE_NAME: il nome del servizio di connettore client.

Verifica che il servizio del connettore client sia stato creato elencando il servizio

Console

  1. Vai alla pagina di amministrazione IAP.

    Vai a IAP

  2. Fai clic su CONNETTI. Il connettore dovrebbe essere elencato nella sezione Connettore client e dovrebbe avere un segno di spunta verde per lo stato.

gcloud

Esegui questo comando.

gcloud beta beyondcorp client-connector services list \
  --project=CONSUMER_PROJECT \
  --location=SERVICE_LOCATION

Sostituisci quanto segue:

  • CONSUMER_PROJECT: l'ID del progetto che ospita CONSUMER_NETWORK.
  • SERVICE_LOCATION: la regione in cui creare il servizio del connettore client.

API

Esegui questo comando:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://beyondcorp.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/SERVICE_LOCATION/clientConnectorServices

Sostituisci quanto segue:

  • CONSUMER_PROJECT: l'ID del progetto che ospita CONSUMER_NETWORK.
  • SERVICE_LOCATION: la regione in cui si trova il servizio del connettore client.

(Facoltativo) Aggiornare un servizio del connettore client

Console

Aggiorna i percorsi di destinazione svolgendo i seguenti passaggi:

  1. Vai alla pagina di amministrazione IAP.

    Vai a IAP

  2. Fai clic su CONNETTI.

  3. Nella sezione Connettore client, fai clic sull'icona a forma di matita accanto al connettore client da aggiornare.

  4. Inserisci i nuovi indirizzi host e le nuove maschere di rete delle subnet di destinazione che ospitano le applicazioni, quindi fai clic su AGGIORNA CONNETTORE CLIENT.

gcloud

Aggiorna le route di destinazione eseguendo questo comando:

gcloud beta beyondcorp client-connector services update CLIENT_CONNECTOR_SERVICE_NAME \
  --project=CONSUMER_PROJECT \
  --location=SERVICE_LOCATION \
  --config-from-file=/path/to/file/config.json

dove config.json è:

{
  "ingress":{
    "config":{
      "destinationRoutes":[
        {
          "address":"NEW_DESTINATION_ADDRESS1",
          "netmask":"NEW_DESTINATION_MASK1"
        },
        {
          "address":"NEW_DESTINATION_ADDRESS2",
          "netmask":"NEW_DESTINATION_MASK2"
        }
      ]
    }
  }
}

Sostituisci quanto segue:

  • CLIENT_CONNECTOR_SERVICE_NAME: il nome del servizio di connettore client.
  • CONSUMER_PROJECT: l'ID del progetto che ospita CONSUMER_NETWORK.
  • SERVICE_LOCATION: la regione in cui si trova il servizio del connettore client.
  • NEW_DESTINATION_ADDRESS1, NEW_DESTINATION_ADDRESS2: i nuovi indirizzi host delle subnet di destinazione che ospitano le applicazioni.
  • NEW_DESTINATION_MASK1, NEW_DESTINATION_MASK2: le nuove maschere di rete per le subnet di destinazione.

API

Per aggiornare le route di destinazione, esegui questo comando:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d @update.json \
https://beyondcorp.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/SERVICE_LOCATION/clientConnectorServices/CLIENT_CONNECTOR_SERVICE_NAME?update_mask=ingress.config.destinationRoutes

Dove si trova update.json:

{
  "ingress":{
    "config":{
      "destinationRoutes":[
        {
          "address":"NEW_DESTINATION_ADDRESS1",
          "netmask":"NEW_DESTINATION_MASK1"
        },
        {
          "address":"NEW_DESTINATION_ADDRESS2",
          "netmask":"NEW_DESTINATION_MASK2"
        }
      ]
    }
  }
}

Sostituisci quanto segue:

  • CONSUMER_PROJECT: l'ID del progetto che ospita CONSUMER_NETWORK.
  • SERVICE_LOCATION: la regione in cui si trova il servizio del connettore client.
  • CLIENT_CONNECTOR_SERVICE_NAME: il nome del servizio di connettore client.
  • NEW_DESTINATION_ADDRESS1, NEW_DESTINATION_ADDRESS2: i nuovi indirizzi host delle subnet di destinazione che ospitano le applicazioni.
  • NEW_DESTINATION_MASK1, NEW_DESTINATION_MASK2: le nuove maschere di rete per le subnet di destinazione.

(Facoltativo) Rimuovere un servizio del connettore client

Console

  1. Vai alla pagina di amministrazione IAP.

    Vai a IAP

  2. Fai clic su CONNETTI.

  3. Nella sezione Connettore client, fai clic sull'icona del cestino per rimuovere il servizio e i gateway del connettore client. Questa operazione può richiedere diversi minuti.

gcloud

Esegui questo comando.

gcloud beta beyondcorp client-connector services delete CLIENT_CONNECTOR_SERVICE_NAME \
  --project CONSUMER_PROJECT \
  --location SERVICE_LOCATION

Sostituisci quanto segue:

  • CLIENT_CONNECTOR_SERVICE_NAME: il nome del servizio di connettore client.
  • CONSUMER_PROJECT: l'ID del progetto che ospita CONSUMER_NETWORK.
  • SERVICE_LOCATION: la regione in cui si trova il servizio del connettore client.

API

Esegui questo comando.

curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://beyondcorp.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/SERVICE_LOCATION/clientConnectorServices/CLIENT_CONNECTOR_SERVICE_NAME

Sostituisci quanto segue:

  • CONSUMER_PROJECT: l'ID del progetto che ospita CONSUMER_NETWORK.
  • SERVICE_LOCATION: la regione in cui si trova il servizio del connettore client.
  • CLIENT_CONNECTOR_SERVICE_NAME: il nome del servizio di connettore client.

Crea, verifica o rimuovi i gateway client

Console

  1. Se utilizzi la console per configurare il connettore client, i gateway client vengono creati quando hai creato il servizio del connettore client in un passaggio precedente.

  2. Per verificare che i gateway client siano attivi e in esecuzione:

    1. Vai alla pagina di amministrazione IAP.

      Vai a IAP

    2. Fai clic su CONNETTI. Il tuo connettore e i gateway associati devono essere elencati nella sezione Connettore client e avere un segno di spunta verde per lo stato.
  3. (Facoltativo) Per rimuovere un gateway client, completa i seguenti passaggi.

    1. Vai alla pagina di amministrazione IAP.

      Vai a IAP

    2. Fai clic su CONNETTI.

    3. Nella sezione Connettore client, fai clic sull'icona a forma di matita accanto al connettore client in cui vuoi rimuovere un gateway.

    4. Rimuovi una regione dal servizio del connettore deselezionando la casella di controllo della regione dall'elenco a discesa Regioni gateway, quindi fai clic su AGGIORNA CONNETTORE CLIENT.

gcloud

  1. Creare un gateway client.

    gcloud beta beyondcorp client-connector gateways create CLIENT_GATEWAY_NAME \
      --project CONSUMER_PROJECT \
      --location GATEWAY_LOCATION \
      --client-connector-service \
      projects/CONSUMER_PROJECT/locations/SERVICE_LOCATION/clientConnectorServices/CLIENT_CONNECTOR_SERVICE_NAME
    

    Sostituisci quanto segue:

    • CLIENT_GATEWAY_NAME: il nome del gateway client.
    • CONSUMER_PROJECT: l'ID del progetto che ospita CONSUMER_NETWORK.
    • GATEWAY_LOCATION: la regione in cui creare il gateway client.
    • SERVICE_LOCATION: la regione in cui si trova il servizio del connettore client.
    • CLIENT_CONNECTOR_SERVICE_NAME: il nome del servizio di connettore client.
  2. Verifica che i gateway client siano attivi e in esecuzione.

    gcloud beta beyondcorp client-connector gateways list \
      --project CONSUMER_PROJECT \
      --location GATEWAY_LOCATION
    

    Sostituisci quanto segue:

    • CONSUMER_PROJECT: l'ID del progetto che ospita CONSUMER_NETWORK.
    • GATEWAY_LOCATION: la regione in cui si trova il gateway client.
  3. (Facoltativo) Rimuovi un gateway client.

    gcloud beta beyondcorp client-connector gateways delete CLIENT_GATEWAY_NAME \
      --project CONSUMER_PROJECT \
      --location GATEWAY_LOCATION
    

    Sostituisci quanto segue:

    • CLIENT_GATEWAY_NAME: il nome del gateway client.
    • CONSUMER_PROJECT: l'ID del progetto che ospita CONSUMER_NETWORK.
    • GATEWAY_LOCATION: la regione in cui si trova il gateway client.

API

  1. Esegui questo comando.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d "{client_connector_service: \"projects/CONSUMER_PROJECT/locations/SERVICE_LOCATION/clientConnectorServices/CLIENT_CONNECTOR_SERVICE_NAME\"}" \
    https://beyondcorp.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/GATEWAY_LOCATION/clientGateways?client_gateway_id=CLIENT_GATEWAY_NAME
    

    Sostituisci quanto segue:

    • CONSUMER_PROJECT: l'ID del progetto che ospita CONSUMER_NETWORK.
    • SERVICE_LOCATION: la regione in cui si trova il servizio del connettore client.
    • CLIENT_CONNECTOR_SERVICE_NAME: il nome del servizio di connettore client.
    • GATEWAY_LOCATION: la regione in cui creare il gateway client.
    • CLIENT_GATEWAY_NAME: il nome del gateway client.

    Il completamento di questo passaggio può richiedere diversi minuti.

  2. Verifica che i gateway client siano attivi e in esecuzione.

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    https://beyondcorp.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/GATEWAY_LOCATION/clientGateways
    

    Sostituisci quanto segue:

    • CONSUMER_PROJECT: l'ID del progetto che ospita CONSUMER_NETWORK.
    • GATEWAY_LOCATION: la regione in cui si trova il gateway client.
  3. (Facoltativo) Rimuovi un gateway client.

    curl -X DELETE \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    https://beyondcorp.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/GATEWAY_LOCATION/clientGateways/CLIENT_GATEWAY_NAME
    

    Sostituisci quanto segue:

    • CONSUMER_PROJECT: l'ID del progetto che ospita CONSUMER_NETWORK.
    • GATEWAY_LOCATION: la regione in cui si trova il gateway del connettore client.
    • CLIENT_GATEWAY_NAME: il nome del gateway client.

Configura i criteri di accesso sensibile al contesto

  1. Determina le entità o crea un gruppo di utenti. Identifica gli utenti che richiedono l'accesso alle applicazioni non web protette. In alternativa, puoi creare un gruppo di utenti per semplificare la configurazione e la gestione.

  2. (Facoltativo) Crea un livello di accesso in Gestore contesto accesso per definire una regola sensibile al contesto, che puoi utilizzare per limitare l'accesso alla tua applicazione.

  3. Configura un criterio IAM per la risorsa del servizio del connettore client e concedi all'entità o al gruppo di utenti il ruolo Utente servizio Cloud BeyondCorp Client Connector (roles/beyondcorp.clientConnectorServiceUser) necessario per accedere alle app non web. Facoltativamente, puoi specificare una condizione IAM per eseguire il provisioning del ruolo solo quando è soddisfatto un livello di accesso. Per aggiornare il criterio IAM per una risorsa, puoi utilizzare la console o l'API.

    Nella console, completa i seguenti passaggi:

    1. Vai alla pagina di amministrazione IAP.

      Vai a IAP

    2. Fai clic su APPLICAZIONI.
    3. Se non hai già configurato una schermata per il consenso OAuth, devi farlo per completare questo passaggio. Nella sezione COLLEGA NUOVA APPLICAZIONE, seleziona il connettore in Applicazioni non web.
    4. Nella finestra che si apre, fai clic su AGGIUNGI PRINCIPALE.
    5. Concedi all'entità o al gruppo di utenti il ruolo Cloud BeyondCorp Client Connector Service User (roles/beyondcorp.clientConnectorServiceUser), necessario per accedere alle app non web. Facoltativamente, puoi specificare un livello di accesso per eseguire il provisioning del ruolo solo quando il livello di accesso è soddisfatto. Per specificare un livello di accesso, devi essere un Amministratore organizzazione'organizzazione o disporre delle autorizzazioni view e edit per i livelli di accesso dell'organizzazione.
    6. Fai clic su SALVA.

Aggiorna un criterio IAM

Console

  1. Vai alla pagina di amministrazione IAP.

    Vai a IAP

  2. Fai clic sulla scheda APPLICAZIONI e, nell'elenco Risorsa, espandi Applicazioni non web.
  3. Seleziona il connettore client. Si apre una sezione con le autorizzazioni IAM associate al tuo connettore.
  4. Puoi aggiornare i criteri IAM associati al connettore client nella sezione visualizzata.

gcloud

  1. Leggi le norme esistenti. Il metodo getIamPolicy() legge il criterio IAM esistente per la risorsa di servizio del connettore client in policy.json.

    gcloud beta beyondcorp client-connector services get-iam-policy CLIENT_CONNECTOR_SERVICE_NAME \
      --project=CONSUMER_PROJECT \
      --location=SERVICE_LOCATION > policy.json
    

    Sostituisci quanto segue:

    • CLIENT_CONNECTOR_SERVICE_NAME: il nome del servizio di connettore client.
    • CONSUMER_PROJECT: l'ID del progetto che ospita CONSUMER_NETWORK.
    • SERVICE_LOCATION: la regione in cui si trova il servizio connettore client.
  2. Modifica il criterio restituito. Aggiorna le associazioni in policy.json per includere la nuova assegnazione del ruolo IAM. Puoi farlo in un editor di testo o in modo programmatico. Esempio:

    {
                "bindings": [
                  {
                    "role": "roles/beyondcorp.clientConnectorServiceUser",
                    "members": [
                      "user:EXAMPLE_USER@EXAMPLE.COM",
                      "group:EXAMPLE_GROUP@EXAMPLE.COM",
                    ],
                    "condition":
                     {
                       "expression":
            "'accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME' in
            request.auth.access_levels",
                      "title": "CONDITION_NAME"
                    }
                  }
                ]
    }
    

    Sostituisci quanto segue:

    • POLICY_NAME: il nome numerico del criterio di accesso di Gestore contesto accesso.
    • LEVEL_NAME: il nome del tuo livello di accesso Gestore contesto accesso.
    • CONDITION_NAME: il testo del titolo per la condizione IAM.
  3. Scrivi le norme aggiornate. Puoi usare il metodo setIamPolicy() per scrivere il criterio IAM aggiornato. Esempio:

    gcloud beta beyondcorp client-connector services set-iam-policy CLIENT_CONNECTOR_SERVICE_NAME policy.json \
      --project=CONSUMER_PROJECT \
      --location=SERVICE_LOCATION

    Sostituisci quanto segue:

    • CLIENT_CONNECTOR_SERVICE_NAME: il nome del servizio del connettore client.
    • CONSUMER_PROJECT: l'ID del progetto che ospita CONSUMER_NETWORK.
    • SERVICE_LOCATION: la regione in cui si trova il servizio del connettore client.

API

  1. Leggi le norme esistenti. Il metodo getIamPolicy() legge il criterio IAM esistente per la risorsa di servizio del connettore client in policy.json.

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    https://beyondcorp.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/SERVICE_LOCATION/clientConnectorServices/CLIENT_CONNECTOR_SERVICE_NAME:getIamPolicy > policy.json
    

    Sostituisci quanto segue:

    • CONSUMER_PROJECT: l'ID del progetto che ospita CONSUMER_NETWORK.
    • SERVICE_LOCATION: la regione in cui si trova il servizio del connettore client.
    • CLIENT_CONNECTOR_SERVICE_NAME: il nome del servizio del connettore client.
  2. Modifica il criterio restituito. Aggiorna le associazioni in policy.json per includere la nuova assegnazione del ruolo IAM. Puoi farlo in un editor di testo o in modo programmatico. Esempio:

     {
       "policy": {
          "bindings": [
            {
              "role": "roles/beyondcorp.clientConnectorServiceUser",
              "members": [
                "user:EXAMPLE_USER@EXAMPLE.COM",
                "group:EXAMPLE_GROUP@EXAMPLE.COM",
             ],
             "condition":
              {
                "expression":
     "'accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME' in
     request.auth.access_levels",
                "title": "CONDITION_NAME"
              }
           }
         ]
       }
     }
     

    Sostituisci quanto segue:

    • POLICY_NAME: il nome numerico del criterio di accesso di Gestore contesto accesso.
    • LEVEL_NAME: il nome del tuo livello di accesso Gestore contesto accesso.
    • CONDITION_NAME: il testo del titolo per la condizione IAM.
  3. Scrivi le norme aggiornate. Puoi usare il metodo setIamPolicy() per scrivere il criterio IAM aggiornato. Esempio:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d @policy.json \
    https://beyondcorp.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/SERVICE_LOCATION/clientConnectorServices/CLIENT_CONNECTOR_SERVICE_NAME:setIamPolicy
     

    Sostituisci quanto segue:

    • CONSUMER_PROJECT: l'ID del progetto che ospita CONSUMER_NETWORK.
    • SERVICE_LOCATION: la regione in cui si trova il servizio del connettore client.
    • CLIENT_CONNECTOR_SERVICE_NAME: il nome del servizio del connettore client.

Installare l'agente del connettore client sui dispositivi endpoint (Windows o macOS)

  1. Attiva l'estensione Verifica degli endpoint seguendo i passaggi descritti in Configurare la verifica degli endpoint sui tuoi dispositivi.

  2. Quando la verifica degli endpoint è attiva e in esecuzione, l'estensione Verifica degli endpoint per l'utente aggiornato mostra un pulsante INIZIA CONNESSIONE. Per accedere all'applicazione non web protetta, gli utenti possono fare clic sul pulsante AVVIA CONNESSIONE.

Quando un utente avvia una connessione per la prima volta, la verifica degli endpoint richiede all'utente di scaricare e installare i file binari del connettore client. In alternativa, puoi scaricare i file binari del connettore client ai seguenti URL:

Dopo aver stabilito una connessione, un utente può accedere alla risorsa protetta. Gli utenti possono scegliere di terminare la connessione facendo clic sul pulsante TERMINA CONNESSIONE.

Risoluzione dei problemi

Se riscontri problemi durante l'utilizzo del connettore client, le seguenti informazioni forniscono i passaggi per la risoluzione dei problemi.

Non riesci ad accedere alla tua applicazione

Il gateway del connettore client è in esecuzione e la connessione è stata stabilita correttamente, ma non riesci ancora a raggiungere l'applicazione.

Di seguito sono riportati i motivi più comuni e le possibili soluzioni per questo problema:

  • Non hai pubblicizzato l'intervallo IP allocato su Cloud VPN. Se utilizzi Cloud VPN per connetterti all'applicazione non Google Cloud, assicurati di annunciare anche l'intervallo IP allocato per l'accesso privato ai servizi al router peer tramite il protocollo BGP (Border Gateway Protocol). Per ulteriori informazioni su come eseguire questa operazione, consulta Specificare la pubblicità su un router Cloud.

  • Hai specificato un indirizzo e una maschera errati nei percorsi di destinazione. Assicurati che i bit mascherati siano pari a zero quando fornisci l'indirizzo. Ad esempio, 10.0.10.1 è un indirizzo non valido da fornire con una maschera di rete 255.255.255.0 (/24). L'indirizzo corretto è 10.0.10.0.

  • Possibili conflitti IP tra l'intervallo IP allocato per l'accesso privato ai servizi e le subnet IP utilizzate dalla rete che ospita l'applicazione. Assicurati che questi intervalli si escludano a vicenda. Questo problema si verifica solitamente quando l'applicazione è ospitata in una rete non Google Cloud.

Ricevi il messaggio: Unable to connect to the network

Se ricevi il messaggio Unable to connect to the network. Check your network connection and try again., la connessione Internet sul dispositivo non è attiva.

Risoluzione: assicurati che la connessione a internet sia attiva e riprova a connetterti.

Audit log

Se sei un amministratore, puoi visualizzare i log di controllo di Chrome Enterprise Premium, inclusi i log di controllo del connettore client, nella pagina Logging della console Google Cloud. Per ulteriori informazioni, consulta Log di controllo del servizio Chrome Enterprise Premium.

Se sei un utente finale, puoi accedere ai log delle connessioni svolgendo i seguenti passaggi:

  1. Fai clic con il pulsante destro del mouse sull'estensione Endpoint Verification nel browser.
  2. Fai clic su Opzioni.
  3. Seleziona la granularità per il livello di log. Per impostazione predefinita, il livello di granularità è impostato su Informazioni.
  4. Fai clic su Mostra log.

Passaggi successivi