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 di Private Service Connect. Puoi controllare chi può eseguire il deployment delle risorse di 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:

La Figura 1 descrive come questi controlli interagiscono sui lati consumer e producer di una connessione Private Service Connect.

Figura 1. Le autorizzazioni IAM, le policy dell'organizzazione, gli elențchi di accettazione e rifiuto e le regole firewall VPC funzionano insieme 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 delle risorse di Private Service Connect.

IAM non regola quali entità IAM possono connettersi o utilizzare una connessione Private Service Connect. Per controllare quali endpoint o backend possono stabilire una connessione con un servizio, utilizza le policy dell'organizzazione o gli elenchi di accettazione dei consumer. Per controllare quali client possono inviare traffico alle risorse di 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 Creare un endpoint.

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

Stati della connessione

Risorse: endpoint, backend e collegamenti ai servizi

Gli endpoint, i backend e i collegamenti ai servizi di Private Service Connect hanno stati della connessione che descrivono lo stato delle loro connessioni. Le risorse consumer e producer che formano 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
Accettata La connessione Private Service Connect è accettata dal producer e la connessione è consentita dalla configurazione. Tuttavia, questo stato non garantisce che il traffico possa fluire attraverso la connessione.
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:

  • Il collegamento al servizio richiede l'approvazione esplicita, e il consumer non è presente nell'elenco di accettazione dei consumer.
  • Il numero di connessioni supera il limite di connessione del collegamento al servizio.

Le connessioni bloccate per questi motivi rimangono nello stato in attesa a tempo indeterminato finché 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 Si è verificato un problema sul lato producer della connessione. Alcuni traffici potrebbero essere in grado di fluire tra le due reti, ma alcune connessioni potrebbero non essere funzionali. Ad esempio, la subnet NAT del producer potrebbe essere esaurita e non essere in grado di allocare indirizzi IP per le nuove connessioni.
Chiusa

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 al servizio

Puoi controllare quali consumer possono connettersi a un collegamento al 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. Il collegamento al servizio accetta automaticamente tutte le richieste di connessione in entrata da qualsiasi consumer.
  • Accetta esplicitamente le connessioni dai consumer selezionati. Il collegamento al servizio accetta le richieste di connessione in entrata solo se il consumer è presente nell'elenco di accettazione dei consumer del collegamento al servizio. Puoi specificare i consumer per progetto, rete VPC o singolo Private Service Connect endpoint. Non puoi includere diversi tipi di consumer nello stesso elenco di accettazione o rifiuto dei consumer.

Per entrambe le preferenze di connessione, le connessioni accettate possono essere sostituite e rifiutate da una policy dell'organizzazione che blocca le connessioni in entrata.

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

Elenchi 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 dei collegamenti ai servizi. Questi elenchi consentono ai producer di servizi di specificare quali consumer possono stabilire connessioni Private Service Connect ai loro servizi. Quando un collegamento al servizio è configurato per l'approvazione esplicita, una nuova connessione viene accettata solo se il consumer è presente nell'elenco di accettazione e non nell'elenco 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 accettazione e rifiuto dei consumer consentono di specificare i consumer in uno dei seguenti modi:

  • Progetto
  • Rete VPC
  • Endpoint Private Service Connect

    Questo metodo non si applica ai backend di Private Service Connect.

Se aggiungi lo stesso consumer sia all'elenco di accettazione sia all'elenco di rifiuto, il consumer non potrà connettersi al collegamento al servizio. La specifica dei consumer per cartella non è supportata.

Entrambi gli elenchi di consumer di un collegamento al 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 degli elenchi, a meno che non sostituisci 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 ai servizi che si connettono allo stesso servizio. Ogni collegamento al servizio può essere configurato con la propria preferenza di connessione ed elenchi di consumer.

Puoi modificare il tipo di consumer negli elenchi di consumer senza interrompere le connessioni, ma devi apportare la modifica in un singolo aggiornamento. In caso contrario, l'operazione non andrà a buon fine.

Esistono limiti al numero di consumer che puoi aggiungere agli elenchi di accettazione e rifiuto:

  • Puoi aggiungere un massimo di 5000 valori all'elenco di accettazione dei consumer.
  • Puoi aggiungere un massimo di 64 valori all'elenco di rifiuto dei consumer.

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 consumer e service-project2 in l'elenco di rifiuto dei consumer, si applica quanto segue:

  • Un consumer in service-project1 può creare un endpoint che si connette al servizio pubblicato.
  • Un consumer in service-project2 non può creare un endpoint che si connette al servizio pubblicato.
  • Un client in service-project2 può inviare richieste all'endpoint in service-project1, se non esistono regole o policy 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 o meno. Per saperne di più, consulta Riconciliazione delle connessioni.

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

Per informazioni su come aggiornare gli elenchi di accettazione o rifiuto dei consumer, consulta Gestire le richieste di accesso a un servizio pubblicato.

Limiti di connessione

Risorse: endpoint e backend

Gli elenchi di accettazione dei consumer hanno limiti di connessione. Questi limiti impostano il numero totale di connessioni endpoint e backend di 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 di Private Service Connect non ha alcun 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 del 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 consumer. Puoi visualizzare le connessioni di un collegamento al servizio quando descrivi un collegamento al servizio.

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

