Protezione delle risorse con Controlli di servizio VPC

Per proteggere ulteriormente le risorse di Compute Engine, puoi proteggerle utilizzando i Controlli di servizio VPC.

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

Quando crei un perimetro di servizio, devi selezionare uno o più progetti da proteggere dal perimetro. Le richieste tra progetti all'interno dello stesso perimetro rimangono invariate. Tutte le API esistenti continuano a funzionare purché le risorse interessate si trovino nello stesso perimetro di servizio. Tieni presente che i ruoli e i criteri IAM si applicano comunque all'interno di un perimetro di servizio.

Quando un servizio è protetto da un perimetro, le richieste non possono essere effettuate dal servizio all'interno del perimetro per qualsiasi risorsa all'esterno del perimetro. Questo include l'esportazione di risorse dall'interno e dall'esterno del perimetro. Le richieste di risorse protette all'esterno di un perimetro sono possibili se soddisfano determinati criteri. Per ulteriori informazioni, consulta la Panoramica nella documentazione dei Controlli di servizio VPC.

Quando viene effettuata una richiesta che viola il perimetro di servizio, la richiesta non riesce con 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 di sicurezza:

  • L'accesso alle operazioni sensibili dell'API Compute Engine, come la modifica delle regole firewall, può essere limitato all'accesso privato da reti autorizzate o agli indirizzi IP autorizzati.
  • Gli snapshot dei dischi permanenti e le immagini personalizzate di Compute Engine possono essere limitati a un perimetro.
  • I metadati dell'istanza di Compute Engine agiscono come sistema di archiviazione limitato. L'accesso ai metadati dell'istanza tramite l'API Compute Engine è limitato dai criteri del perimetro di servizio, per ridurre i rischi di esfiltrazione utilizzando questo canale.

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

Limitazioni

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

Autorizzazioni

Assicurati di disporre dei ruoli appropriati per amministrare le configurazioni dei perimetri di controllo dei servizi VPC per la tua organizzazione.

Configurazione di un perimetro di servizio

Segui le istruzioni in Creazione di un perimetro di servizio nella documentazione dei Controlli di servizio VPC per configurare un perimetro di servizio.

Se configuri un perimetro di servizio mediante l'interfaccia a riga di comando di Google Cloud, 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 un perimetro di servizio esistente e vuoi aggiungere Compute Engine al perimetro di servizio, segui le istruzioni riportate in Aggiornamento di un perimetro di servizio nella documentazione dei 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 richieste siano incluse nello stesso perimetro di servizio. Ad esempio, il seguente comando crea un'istanza VM con un'immagine di esempio. In questo caso, il comando non riesce se IMAGE_PROJECT è al di fuori 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 connessi utilizzando un bridge del perimetro di servizio. La richiesta non va a buon fine se il modello dell'istanza fa riferimento a una risorsa all'esterno del perimetro di servizio, anche se il modello di istanza si trova entro il perimetro.

Progetti di immagini pubblici

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 è richiesta alcuna azione aggiuntiva per utilizzare queste immagini.

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

  • coreos-cloud
  • cos-cloud
  • debian-cloud
  • rhel-cloud
  • rhel-sap-cloud
  • suse-cloud
  • suse-sap-cloud
  • ubuntu-sap-cloud
  • windows-cloud
  • windows-sql-cloud

Se utilizzi un progetto immagine non incluso in questo elenco e scegli di non includere il progetto immagine direttamente nel tuo perimetro di sicurezza, ti consigliamo di fare prima una copia di tutte le immagini per utilizzarle in un progetto separato, quindi includere il progetto separato nel tuo perimetro di sicurezza.

Copia di immagini con Controlli di servizio VPC

Puoi copiare immagini da un progetto a un altro se entrambi 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 tuo perimetro di sicurezza, ti consigliamo di fare prima una copia di tutte le immagini in un progetto a parte, quindi includere il progetto separato nel tuo perimetro di sicurezza.

VPC condiviso con Controlli di servizio VPC

Quando utilizzi VPC condiviso, le limitazioni del perimetro di servizio da applicare a tutti i progetti coinvolti in una determinata operazione. In altre parole, devi assicurarti che il progetto host e i progetti di servizio si trovino all'interno dello stesso perimetro di servizio quando un'operazione riguarda risorse distribuite tra l'host e i progetti di servizio.

Peering di rete VPC

Il peering di rete VPC consente 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 limitazioni del perimetro di servizio si applicano a un insieme di progetti all'interno di un perimetro, quindi non ai firewall gerarchici.

Gruppi di istanze gestite

I gruppi di istanze gestite ti aiutano a gestire un gruppo di istanze VM come una singola entità. I gruppi di istanze gestite (MIG) utilizzano i modelli di istanza per creare le VM e si applicano 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 oppure copia le immagini necessarie in un altro progetto e includi tale progetto nel perimetro di servizio. I progetti di immagini pubbliche gestite da Google vengono inclusi automaticamente in tutti i perimetri di servizio.

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

Passaggi successivi