Configurare i Controlli di servizio VPC per Dataform

I Controlli di servizio VPC sono una Google Cloud funzionalità che ti consente di configurare un perimetro che aiuta a proteggerti dall'esfiltrazione di dati. Questa guida mostra come utilizzare i Controlli di servizio VPC con Dataform per contribuire a rendere i tuoi servizi più sicuri.

I Controlli di servizio VPC forniscono un livello aggiuntivo di difesa per i serviziGoogle Cloud indipendentemente dalla protezione fornita da Identity and Access Management (IAM).

Per scoprire di più sui Controlli di servizio VPC, consulta Panoramica dei Controlli di servizio VPC.

Limitazioni

Dataform supporta i Controlli di servizio VPC con le seguenti limitazioni:

Considerazioni sulla sicurezza

Quando configuri un perimetro dei Controlli di servizio VPC per Dataform, devi esaminare le autorizzazioni concesse ai tuoi account di servizio Dataform e assicurarti che corrispondano alla tua architettura di sicurezza.

A seconda delle autorizzazioni concesse a un account di servizio Dataform, questo account di servizio potrebbe avere accesso ai dati di BigQuery o Secret Manager nel progetto a cui appartiene, indipendentemente da Controlli di servizio VPC. In questo caso, limitare Dataform con un perimetro di Controlli di servizio VPC non blocca la comunicazione con BigQuery o Secret Manager.

Devi bloccare la comunicazione con BigQuery se non devi eseguire invocazioni del flusso di lavoro provenienti dai tuoi repository Dataform. Per ulteriori informazioni su come bloccare la comunicazione con BigQuery, consulta Bloccare la comunicazione con BigQuery.

Devi bloccare la comunicazione con Secret Manager se nessuno dei tuoi repository Dataform si connette a un repository Git di terze parti. Per saperne di più su come bloccare la comunicazione con Secret Manager, consulta Bloccare la comunicazione con Secret Manager.

Prima di iniziare

Prima di configurare un perimetro di servizio dei Controlli di servizio VPC per Dataform, segui la guida Limitare i repository remoti per impostare il criterio dell'organizzazione dataform.restrictGitRemotes.

I criteri dell'organizzazione dataform.restrictGitRemotes sono obbligatori per garantire che i controlli di VPC Service Controls vengano applicati quando si utilizza Dataform e che l'accesso di terze parti ai repository Git di Dataform sia limitato.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per configurare un perimetro di servizio Controlli di servizio VPC, chiedi all'amministratore di concederti il ruolo IAM Editor Access Context Manager (roles/accesscontextmanager.policyEditor) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Per ulteriori informazioni sulle autorizzazioni dei Controlli di servizio VPC, consulta Controllo dell'accesso con IAM.

Configurazione dei Controlli di servizio VPC

Puoi limitare Dataform con un perimetro di servizio dei Controlli di servizio VPC nei seguenti modi:

  • Aggiungi Dataform a un perimetro di servizio esistente che limita BigQuery.
  • Crea un perimetro di servizio che limiti sia Dataform sia BigQuery.

Per aggiungere Dataform a un perimetro di servizio che limita BigQuery, segui la guida Aggiornare un perimetro di servizio nella documentazione dei Controlli di servizio VPC.

Per creare un nuovo perimetro di servizio che limiti sia Dataform sia BigQuery, segui la guida Creare un perimetro di servizio nella documentazione dei Controlli di servizio VPC.

(Facoltativo) Blocca la comunicazione con BigQuery

Il modo in cui Dataform comunica con BigQuery dipende dal tipo di account di servizio utilizzato in Dataform.

L'account di servizio Dataform predefinito utilizza l'autorizzazione bigquery.jobs.create per comunicare con BigQuery. Concedi i ruoli predefiniti dell'account di servizio Dataform che contengono questa autorizzazione quando concessi i ruoli necessari per consentire a Dataform di eseguire flussi di lavoro SQL in BigQuery.

Per bloccare la comunicazione tra l'account di servizio Dataform predefinito e BigQuery, devi revocare tutti i ruoli predefiniti e personalizzati che contengono l'autorizzazione bigquery.jobs.create, che sono stati concessi all'account di servizio Dataform predefinito. Per revocare i ruoli, segui la guida Gestire l'accesso a progetti, cartelle e organizzazioni.

Gli account di servizio Dataform personalizzati utilizzano le seguenti autorizzazioni e i seguenti ruoli per comunicare con BigQuery:

  • L'autorizzazionebigquery.jobs.create concessa all'account di servizio personalizzato.
  • Il ruolo Creatore token account di servizio (roles/iam.serviceAccountTokenCreator), concesso all'account di servizio Dataform predefinito nell'account di servizio personalizzato.

Puoi bloccare la comunicazione tra un account servizio Dataform personalizzato e BigQuery in uno dei seguenti modi:

  • Revoca il ruolo Creatore token account di servizio (roles/iam.serviceAccountTokenCreator), concesso all'account di servizio predefinito, nell'account di servizio Dataform personalizzato selezionato. Per revocare il ruolo Creatore token account di servizio (roles/iam.serviceAccountTokenCreator), segui la guida su come gestire l'accesso agli account di servizio.

  • Revoca tutti i ruoli predefiniti e personalizzati concessi a livello di progetto all'account di servizio personalizzato che contengono l'autorizzazione bigquery.jobs.create. Per revocare i ruoli, segui la guida Gestire l'accesso a progetti, cartelle e organizzazioni.

L'autorizzazione bigquery.jobs.create è inclusa nei seguenti ruoli IAM BigQuery predefiniti che devono essere revocati:

(Facoltativo) Blocca la comunicazione con Secret Manager

Dataform utilizza l'autorizzazione secretmanager.versions.access per accedere ai singoli secret di Secret Manager. Concedi questa autorizzazione all'account di servizio Dataform predefinito su un secret di Secret Manager selezionato quando colleghi un repository Dataform a un repository di terze parti.

Per bloccare la comunicazione tra Dataform e Secret Manager, devi revocare l'accesso a tutti i secret dall'account di servizio Dataform predefinito.

Per revocare l'accesso a un secret di Secret Manager dall'account di servizio Dataform predefinito, segui la guida Gestire l'accesso ai secret nella documentazione di Secret Manager. Devi revocare tutti i ruoli predefiniti e personalizzati che contengono l'autorizzazione secretmanager.versions.access concessa all'account di servizio Dataform predefinito nel secret selezionato.

L'autorizzazione secretmanager.versions.access è inclusa nei seguenti ruoli IAM di Secret Manager predefiniti:

Passaggi successivi