Configurare i Controlli di servizio VPC per Dataform

Controlli di servizio VPC è una funzionalità di Google Cloud che consente di configurare un perimetro per evitare l'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 ulteriore livello di difesa per i servizi Google Cloud indipendente dalla protezione offerta da Identity and Access Management (IAM).

Per saperne di più sui Controlli di servizio VPC, consulta la 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 rivedere le autorizzazioni concesse ai tuoi account di servizio Dataform e assicurarti che corrispondano all'architettura di sicurezza.

A seconda delle autorizzazioni concesse a un account di servizio Dataform, l'account di servizio potrebbe avere accesso ai dati di BigQuery o Secret Manager indipendentemente dai Controlli di servizio VPC. In questo caso, limitare Dataform con un perimetro dei Controlli di servizio VPC non blocca la comunicazione con BigQuery o Secret Manager.

Dovresti bloccare la comunicazione con BigQuery se non devi eseguire alcuna chiamata del flusso di lavoro proveniente dai repository Dataform. Per saperne di più sul blocco delle comunicazioni con BigQuery, consulta Bloccare la comunicazione con BigQuery.

Dovresti 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ù sul blocco delle comunicazioni con Secret Manager, vedi Bloccare la comunicazione con Secret Manager.

Prima di iniziare

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

Il criterio dell'organizzazione dataform.restrictGitRemotes è obbligatorio per garantire che i controlli dei Controlli di servizio VPC vengano applicati quando si utilizza Dataform e che l'accesso di terze parti ai repository Git 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 Gestore contesto accesso (roles/accesscontextmanager.policyEditor) per il progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

Potresti anche essere in grado di ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Per maggiori informazioni sulle autorizzazioni 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 modi seguenti:

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

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

Per creare un nuovo perimetro di servizio che limita sia Dataform che BigQuery, segui la guida Creazione di un perimetro di servizio nella documentazione relativa ai 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 per l'account di servizio Dataform che contengono questa autorizzazione quando concedi i ruoli necessari a Dataform per 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 state concesse all'account di servizio Dataform predefinito. Per revocare i ruoli, consulta la guida Gestire l'accesso a progetti, cartelle e organizzazioni.

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

  • L'autorizzazione bigquery.jobs.create assegnata 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 di 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 per l'account di servizio Dataform personalizzato selezionato. Per revocare il ruolo Creatore token account di servizio (roles/iam.serviceAccountTokenCreator), segui la guida 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, consulta la guida Gestire l'accesso a progetti, cartelle e organizzazioni.

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

(Facoltativo) Blocca la comunicazione con Secret Manager

Dataform utilizza l'autorizzazione secretmanager.versions.access per accedere a singoli secret di Secret Manager. Concedi questa autorizzazione all'account di servizio Dataform predefinito su un secret di Secret Manager selezionato quando connetti 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 sulla gestione dell'accesso ai secret nella documentazione di Secret Manager. Devi revocare tutti i ruoli predefiniti e personalizzati contenenti l'autorizzazione secretmanager.versions.access, concessa all'account di servizio Dataform predefinito sul secret selezionato.

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

Passaggi successivi