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 rendere i tuoi servizi più sicuri.
I Controlli di servizio VPC forniscono un livello di difesa aggiuntivo per i serviziGoogle Cloud indipendente 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 di servizio Controlli di servizio VPC.
Per consentire a utenti specifici di autenticarsi con le credenziali utente del proprio Account Google durante la pianificazione delle esecuzioni, l'attivazione manuale delle esecuzioni o l'esecuzione di pipeline con i controlli di servizio VPC configurati, devi aggiungere le loro identità utente alle regole di ingresso. Per ulteriori informazioni, vedi Aggiornamento delle norme in entrata e in uscita per un perimetro di servizio e Riferimento alle regole in entrata.
Considerazioni sulla sicurezza
Quando configuri un perimetro Controlli di servizio VPC per Dataform, devi esaminare le autorizzazioni concesse ai service account Dataform e assicurarti che corrispondano alla tua architettura di sicurezza.
A seconda delle autorizzazioni che concedi a un account di servizio Dataform, questoaccount di serviziot 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 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, 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ù 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
.
I criteri dell'organizzazione dataform.restrictGitRemotes
sono necessari per garantire
che i 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 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 maggiori 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 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 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 di 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 del account di servizio Dataform predefinito che contengono questa autorizzazione quando concedi i ruoli necessari a Dataform per eseguire i flussi di lavoro in BigQuery.
Per bloccare la comunicazione tra il account di servizio Dataform predefinito e BigQuery, devi revocare tutti i ruoli predefiniti e personalizzati che contengono l'autorizzazione bigquery.jobs.create
, concessa al account di servizio Dataform predefinito. Per revocare i ruoli, segui la guida
Gestire l'accesso a progetti, cartelle e organizzazioni.
I service account Dataform personalizzati utilizzano i seguenti ruoli e autorizzazioni per comunicare con BigQuery:
- L'autorizzazione
bigquery.jobs.create
, concessa al 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 del ruolo Creatore token service account (
roles/iam.serviceAccountTokenCreator
) concesso alaccount di serviziot predefinito neaccount di serviziont Dataform personalizzato selezionato. Per revocare il ruolo Creatore token service account (roles/iam.serviceAccountTokenCreator
), segui la guida Gestire l'accesso ai service account.Revoca tutti i ruoli predefiniti e personalizzati concessi a livello di progetto all'account di servizio personalizzato che contiene 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 di BigQuery
predefiniti che devono essere revocati:
- BigQuery Admin (
roles/bigquery.admin
) - Utente job BigQuery (
roles/bigquery.jobUser
) - Utente BigQuery (
roles/bigquery.user
) - Amministratore di BigQuery Studio (
roles/bigquery.studioAdmin
) - Utente 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
al 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 al account di servizio Dataform predefinito per il secret selezionato.
L'autorizzazione secretmanager.versions.access
è inclusa nei seguenti
ruoli IAM Secret Manager predefiniti:
- Amministratore Secret Manager (
roles/secretmanager.admin
) - Secret Manager Secret Accessor (
roles/secretmanager.secretAccessor
) - Secret Manager Secret Version Manager (
roles/secretmanager.secretVersionManager
)
Passaggi successivi
- Per scoprire di più sui Controlli di servizio VPC, consulta Panoramica dei Controlli di servizio VPC.
- Per saperne di più sul criterio dell'organizzazione, consulta la pagina Introduzione al servizio Policy dell'organizzazione.
- Per saperne di più sui service account in Dataform, consulta Informazioni sui service account in Dataform.