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:
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 in entrata. Per saperne di più, consulta Aggiornamento delle policy in entrata e in uscita per un perimetro di servizio e Riferimento per le regole in entrata.
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'autorizzazione
bigquery.jobs.createconcessa 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:
Revoca tutti i ruoli predefiniti e personalizzati concessi a livello di progetto al service account personalizzato che contiene l'autorizzazione
bigquery.jobs.create. Per un elenco di questi ruoli, vedi Ruoli con l'autorizzazionebigquery.jobs.create. Per revocare i ruoli, segui la guida Gestisci l'accesso a progetti, cartelle e organizzazioni.Revoca il ruolo Creatore token service account concesso all'agente di servizio Dataform predefinito nel service account personalizzato selezionato. Per revocare il ruolo Creatore token service account, segui la guida Gestire l'accesso ai service account.
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:
- 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 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:
- Secret Manager Admin (
roles/secretmanager.admin) - Secret Manager Secret Accessor (
roles/secretmanager.secretAccessor) - Secret Manager Secret Version Manager (
roles/secretmanager.secretVersionManager)
Passaggi successivi
- Per saperne di più sui Controlli di servizio VPC, consulta la panoramica dei Controlli di servizio VPC.
- Per saperne di più sulla policy dell'organizzazione, consulta la pagina Introduzione al servizio Policy dell'organizzazione.
- Per saperne di più sui service account in Dataform, consulta Informazioni sugli agenti di servizio Dataform e sui service account personalizzati.