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 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 di ingresso. Per ulteriori informazioni, vedi 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 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 account di servizio personalizzato, quest&account di servizio 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
.
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.
Il service agent Dataform predefinito utilizza l'autorizzazione bigquery.jobs.create
per comunicare con BigQuery. Concedi i ruoli
dell'agente di servizio Dataform predefinito che contengono
questa autorizzazione quando
concedi i ruoli necessari per l'esecuzione dei workflow di Dataform 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 revocare i ruoli, segui la guida
Gestisci l'accesso a progetti, cartelle e organizzazioni.
I service account personalizzati utilizzano i seguenti permessi e 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 all'agente di servizio Dataform predefinito nell'account di servizio personalizzato.
Puoi bloccare la comunicazione tra un account di servizio personalizzato e BigQuery in uno dei seguenti modi:
Revoca il ruolo Creatore token service account (
roles/iam.serviceAccountTokenCreator
) concesso al account di servizio predefinito nel service account 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 al account di servizio personalizzato che contiene l'autorizzazione
bigquery.jobs.create
. Per revocare i ruoli, segui la guida Gestisci l'accesso a progetti, cartelle e organizzazioni.
L'autorizzazione bigquery.jobs.create
è inclusa nei seguenti
ruoli IAM di BigQuery
predefiniti che devono essere revocati:
- Amministratore BigQuery (
roles/bigquery.admin
) - BigQuery Job User (
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 per il secret selezionato.
L'autorizzazione secretmanager.versions.access
è inclusa nei seguenti
ruoli IAM Secret Manager predefiniti:
- Amministratore Secret Manager (
roles/secretmanager.admin
) - Funzione di accesso ai secret di Secret Manager (
roles/secretmanager.secretAccessor
) - Secret Manager Secret Version Manager (
roles/secretmanager.secretVersionManager
)
Passaggi successivi
- Per scoprire 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 scoprire di più sui service account in Dataform, consulta Informazioni sugli agenti di servizio Dataform e sui service account personalizzati.