Sicurezza di Private Service Connect
Questa pagina fornisce una panoramica della sicurezza di Private Service Connect.
Private Service Connect fornisce diversi controlli per la gestione dell'accesso alle risorse Private Service Connect. Puoi controllare chi può eseguire il deployment delle risorse Private Service Connect, se è possibile stabilire connessioni tra consumer e producer e a quale traffico di rete è consentito accedere a queste connessioni.
Questi controlli vengono implementati utilizzando i seguenti elementi:
- Le autorizzazioni Identity and Access Management (IAM) determinano quali principal IAM possono eseguire il deployment di risorse Private Service Connect, come endpoint, backend e servizi. Un'entità IAM è un Account Google, un account di servizio, un gruppo Google, un account Google Workspace o un dominio Cloud Identity che può accedere a una risorsa.
- Gli elenchi di accettazione e rifiuto di Private Service Connect e i criteri dell'organizzazione determinano se le connessioni Private Service Connect possono essere stabilite tra singoli consumer e producer.
- Le regole firewall VPC determinano se a un determinato traffico TCP o UDP è consentito accedere alle connessioni Private Service Connect.
La figura 1 descrive come interagiscono questi controlli sui lati consumer e producer di una connessione Private Service Connect.
Figura 1. Le autorizzazioni IAM, le policy dell'organizzazione, gli elenchi di accettazione e rifiuto e le regole firewall VPC collaborano per proteggere i lati consumer e producer di una connessione Private Service Connect (fai clic per ingrandire).
IAM
Risorse: tutte
Ogni risorsa Private Service Connect è regolata da una o più autorizzazioni IAM. Queste autorizzazioni consentono agli amministratori di applicare quali entità IAM possono eseguire il deployment di risorse Private Service Connect.
IAM non regola quali entità IAM possono connettersi a una connessione Private Service Connect o utilizzarla. Per controllare quali endpoint o backend possono stabilire una connessione con un servizio, utilizza le policy dell'organizzazione o gli elenchi di accettazione del consumatore. Per controllare quali client possono inviare traffico alle risorse Private Service Connect, utilizza i firewall VPC o le policy firewall.
Per saperne di più sulle autorizzazioni IAM, consulta Autorizzazioni IAM.
Per informazioni sulle autorizzazioni necessarie per creare un endpoint, consulta Crea un endpoint.
Per informazioni sulle autorizzazioni necessarie per creare un service attachment, consulta Pubblicare un servizio con approvazione esplicita.
Stati della connessione
Risorse: endpoint, backend e service attachment
Endpoint, backend e collegamenti ai servizi di Private Service Connect hanno stati di connessione che descrivono lo stato delle loro connessioni. Le risorse consumer e producer che costituiscono i due lati di una connessione hanno sempre lo stesso stato. Puoi visualizzare gli stati della connessione quando visualizzi i dettagli dell'endpoint, descrivi un backend o visualizzi i dettagli di un servizio pubblicato.
La tabella seguente descrive i possibili stati.
| Stato della connessione | Descrizione |
|---|---|
| Accettato | La connessione Private Service Connect è stata stabilita. Le due reti VPC hanno connettività e la connessione funziona normalmente. |
| In attesa | La connessione Private Service Connect non è stabilita e il traffico di rete non può essere trasferito tra le due reti. Una connessione potrebbe avere questo stato per i seguenti motivi:
Le connessioni bloccate per questi motivi rimangono in stato di attesa a tempo indeterminato finché il problema sottostante non viene risolto. |
| Rifiutata | La connessione Private Service Connect non è stata stabilita. Il traffico di rete non può essere trasferito tra le due reti. Una connessione potrebbe avere questo stato per i seguenti motivi:
|
| Richiede attenzione | Si è verificato un problema sul lato producer della connessione. Parte del traffico potrebbe spostarsi tra le due reti, ma alcune connessioni potrebbero non funzionare. Ad esempio, la subnet NAT del producer potrebbe essere esaurita e non essere in grado di allocare indirizzi IP per nuove connessioni. |
| Chiuso | Il collegamento al servizio è stato eliminato e la connessione Private Service Connect è chiusa. Il traffico di rete non può essere trasferito tra le due reti. Una connessione chiusa è uno stato terminale. Per ripristinare la connessione, devi ricreare sia il collegamento al servizio sia l'endpoint o il backend. |
Configurazione del collegamento del servizio
Puoi controllare quali consumer possono connettersi a un collegamento del servizio utilizzando le seguenti funzionalità.
Preferenza di connessione
Risorse: endpoint e backend
Ogni collegamento al servizio ha una preferenza di connessione che controlla se le connessioni vengono accettate automaticamente.
- Accetta automaticamente tutte le connessioni. L'allegato di servizio accetta automaticamente tutte le richieste di connessione in entrata da qualsiasi consumer.
- Accetta esplicitamente le connessioni dai consumatori selezionati. L'allegato di servizio accetta richieste di connessione in entrata solo se il consumer si trova nell'elenco di accettazione dei consumer dell'allegato di servizio. Puoi specificare i consumer per progetto, rete VPC o singolo endpoint Private Service Connect (anteprima). Non puoi includere diversi tipi di consumatori nello stesso elenco di accettazione o rifiuto dei consumatori.
Per entrambe le preferenze di connessione, le connessioni accettate possono essere sostituite e rifiutate da un criterio dell'organizzazione che blocca le connessioni in entrata.
Ti consigliamo di accettare esplicitamente le connessioni per i consumatori selezionati. L'accettazione automatica di tutte le connessioni potrebbe essere appropriata se controlli l'accesso dei consumatori con altri mezzi e vuoi abilitare l'accesso permissivo al tuo servizio.
Liste di accettazione e rifiuto
Risorse: endpoint e backend
Gli elenchi di accettazione dei consumer e gli elenchi di rifiuto dei consumer sono una funzionalità di sicurezza degli allegati del servizio. Questi elenchi consentono ai producer di servizi di specificare quali consumer possono stabilire connessioni Private Service Connect ai loro servizi. Quando un collegamento di servizio è configurato per l'approvazione esplicita, una nuova connessione viene accettata solo se il consumer è presente nell'elenco di accettazione e non in quello di rifiuto. Gli aggiornamenti agli elenchi di consumer influiscono solo sulle nuove connessioni, a meno che non sia abilitata la riconciliazione delle connessioni.
Gli elenchi di consumatori accettati e rifiutati ti consentono di specificare i consumatori in uno dei seguenti modi:
- Progetto
- Rete VPC
Endpoint Private Service Connect (anteprima)
Questo metodo non si applica ai backend Private Service Connect.
Se aggiungi lo stesso consumer sia all'elenco di accettazione sia a quello di rifiuto, il consumer non potrà connettersi al collegamento del servizio. La specifica dei consumatori per cartella non è supportata.
Entrambi gli elenchi di consumer di un collegamento del servizio devono contenere lo stesso tipo di consumer. Ad esempio, se aggiungi un progetto a un elenco di accettazione, non puoi aggiungere un URI di rete VPC o endpoint a nessuno dei due elenchi, a meno che tu non sostituisca il progetto nell'elenco di accettazione con il nuovo tipo di consumer.
Se vuoi pubblicare un servizio che accetta diversi tipi di consumer, puoi creare più collegamenti al servizio che si connettono allo stesso servizio. Ogni collegamento al servizio può essere configurato con le proprie preferenze di connessione ed elenchi di consumer.
Puoi modificare il tipo di consumatore negli elenchi di consumatori senza interrompere le connessioni, ma devi apportare la modifica in un unico aggiornamento. In caso contrario, l'operazione non andrà a buon fine.
Esistono limiti al numero di consumatori che puoi aggiungere agli elenchi di accettazione e rifiuto:
- Puoi aggiungere un massimo di 5000 valori all'elenco di accettazione dei consumatori.
- Puoi aggiungere un massimo di 64 valori all'elenco di rifiuto dei consumatori.
Gli elenchi di consumer controllano se un endpoint o un backend può connettersi a un servizio pubblicato, ma
non controllano chi può inviare richieste a quell'endpoint. Ad esempio, supponiamo che un consumer abbia una
rete VPC condivisa
a cui sono collegati due progetti di servizio. Se un servizio pubblicato ha
service-project1 nell'elenco di accettazione dei consumatori e service-project2
nell'elenco di rifiuto dei consumatori, si applica quanto segue:
-
Un consumer in
service-project1può creare un endpoint che si connette al servizio pubblicato. -
Un consumatore in
service-project2non può creare un endpoint che si connette al servizio pubblicato. -
Un client in
service-project2può inviare richieste all'endpoint inservice-project1, se non esistono regole o criteri firewall che impediscono questo traffico.
Quando aggiorni un elenco di accettazione o rifiuto dei consumatori, l'effetto sulle connessioni esistenti varia a seconda che la riconciliazione delle connessioni sia abilitata. Per saperne di più, vedi Riconciliazione delle connessioni.
Per informazioni su come creare un nuovo collegamento del servizio con elenchi di accettazione o rifiuto dei consumer, vedi Pubblicare un servizio con l'approvazione esplicita del progetto.
Per informazioni su come aggiornare gli elenchi di accettazione o rifiuto dei consumer, vedi Gestire le richieste di accesso a un servizio pubblicato.
Limiti di connessione
Risorse: endpoint e backend
Gli elenchi di accettazione dei consumatori hanno limiti di connessione. Questi limiti impostano il numero totale di connessioni di endpoint e backend Private Service Connect che un collegamento al servizio può accettare dal progetto consumer o dalla rete VPC specificati. La specifica dei limiti di connessione per gli elenchi di accettazione basati su endpoint Private Service Connect non ha effetto, perché solo un endpoint può corrispondere a un determinato URI.
I producer possono utilizzare i limiti di connessione per impedire ai singoli consumer di esaurire gli indirizzi IP o le quote di risorse nella rete VPC producer. Ogni connessione Private Service Connect accettata viene sottratta dal limite configurato per un progetto consumer o una rete VPC. I limiti vengono impostati quando crei o aggiorni gli elenchi di accettazione dei consumatori. Puoi visualizzare le connessioni di un collegamento del servizio quando descrivi un collegamento del servizio.
Le connessioni propagate non vengono conteggiate ai fini di questi limiti.
Ad esempio, considera un caso in cui un collegamento del servizio ha un elenco di accettazione dei consumer che include
project-1 e project-2, entrambi con un limite di una connessione. Il progetto project-1 richiede due connessioni, project-2 ne richiede una e project-3 ne richiede una. Poiché project-1 ha
un limite di una connessione, la prima connessione viene accettata e la seconda rimane in attesa.
La connessione da project-2 è accettata e la connessione da
project-3 rimane in attesa. La seconda connessione da project-1 può essere
accettata aumentando il limite per project-1. Se
project-3 viene aggiunto all'elenco di accettazione dei consumatori, la connessione passa da
in attesa ad accettata.
Criteri dell'organizzazione
Le policy dell'organizzazione ti consentono di controllare in modo generale quali progetti possono connettersi a reti VPC o organizzazioni utilizzando Private Service Connect.
Le policy dell'organizzazione descritte in questa pagina possono bloccare o rifiutare nuove connessioni Private Service Connect, ma non influiscono sulle connessioni esistenti.
Una policy dell'organizzazione si applica ai discendenti della risorsa a cui fa riferimento in base alla valutazione gerarchica. Ad esempio, una policy dell'organizzazione che limita l'accesso a un'organizzazione Google Cloud si applica anche alle cartelle, ai progetti e alle risorse secondarie dell'organizzazione. Analogamente, elencare un'organizzazione come valore consentito consente anche l'accesso alle organizzazioni secondarie.
Per saperne di più sulle policy dell'organizzazione, consulta la pagina Policy dell'organizzazione.
Policy dell'organizzazione lato consumatore
Puoi utilizzare i vincoli di elenco per controllare il deployment di endpoint e backend. Se un endpoint o un backend viene bloccato da una policy dell'organizzazione consumer, la creazione della risorsa non va a buon fine.
- Utilizza il vincolo di elenco
restrictPrivateServiceConnectProducerper controllare a quali endpoint e backend dei collegamenti di servizio è possibile connettersi in base all'organizzazione del producer. - Utilizza il vincolo di elenco
disablePrivateServiceConnectCreationForConsumersper controllare il deployment degli endpoint in base al tipo di connessione dell'endpoint. Puoi bloccare il deployment degli endpoint che si connettono alle API di Google oppure puoi bloccare il deployment degli endpoint che si connettono ai servizi pubblicati.
Impedisci agli endpoint o ai backend di connettersi alle organizzazioni producer
Risorse: endpoint e backend
I criteri dell'organizzazione che utilizzano il vincolo di elenco restrictPrivateServiceConnectProducer con valori consentiti impediscono agli endpoint e ai backend di connettersi agli allegati di servizio, a meno che questi non siano associati a uno dei valori consentiti del criterio. Un criterio di questo tipo blocca le connessioni anche se
sono consentite dall'elenco di accettazione del consumatore dell'allegato di servizio.
Ad esempio, il seguente criterio dell'organizzazione si applica a un'organizzazione denominata
Org-A:
name: organizations/Org-A/policies/compute.restrictPrivateServiceConnectProducer
spec:
rules:
– values:
allowedValues:
- under:organizations/ORG_A_NUMBER
- under:organizations/433637338589
La Figura 2 mostra il risultato di questo criterio dell'organizzazione. I criteri hanno consentito
valori per Org-A (ORG_A_NUMBER) e
Google-org (433637338589). Gli endpoint e i backend
creati in Org-A possono comunicare con gli allegati di servizio in
Org-A, ma non con gli allegati di servizio in Org-B.
Figura 2. Una policy dell'organizzazione consente all'endpoint
psc-1 di connettersi al collegamento del servizio sa-1 e
impedisce a psc-3 di connettersi ai collegamenti del servizio in
Org-B. Endpoint e backend in Org-A possono connettersi
ai collegamenti ai servizi di proprietà di Google (fai clic per ingrandire).
Puoi consentire alle istanze dei seguenti tipi di risorse di creare endpoint
con il vincolo compute.restrictPrivateServiceConnectProducer:
- Organizzazioni
- Cartelle
- Progetti
Per informazioni su come creare una policy dell'organizzazione che utilizza il vincolo
compute.restrictPrivateServiceConnectProducer, consulta
Impedire a endpoint e backend di connettersi a service attachment non autorizzati.
Bloccare la creazione di endpoint per tipo di connessione
Risorse interessate: endpoint
Puoi utilizzare il vincolo dell'elenco disablePrivateServiceConnectCreationForConsumers per bloccare la creazione di endpoint in base alla connessione alle API di Google o ai servizi pubblicati (allegati di servizio).
Per informazioni su come creare una policy dell'organizzazione che utilizza il vincolo
disablePrivateServiceConnectCreationForConsumers, consulta
Impedire ai consumer di eseguire il deployment degli endpoint per tipo di connessione.
Policy dell'organizzazione lato produttore
Risorse interessate: endpoint e backend
Puoi utilizzare le policy dell'organizzazione con il
compute.restrictPrivateServiceConnectConsumer
vincolo di elenco per controllare quali endpoint e backend possono connettersi ai collegamenti di servizio Private Service Connect all'interno di un'organizzazione o di un progetto produttore. Se un endpoint o un backend viene rifiutato da una
policy dell'organizzazione producer, la creazione della risorsa va a buon fine, ma
la connessione entra nello stato rifiutato.
Il controllo dell'accesso in questo modo è simile all'utilizzo di elenchi di accettazione e rifiuto, tranne per il fatto che i criteri dell'organizzazione si applicano a tutti gli allegati di servizio in un progetto o in un'organizzazione anziché a un singolo allegato di servizio.
Puoi utilizzare insieme le policy dell'organizzazione e gli elenchi di accettazione. Le policy dell'organizzazione applicano in modo generale l'accesso a un servizio gestito, mentre gli elenchi di accettazione controllano l'accesso ai singoli allegati di servizio.
I criteri dell'organizzazione che utilizzano il vincolo compute.restrictPrivateServiceConnectConsumer rifiutano le connessioni da endpoint e backend, a meno che l'endpoint o il backend non sia associato a uno dei valori consentiti del criterio. Un criterio di questo tipo rifiuta le connessioni
anche se sono consentite da una lista consentita.
Ad esempio, il seguente criterio dell'organizzazione si applica a un'organizzazione denominata Org-A:
name: organizations/Org-A/policies/compute.restrictPrivateServiceConnectConsumer
spec:
rules:
- values:
allowedValues:
- under:organizations/ORG_A_NUMBER
La figura 3 mostra il risultato di questo criterio dell'organizzazione. Il criterio ha un valore consentito per Org-A (ORG_A_NUMBER). Gli endpoint in altre reti VPC in Org-A possono connettersi agli allegati di servizio in Org-A. Gli endpoint in Org-B che tentano di connettersi vengono rifiutati.
Figura 3. Un criterio dell'organizzazione consente a psc-1
di connettersi a sa-1, mentre impedisce a psc-2 di
connettersi (fai clic per ingrandire).
Una policy dell'organizzazione si applica ai discendenti della risorsa a cui fa riferimento in base alla valutazione gerarchica. Ad esempio, una policy dell'organizzazione che limita l'accesso a un'organizzazione Google Cloud si applica anche alle cartelle, ai progetti e alle risorse secondarie dell'organizzazione. Analogamente, elencare un'organizzazione come valore consentito consente anche l'accesso alle organizzazioni secondarie.
Puoi consentire alle istanze dei seguenti tipi di risorse di creare endpoint
con il vincolo restrictPrivateServiceConnectConsumer:
- Organizzazioni
- Cartelle
- Progetti
Per saperne di più sull'utilizzo delle policy dell'organizzazione con i produttori di servizi, consulta Policy dell'organizzazione del produttore.
Interazione tra gli elenchi di accettazione dei consumatori e i criteri dell'organizzazione
Gli elenchi di accettazione dei consumer e i criteri dell'organizzazione controllano se è possibile stabilire una connessione tra due risorse Private Service Connect. Le connessioni vengono bloccate se un elenco di accettazione o una policy dell'organizzazione nega la connessione.
Ad esempio, un criterio con il vincolo restrictPrivateServiceConnectConsumer può
essere configurato per bloccare le connessioni provenienti dall'esterno dell'organizzazione del producer. Anche se un
service attachment è configurato per accettare automaticamente tutte le connessioni, il criterio
dell'organizzazione blocca comunque le connessioni provenienti dall'esterno dell'organizzazione del produttore. Ti consigliamo di utilizzare
sia le liste consentite sia i criteri dell'organizzazione per fornire una sicurezza
a più livelli.
Firewall
Risorse: tutte
Puoi utilizzare le regole firewall VPC e le policy firewall per controllare l'accesso a livello di rete alle risorse Private Service Connect.
Per saperne di più sulle regole firewall VPC in generale, consulta Regole firewall VPC.
Per saperne di più sull'utilizzo delle regole firewall VPC per limitare l'accesso a endpoint o backend in una rete VPC consumer, consulta Utilizza le regole firewall per limitare l'accesso a endpoint o backend.