Ad esempio, considera un caso in cui un collegamento al 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 viene 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 consumer, la connessione passa dallo stato in attesa allo stato accettato.

Policy dell'organizzazione

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

Le policy dell'organizzazione descritte in questa pagina possono bloccare o rifiutare le 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 della gerarchia. Ad esempio, una policy dell'organizzazione che limita l'accesso a un' Google Cloud organizzazione si applica anche alle cartelle, ai progetti e alle risorse secondarie dell'organizzazione. Allo stesso modo, l'elenco di un'organizzazione come valore consentito consente anche l'accesso ai figli dell'organizzazione.

Per saperne di più sulle policy dell'organizzazione, consulta Policy dell'organizzazione.

Policy dell'organizzazione lato consumer

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 riesce.

  • Utilizza il vincolo di elenco restrictPrivateServiceConnectProducer per controllare a quali endpoint e backend di collegamenti ai servizi possono connettersi in base all'organizzazione producer.
  • Utilizza il vincolo di 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.

Impedire agli endpoint o ai backend di connettersi alle organizzazioni producer

Risorse: endpoint e backend

Le policy dell'organizzazione che utilizzano il vincolo di elenco restrictPrivateServiceConnectProducer con valori consentiti impediscono agli endpoint e ai backend di connettersi ai collegamenti ai servizi, a meno che i collegamenti ai servizi non siano associati a uno dei valori consentiti della policy. Una policy di questo tipo blocca le connessioni anche se sono consentite dall'elenco di accettazione dei consumer del collegamento al servizio.

Ad esempio, la seguente policy 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 questa policy dell'organizzazione. La policy ha valori consentiti per Org-A (ORG_A_NUMBER) e Google-org (433637338589). Gli endpoint e i backend creati in Org-A possono comunicare con i collegamenti ai servizi in Org-A, ma non con i collegamenti ai servizi in Org-B.

Figura 2. Una policy dell'organizzazione consente all'endpoint psc-1 di connettersi al collegamento al servizio sa-1 e impedisce a psc-3 di connettersi ai collegamenti ai servizi in Org-B. Gli endpoint e i 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 compute.restrictPrivateServiceConnectProducer vincolo, consulta Impedire agli endpoint e ai backend di connettersi a collegamenti ai servizi non autorizzati.

Bloccare la creazione di endpoint per tipo di connessione

Risorse interessate: endpoint

Puoi utilizzare il vincolo di elenco disablePrivateServiceConnectCreationForConsumers per bloccare la creazione di endpoint in base alla connessione alle API di Google o ai servizi pubblicati (collegamenti ai servizi).

Per informazioni su come creare una policy dell'organizzazione che utilizza il disablePrivateServiceConnectCreationForConsumers vincolo, consulta Impedire ai consumer di eseguire il deployment degli endpoint per tipo di connessione.

Policy dell'organizzazione lato producer

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 ai servizi di Private Service Connect all'interno di un' organizzazione o di un progetto producer. 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 passa allo stato rifiutato.

Il controllo dell'accesso in questo modo è simile all'utilizzo degli elenchi di accettazione e rifiuto, tranne per il fatto che le policy dell'organizzazione si applicano a tutti i collegamenti ai servizi in un progetto o in un'organizzazione anziché a un singolo collegamento al servizio.

Puoi utilizzare insieme le policy dell'organizzazione e gli elenchi di accettazione, con le policy dell'organizzazione che applicano in modo generale l'accesso a un servizio gestito e gli elenchi di accettazione che controllano l'accesso ai singoli collegamenti ai servizi.

Le policy 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 della policy. Una policy di questo tipo rifiuta le connessioni anche se sono consentite da una lista consentita.

Ad esempio, la seguente policy 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 questa policy dell'organizzazione. La policy ha un valore consentito per Org-A (ORG_A_NUMBER). Gli endpoint in altre reti VPC in Org-A possono connettersi ai collegamenti ai servizi in Org-A. Gli endpoint in Org-B che tentano di connettersi vengono rifiutati.

Figura 3. Una policy 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 della gerarchia. Ad esempio, una policy dell'organizzazione che limita l'accesso a un' Google Cloud organizzazione si applica anche alle cartelle, ai progetti e alle risorse secondarie dell'organizzazione. Allo stesso modo, l'elenco di un'organizzazione come valore consentito consente anche l'accesso ai figli dell'organizzazione.

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 producer di servizi, consulta Policy dell'organizzazione producer.

Interazione tra gli elenchi di accettazione dei consumer e le policy dell'organizzazione

Sia gli elenchi di accettazione dei consumer sia le policy 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, una policy con il vincolo restrictPrivateServiceConnectConsumer può essere configurata per bloccare le connessioni provenienti dall'esterno dell'organizzazione del producer. Anche se un collegamento al servizio è configurato per accettare automaticamente tutte le connessioni, la policy dell'organizzazione blocca comunque le connessioni provenienti dall'esterno dell'organizzazione del producer. Ti consigliamo di utilizzare insieme gli elenchi di accettazione e le policy 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 di 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 Utilizzare le regole firewall per limitare l'accesso a endpoint o backend.