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:
Devi impostare il criterio dell'organizzazione
dataform.restrictGitRemotes
.Dataform e BigQuery devono essere limitati dallo stesso perimetro del servizio Controlli di servizio VPC.
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'autorizzazione
bigquery.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:
- Amministratore BigQuery (
roles/bigquery.admin
) - Utente job BigQuery (
roles/bigquery.jobUser
) - Utente BigQuery (
roles/bigquery.user
) - Amministratore di BigQuery Studio (
roles/bigquery.studioAdmin
) - Utente di BigQuery Studio (
roles/bigquery.studioUser
)
(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:
- Amministratore di Secret Manager (
roles/secretmanager.admin
) - Secret Manager Secret Accessor (
roles/secretmanager.secretAccessor
) - Gestione delle versioni dei secret di Secret Manager (
roles/secretmanager.secretVersionManager
)
Passaggi successivi
- Per scoprire di più sui Controlli di servizio VPC, consulta Panoramica dei Controlli di servizio VPC.
- Per scoprire di più sul criterio dell'organizzazione, consulta Introduzione al Servizio Criteri dell'organizzazione.
- Per scoprire di più sui service account in Dataform, consulta Informazioni sui service account in Dataform.