Informazioni sull'isolamento di rete in GKE


Questa pagina spiega come funzionano l'isolamento della rete e i controlli di accesso per il piano di controllo e i nodi del cluster di Google Kubernetes Engine (GKE). Questa pagina sostituisce la pagina che descrive il concetto di cluster privati.

Quando decidi come configurare l'isolamento della rete, devi considerare due aspetti:

  • Accesso al piano di controllo, che riguarda chi può accedere al piano di controllo del cluster.
  • Networking per il cluster relativo all'isolamento dei nodi.

Questa pagina mostra come controllare e personalizzare chi può accedere al piano di controllo e ai nodi del cluster (in un cluster standard) o ai carichi di lavoro (in un cluster Autopilot). Questa personalizzazione è pertinente quando decidi la configurazione di rete per il tuo cluster. Per passare direttamente alla definizione della configurazione di rete, consulta Personalizzare l'isolamento della rete.

Best practice:

Pianifica e progetta la configurazione dell'isolamento della rete con gli architetti di rete, gli ingegneri di rete, gli amministratori di rete della tua organizzazione o con un altro team responsabile della definizione, dell'implementazione e della manutenzione dell'architettura di rete.

Accesso al control plane

In questa sezione, esaminerai chi può accedere al tuo piano di controllo.

Ogni cluster GKE ha un piano di controllo che gestisce le richieste dell'API Kubernetes. Il piano di controllo viene eseguito su una macchina virtuale (VM) che si trova in una rete VPC in un progetto gestito da Google. Un cluster a livello di regione include più repliche del piano di controllo, ciascuna delle quali viene eseguita su una propria VM.

Il piano di controllo ha due tipi di endpoint per l'accesso al cluster:

  • Endpoint basato su DNS
  • Endpoint basati su IP
Best practice:

Utilizza solo l'endpoint basato su DNS per accedere al tuo piano di controllo per una configurazione semplificata e un livello di sicurezza flessibile e basato su criteri.

Endpoint basato su DNS

L'endpoint basato su DNS fornisce un DNS o un nome di dominio completo (FQDN) univoco per ogni control plane del cluster. Questo nome DNS può essere utilizzato per accedere al control plane. Il nome DNS risolve in un endpoint accessibile da qualsiasi rete reachable dalle API Google Cloud, incluse le reti on-premise o di altri cloud. L'attivazione dell'endpoint basato su DNS elimina la necessità di un host bastione o di nodi proxy per accedere al piano di controllo da altre reti VPC o da località esterne.

Per accedere all'endpoint del piano di controllo, devi configurare i ruoli e i criteri IAM, nonché i token di autenticazione. Per maggiori dettagli sulle autorizzazioni esatta richieste, vedi Personalizzare l'isolamento della rete.

Oltre ai token e ai criteri IAM, puoi anche configurare controlli basati su IP o sulla rete con Controlli di servizio VPC per proteggere l'accesso al control plane. I Controlli di servizio VPC aggiungono un altro livello di sicurezza di accesso con l'accesso sensibile al contesto in base ad attributi come l'origine della rete. Controlli di servizio VPC ti consentono di configurare le reti che possono accedere all'endpoint DNS. L'utilizzo sia dei criteri IAM sia dei Controlli di servizio VPC per proteggere l'accesso all'endpoint basato su DNS fornisce un modello di sicurezza a più livelli per il control plane del cluster. I Controlli di servizio VPC vengono utilizzati da tutte le API Google Cloud e allineano la configurazione di sicurezza dei tuoi cluster ai dati ospitati in tutte le altre API Google Cloud.

Endpoint basati su IP

Facoltativamente, puoi anche configurare l'accesso al control plane utilizzando endpoint basati su IP.

Terminologia relativa a cluster e indirizzi IP

  • Indirizzi IP esterni di Google Cloud:

    • Indirizzi IP esterni assegnati a qualsiasi VM utilizzata da qualsiasi cliente ospitato su Google Cloud. Google Cloud è proprietario di questi indirizzi IP. Per scoprire di più, consulta Dove posso trovare gli intervalli IP di Compute Engine?

    • Indirizzi IP esterni utilizzati dai prodotti Google Cloud come Cloud Run o le funzioni Cloud Run. Qualsiasi client ospitato su Google Cloud può creare istanze di questi indirizzi IP. Google Cloud è il proprietario di questi indirizzi IP.

  • Indirizzi IP riservati a Google: indirizzi IP esterni per la gestione del cluster GKE. Questi indirizzi IP includono procedimenti gestiti da GKE e altri servizi Google di produzione. Google è proprietaria di questi indirizzi IP.

  • Intervalli di indirizzi IP del cluster GKE: indirizzi IP interni assegnati al cluster che GKE utilizza per i nodi, i pod e i servizi del cluster.

  • Indirizzi IP interni: indirizzi IP della rete VPC del tuo cluster. Questi indirizzi IP possono includere l'indirizzo IP del cluster, le reti on-premise, gli intervalli RFC 1918 o gli indirizzi IP pubblici utilizzati privatamente (PUPI) che includono intervalli non RFC 1918.

  • Endpoint esterno: l'indirizzo IP esterno assegnato da GKE al control plane.

  • Endpoint interno: l'indirizzo IP interno assegnato da GKE al control plane.

  • Rete VPC: una rete virtuale in cui crei subnet con intervalli di indirizzi IP specifici per i nodi e i pod del cluster.

