Sicurezza di Private Service Connect

Questa pagina fornisce una panoramica della sicurezza di Private Service Connect.

Private Service Connect fornisce diversi controlli per gestire l'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 quale traffico di rete è autorizzato ad accedere a queste connessioni.

Questi controlli vengono implementati utilizzando i seguenti elementi:

La Figura 1 descrive l'interazione di questi controlli lato consumer e lato producer di una connessione Private Service Connect.

Figura 1. Le autorizzazioni IAM, i criteri dell'organizzazione, gli elenchi di accettazione e rifiuto e le regole del 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 le regole su quali entità IAM possono eseguire il deployment delle risorse Private Service Connect.

IAM non regola le entità IAM che possono collegarsi o utilizzare una connessione Private Service Connect. Per controllare quali endpoint o backend possono stabilire una connessione con un servizio, utilizza i criteri dell'organizzazione o gli elenchi di accettazione dei consumatori. Per controllare quali client possono inviare traffico alle risorse Private Service Connect, utilizza i firewall o i criteri firewall VPC.

Per ulteriori informazioni sulle autorizzazioni IAM, consulta Autorizzazioni IAM.

Per informazioni sulle autorizzazioni necessarie per creare un endpoint, consulta Creare un endpoint.

Per informazioni sulle autorizzazioni necessarie per creare un allegato del servizio, consulta Pubblicare un servizio con approvazione esplicita.

Stati di connessione

Risorse: endpoint, backend e collegamenti di servizio

Gli endpoint, i backend e i collegamenti ai servizi Private Service Connect hanno uno stato di connessione che descrive lo stato della connessione. Le risorse consumer e producer che formano i due lati di una connessione hanno sempre lo stesso stato. Puoi visualizzare gli stati di connessione quando visualizzi i dettagli dell'endpoint, descrivi un backend o visualizzi i dettagli di un servizio pubblicato.

La seguente tabella descrive i possibili stati.

Stato della connessione Descrizione
Accettata La connessione Private Service Connect è stata stabilita. Le due reti VPC sono connesse 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:

I collegamenti bloccati per questi motivi rimangono nello stato in attesa a tempo indeterminato fino a quando il problema sottostante non viene risolto.

Rifiutata

La connessione Private Service Connect non è 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 o Senza specificare Si è verificato un problema sul lato producer della connessione. Parte del traffico potrebbe essere in grado di transitare tra le due reti, ma alcune connessioni potrebbero non essere funzionali. Ad esempio, la subnet NAT del produttore 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 consumatori possono connettersi a un allegato di servizio utilizzando le seguenti funzionalità.

Preferenza di connessione

Risorse: endpoint e backend

Ogni collegamento al servizio ha una preferenza di connessione che specifica se le richieste di connessione vengono accettate automaticamente. Le opzioni sono tre:

  • Accetta automaticamente tutte le connessioni. Il collegamento del servizio accetta automaticamente tutte le richieste di connessione in entrata da qualsiasi consumer. L'accettazione automatica può essere sostituita da un criterio dell'organizzazione che blocca le connessioni in arrivo.
  • Accetta le connessioni per le emittenti selezionate. Il collegamento al servizio accetta solo richieste di connessione in entrata se la rete VPC del consumer è presente nell'elenco di accettazione del consumer del collegamento al servizio.
  • Accetta le connessioni per i progetti selezionati. Il collegamento al servizio accetta soltanto le richieste di connessione in entrata se il progetto consumer è presente nell'elenco di accettazione del consumer del collegamento al servizio.

Ti consigliamo di accettare le connessioni per i progetti o le emittenti selezionati. L'accettazione automatica di tutte le connessioni potrebbe essere appropriata se controlli l'accesso dei consumatori tramite altri mezzi e vuoi abilitare l'accesso permissivo al tuo servizio.

Accettare e rifiutare gli elenchi

Risorse: endpoint e backend

Gli elenchi di accettazione dei consumatori e gli elenchi di rifiuto dei consumatori sono una funzionalità di sicurezza degli allegati dei servizi. Gli elenchi di accettazione e rifiuto consentono ai produttori di servizi di specificare quali consumatori possono stabilire connessioni Private Service Connect ai loro servizi. Gli elenchi di accettazione dei consumatori specificano se una connessione viene accettata, mentre gli elenchi di rifiuto dei consumatori specificano se una connessione viene rifiutata. Entrambi gli elenchi ti consentono di specificare i consumatori in base alla rete VPC o al progetto della risorsa di collegamento. Se aggiungi un progetto o una rete sia all'elenco di accettazione sia all'elenco di rifiuto, le richieste di connessione da quel progetto o da quella rete vengono rifiutate. La specifica dei consumatori per cartella non è supportata.

