I Controlli di servizio VPC sono una Google Cloud funzionalità che ti consente di configurare un perimetro che ti 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 aggiuntivo di difesa per Google Cloud i servizi, indipendente dalla protezione fornita da Identity and Access Management (IAM).
Per saperne di più sui Controlli di servizio VPC, consulta la sezione Panoramica dei Controlli di servizio VPC.
Limitazioni
Dataform supporta i Controlli di servizio VPC con le seguenti limitazioni:
Devi impostare la
dataform.restrictGitRemotespolicy dell'organizzazione.Dataform e BigQuery devono essere limitati dallo stesso perimetro di servizio dei Controlli di servizio VPC.
Per consentire a utenti specifici di eseguire l'autenticazione con le credenziali utente del proprio Account Google quando pianificano le esecuzioni, le attivano manualmente, o eseguono 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 alle regole in entrata.
Considerazioni sulla sicurezza
Quando configuri un perimetro dei Controlli di servizio VPC per Dataform, assicurati di esaminare le autorizzazioni concesse ai tuoi service account personalizzati per verificare che corrispondano alla tua architettura di sicurezza.
A seconda delle autorizzazioni che concedi al account di servizio personalizzato, questo potrebbe avere accesso ai dati di 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 flussi di lavoro provenienti dai repository Dataform. Per saperne di più 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, 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 la policy 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 dei Controlli di servizio VPC, chiedi all'amministratore di concederti il ruolo IAM Editor di Gestore contesto accesso (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 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 che 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 che BigQuery, segui la guida Creare un perimetro di servizio nella documentazione dei Controlli di servizio VPC.
(Facoltativo) Bloccare la comunicazione con BigQuery
I service account personalizzati utilizzano le seguenti autorizzazioni e i seguenti ruoli 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 al service agent Dataform predefinito sul service account 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 account di servizio personalizzato che contiene l'autorizzazione
bigquery.jobs.create. L'autorizzazionebigquery.jobs.createè inclusa nei seguenti ruoli IAM BigQuery predefiniti:- Amministratore BigQuery (
roles/bigquery.admin) - Utente job BigQuery (
roles/bigquery.jobUser) - Utente BigQuery (
roles/bigquery.user) - Amministratore BigQuery Studio (
roles/bigquery.studioAdmin) - Utente BigQuery Studio (
roles/bigquery.studioUser)
Per revocare i ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
- Amministratore BigQuery (
Revoca il ruolo Creatore token account di servizio (
roles/iam.serviceAccountTokenCreator), concesso al service agent Dataform predefinito sul service account personalizzato selezionato. Per revocare il ruolo Creatore token account di servizio, consulta Gestire l'accesso ai service account.
(Facoltativo) Bloccare 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
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 dal service agent Dataform predefinito.
Per revocare l'accesso a un secret di Secret Manager dal
service agent 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 service agent Dataform predefinito sul secret selezionato.
L'autorizzazione secretmanager.versions.access è inclusa nei seguenti
ruoli IAM Secret Manager
predefiniti:
- Amministratore Secret Manager (
roles/secretmanager.admin) - Accessore secret Secret Manager (
roles/secretmanager.secretAccessor) - Gestore versioni secret Secret Manager (
roles/secretmanager.secretVersionManager)
Passaggi successivi
- Per saperne di più sui Controlli di servizio VPC, consulta la sezione Panoramica dei Controlli di servizio VPC.
- Per saperne di più sulla policy dell'organizzazione, consulta Introduzione al servizio Policy dell'organizzazione.
- Per saperne di più sui service account in Dataform, consulta Informazioni sui service agent Dataform e sui service account personalizzati.