Protezione delle risorse con Controlli di servizio VPC

Per proteggere ulteriormente le risorse Compute Engine, puoi usarle con Controlli di servizio VPC.

I Controlli di servizio VPC consentono di definire un perimetro di sicurezza per le risorse Compute Engine. Il perimetro di servizio limita l'esportazione e l'importazione delle risorse e dei dati associati all'interno del perimetro definito.

Quando crei un perimetro di servizio, selezioni uno o più progetti che devono essere protetti dal perimetro. Le richieste tra progetti all'interno dello stesso perimetro non vengono interessate. Tutte le API esistenti continuano a funzionare, purché le risorse coinvolte si trovino all'interno dello stesso perimetro di servizio. Tieni presente che i ruoli e i criteri IAM continuano a essere applicati all'interno di un perimetro di servizio.

Quando un servizio è protetto da un perimetro, il servizio all'interno del perimetro non può effettuare richieste a nessuna risorsa all'esterno del perimetro. È inclusa l'esportazione delle risorse dall'interno all'esterno del perimetro. Sono possibili richieste di risorse protette dall'esterno di un perimetro se soddisfano determinati criteri. Per ulteriori informazioni, consulta Panoramica nella documentazione sui Controlli di servizio VPC.

Quando viene effettuata una richiesta che viola il perimetro di servizio, la richiesta non riesce e restituisce il seguente errore:

"code": 403, "message": "Request is prohibited by organization's policy."

Vantaggi per la sicurezza

I Controlli di servizio VPC offrono i seguenti vantaggi in termini di sicurezza:

  • L'accesso a operazioni sensibili dell'API Compute Engine, come la modifica delle regole firewall, può essere limitato all'accesso privato dalle reti autorizzate o agli indirizzi IP nella lista consentita.
  • Gli snapshot di disco permanente e le immagini personalizzate di Compute Engine possono essere limitati a un perimetro.
  • I metadati delle istanze Compute Engine agiscono come un sistema di archiviazione limitato. L'accesso ai metadati dell'istanza tramite l'API Compute Engine è limitato dai criteri del perimetro di servizio, che riduce i rischi di esfiltrazione utilizzando questo canale.

Inoltre, ora l'API Compute Engine è accessibile sull'IP virtuale (VIP) limitato. Ciò semplifica la configurazione di Cloud DNS e del routing per i client all'interno del perimetro che devono accedere a questa API.

Limitazioni

  • I firewall gerarchici non sono interessati dai perimetri di servizio.
  • Le operazioni di peering VPC non applicano restrizioni per il perimetro di servizio VPC.
  • Il metodo API projects.ListXpnHosts per il VPC condiviso non applica limitazioni per perimetro di servizio sui progetti restituiti.

Autorizzazioni

Assicurati di disporre dei ruoli appropriati per amministrare le configurazioni del perimetro dei controlli di servizio VPC per la tua organizzazione.

Configurazione di un perimetro di servizio

Segui le istruzioni sulla creazione di un perimetro di servizio nella documentazione sui Controlli di servizio VPC per configurare un perimetro di servizio.

Se configuri un perimetro di servizio utilizzando Google Cloud CLI, specifica compute.googleapis.com con il flag --restricted-services per limitare l'API Compute Engine.

Aggiunta di Compute Engine come servizio limitato a un perimetro esistente

Se hai già un perimetro di servizio e vuoi aggiungere Compute Engine al perimetro di servizio, segui le istruzioni riportate in Aggiornamento di un perimetro di servizio nella documentazione sui Controlli di servizio VPC.

Creazione di una VM con Controlli di servizio VPC

Dopo aver configurato un perimetro di servizio, non è necessario apportare modifiche alle chiamate API o agli strumenti esistenti, purché le risorse interessate nelle tue richieste siano incluse nello stesso perimetro di servizio. Ad esempio, il comando seguente crea un'istanza VM con un'immagine di esempio. In questo caso, il comando ha esito negativo se IMAGE_PROJECT si trova all'esterno del perimetro di servizio (e non esiste un bridge del perimetro di servizio tra i progetti).

gcloud compute instances create new-instance \
    --image-family IMAGE_FAMILY --image-project IMAGE_PROJECT \
    --zone us-central1-a --machine-type n1-standard-72

