Configura i Controlli di servizio VPC per Dataform

Controlli di servizio VPC sono una funzionalità di Google Cloud che consente di impostare un perimetro. Questa guida illustra come utilizzare Controlli di servizio VPC con Dataform per 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 fornita da Identity and Access Management (IAM).

Per saperne 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 Controlli di servizio VPC per Dataform, devi rivedere le autorizzazioni concesse agli account di servizio Dataform e assicurarti che corrispondano all'architettura di sicurezza.

A seconda delle autorizzazioni concesse a un account di servizio Dataform, quest'ultimo potrebbe avere accesso ai dati di BigQuery o Secret Manager nel progetto a cui appartiene l'account di servizio, indipendentemente dai Controlli di servizio VPC. In questo caso, la limitazione di 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 hai bisogno di eseguire chiamate del flusso di lavoro provenienti dai tuoi repository Dataform. Per ulteriori informazioni su come bloccare le comunicazioni con BigQuery, vedi 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 maggiori informazioni su come bloccare le comunicazioni con Secret Manager, consulta Bloccare le comunicazioni con Secret Manager.

Prima di iniziare

Prima di configurare un perimetro di servizio 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 è necessario 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 di Dataform sia limitato.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per configurare un perimetro di servizio dei 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 riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

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

Configurazione dei Controlli di servizio VPC

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

  • Aggiungere Dataform a un perimetro di servizio esistente che limita BigQuery.
  • Creare un perimetro di servizio che limiti sia Dataform che BigQuery.

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

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

(Facoltativo) Bloccare 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. Puoi concedere i ruoli predefiniti dell'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 contenenti l'autorizzazione bigquery.jobs.create, che è stata concessa 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 usano le autorizzazioni e i ruoli seguenti per comunicare con BigQuery:

  • L'autorizzazione bigquery.jobs.create assegnata all'account di servizio personalizzato.
  • 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 alla gestione dell'accesso agli account di servizio.

  • Revoca tutti i ruoli predefiniti e personalizzati concessi a livello di progetto all'account di servizio personalizzato contenenti 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. Devi concedere 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 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 sul secret selezionato.

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

Passaggi successivi