Gli elenchi di accettazione e di rifiuto dei consumatori ti consentono di specificare progetti o reti VPC, ma non entrambi contemporaneamente. Puoi modificare un elenco da un tipo all'altro senza interrompere le connessioni, ma devi apportare la modifica in un unico aggiornamento. In caso contrario, alcune connessioni potrebbero passare temporaneamente allo stato in attesa.

Gli elenchi consumer controllano se un endpoint 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 con due progetti di servizio collegati. 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-project1 può creare un endpoint che si connette al servizio pubblicato.
  • Un consumatore in service-project2 non può creare un endpoint che si connetta al servizio pubblicato.
  • Un client in service-project2 può inviare richieste all'endpoint in service-project1, se non sono presenti regole o criteri del firewall che impediscono questo traffico.

Quando aggiorni un elenco di accettazione o rifiuto dei consumer, l'effetto sulle connessioni esistenti varia a seconda che la riconciliazione delle connessioni sia abilitata. Per ulteriori informazioni, consulta Riconciliazione delle connessioni.

Per informazioni su come creare un nuovo allegato del servizio con elenchi di accettazione o rifiuto dei consumatori, consulta Pubblicare un servizio con approvazione esplicita del progetto.

Per informazioni su come aggiornare gli elenchi di accettazione o rifiuto dei consumatori, consulta 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 di Private Service Connect che un collegamento di servizio può accettare dal progetto consumer o dalla rete VPC specificata.

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 del producer. Ogni connessione Private Service Connect accettata viene sottratta al limite configurato per un progetto consumer o una rete VPC. I limiti vengono impostati quando create o aggiorni gli elenchi di accettazione dei consumatori. Puoi visualizzare le connessioni di un allegato del servizio quando lo descrivi.

Le connessioni propagate non vengono conteggiate ai fini di questi limiti.

Ad esempio, prendi in considerazione un caso in cui un allegato del servizio abbia un elenco di accettazione dei consumatori che include project-1 e project-2, entrambi con un limite di un collegamento. Il progetto project-1 richiede due connessioni, project-2 richiede una connessione e project-3 richiede una connessione. Poiché project-1 ha un limite di una connessione, la prima viene accettata e la seconda rimane in attesa. La connessione da project-2 è stata accettata, mentre quella 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 pending ad accepted.

Criteri dell'organizzazione

Le norme dell'organizzazione ti consentono di controllare in modo generale quali progetti possono connettersi alle reti o alle organizzazioni VPC utilizzando Private Service Connect.

I criteri dell'organizzazione descritti in questa pagina possono bloccare o rifiutare nuove connessioni Private Service Connect, ma non influiscono sulle connessioni esistenti.

Un criterio dell'organizzazione si applica ai discendenti della risorsa a cui fa riferimento in base alla valutazione gerarchica. Ad esempio, un criterio 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, l'elenco di un'organizzazione come valore consentito consente anche l'accesso alle organizzazioni secondarie di quell'organizzazione.

Per ulteriori informazioni sui criteri dell'organizzazione, consulta Criteri dell'organizzazione.

Norme dell'organizzazione per i consumatori

Puoi utilizzare i vincoli di elenco per controllare il deployment di endpoint e backend. Se un endpoint o un backend è bloccato da un criterio dell'organizzazione consumer, la creazione della risorsa non va a buon fine.

  • Utilizza il vincolo dell'elenco restrictPrivateServiceConnectProducer per controllare a quali endpoint e backend dei collegamenti di servizio è possibile connettersi in base all'organizzazione del produttore.
  • Utilizza il vincolo dell'elenco disablePrivateServiceConnectCreationForConsumers per 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.

Bloccare la connessione di endpoint o backend alle organizzazioni dei produttori

Risorse: endpoint e backend