Se stai creando una VM da un modello di istanza, tutte le risorse a cui viene fatto riferimento nel modello di istanza devono appartenere allo stesso perimetro di servizio in cui esegui il comando o essere connesse tramite un bridge del perimetro di servizio. La richiesta non va a buon fine se il modello di istanza fa riferimento a una risorsa esterna al perimetro di servizio, anche se il modello di istanza si trova all'interno del perimetro.

Per uno scenario di esempio di un client Compute Engine all'esterno del perimetro, che crea un disco Compute Engine all'esterno del perimetro, utilizzando una chiave Cloud KMS all'interno del perimetro, consulta Esempi di richieste API consentite da una combinazione di regole di traffico in entrata e in uscita.

Progetti di immagini pubbliche

Google fornisce e gestisce un insieme di immagini pubbliche per le tue istanze. Questi progetti sono implicitamente inclusi in tutti i perimetri di sicurezza. Non sono richieste ulteriori azioni per utilizzare queste immagini.

Di seguito è riportato un elenco di progetti inclusi automaticamente in tutti i perimetri di sicurezza:

  • centos-cloud
  • cos-cloud
  • debian-cloud
  • fedora-cloud
  • fedora-coreos-cloud
  • rhel-cloud
  • rhel-sap-cloud
  • rocky-linux-cloud
  • opensuse-cloud
  • suse-cloud
  • suse-byos-cloud
  • suse-sap-cloud
  • ubuntu-os-cloud
  • ubuntu-os-pro-cloud
  • windows-cloud
  • windows-sql-cloud

Se utilizzi un progetto immagine non incluso in questo elenco e scegli di non includerlo direttamente nel perimetro di sicurezza, ti consigliamo di creare prima una copia di tutte le immagini da utilizzare in un progetto separato e poi di includere il progetto separato nel perimetro di sicurezza.

Copia delle immagini con Controlli di servizio VPC

Puoi copiare immagini da un progetto all'altro se entrambi i progetti appartengono allo stesso perimetro di servizio. In questo esempio, sia DST_PROJECT sia SRC_PROJECT devono appartenere allo stesso perimetro di servizio affinché la richiesta funzioni.

gcloud compute images create --project DST_PROJECT IMAGE_NAME \
   --source-image SOURCE_IMAGE --source-image-project SRC_PROJECT \
    --family IMAGE_FAMILY --storage-location LOCATION

Se scegli di non includere il progetto immagine direttamente nel perimetro di sicurezza, ti consigliamo di creare prima una copia di tutte le immagini da utilizzare in un progetto separato e poi di includere il progetto nel perimetro di sicurezza.

VPC condiviso con Controlli di servizio VPC

Quando si utilizza un VPC condiviso, vengono applicate le limitazioni del perimetro di servizio da applicare a tutti i progetti associati a una determinata operazione. In altre parole, consigliamo di verificare che il progetto host e i progetti di servizio si trovino all'interno dello stesso perimetro di servizio quando un'operazione coinvolge risorse distribuite tra i progetti host e di servizio.

Peering di rete VPC

Il peering di rete VPC consente di eseguire il peering di reti VPC tra due organizzazioni separate. Poiché un perimetro di servizio è limitato ai progetti all'interno di un'organizzazione, i perimetri di servizio non influiscono sulle reti VPC di peering.

Firewall gerarchici

I firewall gerarchici sono firewall configurati all'esterno di un progetto (a livello di cartella o di organizzazione). Le restrizioni per i perimetri di servizio si applicano a un insieme di progetti all'interno di un perimetro, quindi non si applicano ai firewall gerarchici.

gruppi di istanze gestite

I gruppi di istanze gestite consentono di gestire un gruppo di istanze VM come una singola entità. I gruppi di istanze gestite utilizzano modelli di istanza per creare VM. Vengono applicate tutte le restrizioni relative alle immagini o alle reti e alle subnet tra progetti. In altre parole, quando utilizzi immagini di altri progetti, assicurati che i progetti appartengano allo stesso perimetro o copia le immagini necessarie in un altro progetto e includi il progetto nel perimetro di servizio. I progetti di immagini pubbliche gestiti da Google sono inclusi automaticamente in tutti i perimetri di servizio.

Se vuoi utilizzare gruppi di istanze con VPC condiviso, assicurati che i progetti si trovino nello stesso perimetro di sicurezza.

Passaggi successivi