Quando utilizzi endpoint basati su IP, hai due opzioni:

  • Esponi il control plane su entrambi gli endpoint esterni e interni. Ciò significa che l'endpoint esterno del control plane è accessibile da un indirizzo IP esterno e l'endpoint interno è accessibile dalla rete VPC del cluster. I nodi comunicheranno con il control plane solo sull'endpoint interno.

  • Esponi il control plane solo sull'endpoint interno. Ciò significa che i client su internet non possono connettersi al cluster e che il piano di controllo è accessibile da qualsiasi indirizzo IP della rete VPC del cluster. I nodi comunicheranno con il control plane solo sull'endpoint interno.

    Questa è l'opzione più sicura quando si utilizzano endpoint basati su IP, in quanto impedisce tutto l'accesso a internet al piano di controllo. Questa è una buona scelta se hai carichi di lavoro che, ad esempio, richiedono l'accesso controllato a causa di normative sulla privacy e sulla sicurezza dei dati.

In entrambe le opzioni precedenti, puoi limitare gli indirizzi IP che raggiungono gli endpoint configurando le reti autorizzate. Se utilizzi endpoint basati su IP, ti consigliamo vivamente di aggiungere almeno una rete autorizzata. Le reti autorizzate concedono al piano di controllo l'accesso a un insieme specifico di indirizzi IPv4 attendibili e forniscono protezione e vantaggi di sicurezza aggiuntivi per il tuo cluster GKE.

Best practice:

Abilita le reti autorizzate quando utilizzi endpoint basati su IP per proteggere il tuo cluster GKE.

Come funzionano le reti autorizzate

Le reti autorizzate forniscono un firewall basato su IP che controlla l'accesso al control plane GKE. L'accesso al piano di controllo dipende dagli indirizzi IP di origine. Quando attivi le reti autorizzate, configuri gli indirizzi IP per i quali vuoi consentire l'accesso all'endpoint del piano di controllo del cluster GKE come elenco di blocchi CIDR.

La tabella seguente mostra:

  • Gli indirizzi IP preimpostati che possono sempre accedere al piano di controllo GKE, indipendentemente dall'attivazione o meno delle reti autorizzate.
  • Gli indirizzi IP configurabili che possono accedere al piano di controllo quando li inserisci nella lista consentita attivando le reti autorizzate.
Endpoint del piano di controllo Indirizzi IP preimpostati che possono sempre accedere agli endpoint Indirizzo IP configurabile che può accedere agli endpoint dopo l'attivazione delle reti autorizzate
Endpoint esterni e interni abilitati
  • Indirizzi IP riservati a Google
  • Intervalli di indirizzi IP del cluster GKE
  • Indirizzi IP esterni inclusi nella lista consentita
  • Indirizzi IP interni inclusi nella lista consentita
  • Indirizzi IP esterni Google Cloud
Solo endpoint interno abilitato
  • Indirizzi IP riservati a Google
  • Intervalli di indirizzi IP del cluster GKE
  • Indirizzi IP interni inclusi nella lista consentita.

Con una rete autorizzata, puoi anche configurare la regione da cui un indirizzo IP interno può raggiungere l'endpoint interno del tuo piano di controllo. Puoi scegliere di consentire l'accesso solo dalla rete VPC del cluster o da qualsiasi regione Google Cloud in un ambiente VPC o on-premise.

Limitazioni dell'utilizzo di endpoint basati su IP

  • Se espandi una subnet utilizzata da un cluster con reti autorizzate, devi aggiornare la configurazione della rete autorizzata in modo da includere l'intervallo di indirizzi IP espanso.
  • Se hai client che si connettono da reti con indirizzi IP dinamici, ad esempio dipendenti su reti di casa, devi aggiornare di frequente l'elenco delle reti autorizzate per mantenere l'accesso al cluster.
  • La disattivazione dell'accesso all'endpoint esterno del control plane ti impedisce di interagire con il cluster da remoto. Se devi accedere al cluster da remoto, devi utilizzare un host bastione che inoltra il traffico client al cluster. Al contrario, l'utilizzo di un endpoint basato su DNS richiede solo la configurazione delle autorizzazioni IAM.
  • Gli endpoint basati su IP non si integrano direttamente con i Controlli di servizio VPC. I Controlli di servizio VPC operano a livello di perimetro di servizio per controllare l'accesso ai dati e il loro spostamento all'interno di Google Cloud. Per una difesa della sicurezza solida, ti consigliamo di utilizzare sia un endpoint basato su DNS sia i Controlli di servizio VPC.
  • Puoi specificare fino a 100 intervalli di indirizzi IP autorizzati (inclusi gli indirizzi IP esterni e interni).