I criteri dell'organizzazione che utilizzano il vincolo dell'elenco restrictPrivateServiceConnectProducer con valori consentiti impediscono agli endpoint e ai backend di connettersi agli allegati del servizio, a meno che questi ultimi 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 dei consumatori dell'allegato del 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. Il criterio ha 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. Un criterio dell'organizzazione consente all'endpoint psc-1 di connettersi al collegamento di servizio sa-1 e impedisce a psc-3 di connettersi ai collegamenti di servizio in Org-B. Gli endpoint e i backend in Org-A possono collegarsi agli allegati di servizio di proprietà di Google (fai clic per ingrandire).

Puoi consentire a istanze dei seguenti tipi di risorse di creare endpoint con il vincolo compute.restrictPrivateServiceConnectProducer:

  • Organizzazioni
  • Cartelle
  • Progetti

Per informazioni su come creare un criterio dell'organizzazione che utilizzi il vincolo compute.restrictPrivateServiceConnectProducer, consulta Impedire a endpoint e backend di connettersi ad allegati di servizi non autorizzati.

Bloccare la creazione di endpoint in base al tipo di connessione

Risorse interessate: endpoint

Puoi utilizzare il vincolo di elenco disablePrivateServiceConnectCreationForConsumers per bloccare la creazione di endpoint in base al fatto che si connettano alle API di Google o ai servizi pubblicati (allegati di servizio).

Per informazioni su come creare un criterio dell'organizzazione che utilizzi il vincolo disablePrivateServiceConnectCreationForConsumers, consulta Impedire ai consumatori di eseguire il deployment di endpoint in base al tipo di connessione.

Criteri dell'organizzazione lato produttore

Risorse interessate: endpoint e backend

Puoi utilizzare i criteri dell'organizzazione con il compute.restrictPrivateServiceConnectConsumer vincolo di elenco per controllare quali endpoint e backend possono collegarsi ai collegamenti di servizio Private Service Connect all'interno di un organizzazione o progetto di un produttore. Se un endpoint o un backend viene rifiutato da un criterio dell'organizzazione del produttore, 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 liste di accettazione e rifiuto, diversamente dai criteri dell'organizzazione che si applicano a tutti i collegamenti di servizio in un progetto o in un'organizzazione anziché a un singolo collegamento di servizio.

Puoi utilizzare insieme i criteri dell'organizzazione e gli elenchi consentiti, con i criteri dell'organizzazione che applicano in modo generale l'accesso a un servizio gestito e gli elenchi consentiti che controllano l'accesso ai singoli allegati del 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 dei servizi 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 blocca la connessione di psc-2 (fai clic per ingrandire).

Un criterio dell'organizzazione si applica ai discendenti della risorsa a cui fa riferimento in base alla valutazione gerarchica. Ad esempio, un criterio 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, l'elenco di un'organizzazione come valore consentito consente anche l'accesso alle organizzazioni secondarie di quell'organizzazione.

Puoi consentire a istanze dei seguenti tipi di risorse di creare endpoint con il vincolo restrictPrivateServiceConnectConsumer:

  • Organizzazioni
  • Cartelle
  • Progetti

Per ulteriori informazioni sull'utilizzo dei criteri dell'organizzazione con i produttori di servizi, consulta Criteri dell'organizzazione per i produttori.

Interazione tra gli elenchi di accettazione dei consumatori e i criteri dell'organizzazione

Sia gli elenchi di accettazione dei consumatori sia i criteri dell'organizzazione controllano se è possibile stabilire una connessione tra due risorse Private Service Connect. Le connessioni vengono bloccate se una lista consentita o un criterio dell'organizzazione negano la connessione.

Ad esempio, un criterio con il vincolo restrictPrivateServiceConnectConsumer può essere configurato per bloccare le connessioni dall'esterno dell'organizzazione del produttore. Anche se un collegamento al servizio è configurato per accettare automaticamente tutte le connessioni, i criteri dell'organizzazione bloccano comunque le connessioni dall'esterno dell'organizzazione del produttore. Ti consigliamo di utilizzare contemporaneamente le liste consentite e le norme dell'organizzazione per contribuire a fornire una sicurezza a più livelli.

Firewall

Risorse: tutte

Puoi utilizzare le regole firewall e i criteri firewall VPC per controllare l'accesso a livello di rete alle risorse Private Service Connect.

Per ulteriori informazioni sulle regole firewall VPC in generale, consulta Regole firewall VPC.

Per ulteriori informazioni sull'utilizzo delle regole firewall VPC per limitare l'accesso a endpoint o backend in una rete VPC consumer, consulta Utilizzare le regole firewall per limitare l'accesso a endpoint o backend.