Configurazione dei Controlli di servizio VPC

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

I Controlli di servizio VPC forniscono un livello aggiuntivo di difesa per i serviziGoogle Cloud , indipendente dalla protezione fornita 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 Controlli di servizio VPC per Dataform, devi esaminare le autorizzazioni concesse ai tuoi agenti e account di servizio Dataform per verificare che corrispondano alla tua architettura di sicurezza.

A seconda delle autorizzazioni che concedi al service agent Dataform o al service account personalizzato, quest'ultimo potrebbe avere accesso ai dati BigQuery o Secret Manager nel progetto a cui appartiene, 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.

Devi bloccare la comunicazione con BigQuery se non devi eseguire chiamate di workflow provenienti dai tuoi repository Dataform. Per ulteriori informazioni sul blocco della comunicazione con BigQuery, vedi 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ù sul blocco della comunicazione con Secret Manager, vedi 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 Limita i repository remoti per impostare il criterio dell'organizzazione dataform.restrictGitRemotes.

La policy dell'organizzazione dataform.restrictGitRemotes è necessaria per garantire che i controlli dei Controlli di servizio VPC vengano applicati quando utilizzi 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 Gestisci l'accesso a progetti, cartelle e organizzazioni.

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

Per saperne di più 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 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 che BigQuery.

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

Per creare un nuovo perimetro di servizio che limiti sia Dataform che BigQuery, segui la guida Crea 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 service account utilizzato in Dataform.

Utilizzo di un account di servizio personalizzato

I service account personalizzati utilizzano i seguenti permessi e ruoli per comunicare con BigQuery:

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

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

Utilizzo dell'agente di servizio Dataform predefinito

Il service agent Dataform predefinito utilizza l'autorizzazione bigquery.jobs.create per comunicare con BigQuery. Concedi i ruoli dell'agente di servizio Dataform predefiniti che contengono questa autorizzazione quando concedi i ruoli necessari a Dataform per eseguire i workflow in BigQuery.

Per bloccare la comunicazione tra il service agent Dataform predefinito e BigQuery, devi revocare tutti i ruoli predefiniti e personalizzati che contengono l'autorizzazione bigquery.jobs.create, concessa al service agent Dataform predefinito. Per un elenco di questi ruoli, vedi Ruoli con l'autorizzazione bigquery.jobs.create. Per revocare i ruoli, segui la guida Gestisci l'accesso a progetti, cartelle e organizzazioni.

Ruoli con l'autorizzazione bigquery.jobs.create

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 ai singoli secret di Secret Manager. Concedi questa autorizzazione al service agent 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'agente di servizio Dataform predefinito.

Per revocare l'accesso a un secret di Secret Manager dall'agente 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'agente di servizio Dataform predefinito sul secret selezionato.

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

Passaggi successivi