Accesso al networking del cluster

Questa sezione illustra l'isolamento dei nodi all'interno di un cluster Kubernetes.

Abilita nodi privati

Impedisci ai client esterni di accedere ai nodi eseguendo il provisioning solo con indirizzi IP interni, rendendoli privati. I carichi di lavoro in esecuzione sui nodi senza un indirizzo IP esterno non possono raggiungere internet a meno che non sia attivato NAT sulla rete del cluster. Puoi modificare queste impostazioni in qualsiasi momento.

Puoi abilitare i nodi privati a livello di singolo cluster o a livello di pool di nodi (per Standard) o di carico di lavoro (per Autopilot). L'attivazione dei nodi privati a livello di pool di nodi o di carico di lavoro sostituisce qualsiasi configurazione dei nodi a livello di cluster.

Se aggiorni un pool di nodi pubblico in modalità privata, i carichi di lavoro che richiedono l'accesso al di fuori della rete del cluster potrebbero non riuscire nei seguenti scenari:

  • Cluster in una rete VPC condiviso in cui l'accesso privato Google non è attivo. Abilita manualmente l'accesso privato Google per assicurarti che GKE scarichi l'immagine del nodo assegnata. Per i cluster che non si trovano in una rete VPC condiviso, GKE abilita automaticamente l'accesso privato Google.

  • Carichi di lavoro che richiedono l'accesso a internet in cui Cloud NAT non è attivo o non è definita una soluzione NAT personalizzata. Per consentire il traffico in uscita su internet, abilita Cloud NAT o una soluzione NAT personalizzata.

Indipendentemente dal fatto che i nodi privati siano abilitati o meno, il piano di controllo comunica con tutti i nodi solo tramite indirizzi IP interni.

Vantaggi dell'isolamento della rete

Di seguito sono riportati i vantaggi dell'isolamento della rete:

  • Flessibilità:

    • I cluster hanno una configurazione unificata e flessibile. I cluster con o senza endpoint esterni condividono tutti la stessa architettura e supportano la stessa funzionalità. Puoi proteggere l'accesso in base a controlli e best practice che soddisfano le tue esigenze. Tutte le comunicazioni tra i nodi nel cluster e il piano di controllo utilizzano un indirizzo IP interno.
    • Puoi modificare le impostazioni di accesso al piano di controllo e di configurazione dei nodi del cluster in qualsiasi momento senza dover ricreare il cluster.
    • Puoi scegliere di attivare l'endpoint esterno del piano di controllo se devi gestire il cluster da qualsiasi posizione con accesso a internet o da reti o dispositivi non collegati direttamente alla VPC. In alternativa, puoi disattivare l'endpoint esterno per una maggiore sicurezza se devi mantenere l'isolamento della rete per i carichi di lavoro sensibili. In entrambi i casi, puoi utilizzare le reti autorizzate per limitare l'accesso agli intervalli IP attendibili.
  • Sicurezza:

    • Gli endpoint basati su DNS con Controlli di servizio VPC forniscono un modello di sicurezza a più livelli che protegge il cluster dalle reti non autorizzate e dalle identità non autorizzate che accedono al control plane. I Controlli di servizio VPC si integrano con Cloud Audit Logs per monitorare l'accesso al control plane.
    • I nodi privati e i carichi di lavoro in esecuzione su questi nodi non sono direttamente accessibili dalla rete internet pubblica, il che riduce notevolmente il potenziale di attacchi esterni al cluster.
    • Puoi bloccare l'accesso al piano di controllo da indirizzi IP esterni di Google Cloud o da indirizzi IP esterni per isolare completamente il piano di controllo del cluster e ridurre l'esposizione a potenziali minacce alla sicurezza.
  • Conformità: se lavori in un settore con normative rigide per l'accesso e lo stoccaggio dei dati, i nodi privati ti aiutano a garantire la conformità assicurando che i dati sensibili rimangano all'interno della tua rete privata.

  • Controllo: i nodi privati ti consentono di avere un controllo granulare sul flusso di traffico all'interno e all'esterno del cluster. Puoi configurare regole firewall e criteri di rete per consentire solo le comunicazioni autorizzate. Se operi in ambienti multi-cloud, i nodi privati possono aiutarti a stabilire comunicazioni sicure e controllate tra ambienti diversi.

  • Costo: attivando i nodi privati, puoi ridurre i costi per i nodi che non richiedono un indirizzo IP esterno per accedere ai servizi pubblici su internet.

Passaggi successivi