DataSunrise Consegue la Certificazione AWS DevOps Competency per AWS DevSecOps e Monitoraggio, Logging e Performance

Sicurezza di BigQuery

Sicurezza di BigQuery

sicurezza di BigQuery

Google BigQuery offre potenti capacità di data warehousing, ma con grande potere arriva grande responsabilità. Assicurare il Suo ambiente BigQuery è fondamentale per proteggere informazioni sensibili e mantenere la conformità con le normative sui dati. Questo articolo esplorerà vari aspetti della sicurezza di BigQuery, dai controlli di accesso alla rete a permessi dettagliati e monitoraggio.

Comprendere i Controlli del Servizio VPC

I Controlli del Servizio VPC agiscono come un firewall virtuale per le Sue risorse BigQuery. Può proteggere i Suoi dati in BigQuery scegliendo quali reti e indirizzi IP sono autorizzati ad accedervi. Questo aggiunge un ulteriore livello di protezione contro tentativi di accesso non autorizzato.

Per configurare i Controlli del Servizio VPC per BigQuery, sarà necessario creare una policy di livello di accesso nella Sua Google Cloud Console. Questa policy definisce gli intervalli IP autorizzati a interagire con le Sue risorse BigQuery. Una volta stabilita la policy, può creare un perimetro di servizio che include BigQuery come servizio ristretto.

Ad esempio, potrebbe creare una policy che consente l’accesso solo dall’intervallo IP della Sua rete aziendale. Questo assicura che le query BigQuery possano essere eseguite solo all’interno della rete della Sua organizzazione, riducendo il rischio di minacce esterne.

Implementare i Controlli del Servizio VPC richiede una pianificazione attenta. È necessario considerare diversi modi per accedere a BigQuery, come reti on-site, VPN Cloud e altri progetti Google Cloud.

Questi metodi offrono varie opzioni per connettersi a BigQuery. Dovrebbe esplorare tutte le opzioni disponibili per determinare l’approccio migliore per le Sue esigenze. È spesso utile iniziare con un perimetro di prova per testare la configurazione prima di applicarla.

sicurezza di BigQuery

Implementazione di Ruoli e Permessi IAM

L’Identity and Access Management (IAM) è la base della sicurezza di BigQuery. Le permette di controllare chi ha accesso alle Sue risorse BigQuery e quali azioni possono eseguire. Il ruolo più potente in BigQuery è roles/bigquery.admin, che concede il controllo completo su tutte le risorse BigQuery in un progetto.

Tuttavia, è generalmente migliore seguire il principio del privilegio minimo e assegnare ruoli più specifici. Ad esempio, potrebbe dare ai data analyst il ruolo bigquery.user, che consente loro di eseguire query e creare dataset, ma non di modificare i permessi dei dataset esistenti.

Ecco un esempio di come potrebbe usare la CLI di BigQuery per concedere a un utente il ruolo bigquery.user:

bq add-iam-policy-binding --member=user:[email protected] --role=roles/bigquery.user project-id

Questo comando aggiunge l’utente specificato al progetto con il ruolo bigquery.user.

Auditare regolarmente le Sue policy IAM è importante per garantirne l’adeguatezza. Man mano che i dipendenti cambiano ruolo o lasciano l’organizzazione, i loro permessi dovrebbero essere aggiornati o revocati di conseguenza. Può usare il consigliere IAM in Google Cloud per identificare e rimuovere i ruoli eccessivamente permissivi.

Creazione e Sicurezza delle Viste BigQuery

Le viste BigQuery sono uno strumento potente per implementare la sicurezza a livello di riga e di colonna. Può usare tabelle virtuali per filtrare o modificare i dati prima di mostrarli agli utenti.

Per creare una vista in BigQuery, può usare la seguente sintassi SQL:

CREATE VIEW `project.dataset.view_name` AS
SELECT column1, column2
FROM `project.dataset.table_name`
WHERE condition;

Ad esempio, potrebbe creare una vista che mostra solo i dati di vendita per una regione specifica:

CREATE VIEW `sales.northeast_sales` AS
SELECT *
FROM `sales.all_sales`
WHERE region = 'Northeast';

Conceda agli utenti l’accesso a una vista specifica invece che alla tabella, in modo che vedano solo i dati relativi al loro ruolo.

Può anche usare le viste per implementare regole di sicurezza più complesse. Ad esempio, potrebbe creare una vista che mostra solo i dati per l’utente corrente:

CREATE VIEW `project.dataset.my_data` AS
SELECT *
FROM `project.dataset.all_data`
WHERE user_email = SESSION_USER();

Questa vista filtrerà automaticamente i dati in base all’email dell’utente che esegue la query.

Viste Autorizzate per l’Accesso tra Dataset

Le viste autorizzate in BigQuery le consentono di creare viste in un dataset. Queste viste possono accedere ai dati in un altro dataset. Il sistema concede l’accesso anche se l’utente non ha il permesso di visualizzare il dataset originale. Questo è particolarmente utile per implementare controlli di accesso dettagliati.

Per configurare una vista autorizzata, deve prima creare la vista in un dataset, poi concedere a quella vista l’accesso al dataset di origine. Ecco un esempio:

-- Crea la vista nel dataset A
CREATE VIEW `projectA.datasetA.sales_summary` AS
SELECT date, SUM(amount) as total_sales
FROM `projectB.datasetB.detailed_sales`
GROUP BY date;
-- Autorizza la vista ad accedere ai dati nel dataset B
bq add-iam-policy-binding \
--member=serviceAccount:[email protected] \
--role=roles/bigquery.dataViewer \
projectB:datasetB

Questo crea una vista di riepilogo nel dataset A che può accedere ai dati di vendita dettagliati nel dataset B, senza dare agli utenti accesso diretto ai dati dettagliati.

Le viste autorizzate, che sono potenti, dovrebbero essere usate con giudizio. Ogni volta che concede a qualcuno il permesso di visualizzare qualcosa, rende il Suo sistema di sicurezza più complesso. Si assicuri di tenere traccia di questi permessi e controllarli spesso.

Implementazione della Sicurezza a Livello di Colonna

La sicurezza a livello di colonna in BigQuery le consente di limitare l’accesso a specifiche colonne all’interno di una tabella. Questo è particolarmente utile quando si gestiscono informazioni sensibili come informazioni personali identificabili.

Per implementare la sicurezza a livello di colonna, può usare la funzionalità dei tag di policy di BigQuery. Innanzitutto, crei una tassonomia di tag di policy, poi applichi questi tag a colonne specifiche. Infine, conceda agli utenti o ai gruppi l’accesso a specifici tag di policy.

Ecco un esempio di come potrebbe creare un tag di policy usando l’API di Data Policy di BigQuery:

POST https://datacatalog.googleapis.com/v1/projects/{project}/locations/{location}/taxonomies
{
"displayName": "Dati Sensibili",
"description": "Tag per colonne di dati sensibili",
"activatedPolicyTypes": ["FINE_GRAINED_ACCESS_CONTROL"]
}

Può usare categorie ed etichette che crea su colonne nel Suo setup BigQuery. Può anche controllare l’accesso con le regole IAM.

La sicurezza a livello di colonna può migliorare significativamente la protezione dei Suoi dati, ma aggiunge anche complessità al Suo modello di dati. È importante avere una strategia chiara su quali colonne necessitano di protezione e come l’accesso a queste colonne verrà gestito.

Monitoraggio e Logging in BigQuery

Una sicurezza efficace non riguarda solo la prevenzione; ma anche il rilevamento e la risposta. BigQuery offre capacità di logging e monitoraggio robuste per aiutarLa a tracciare l’uso e identificare potenziali problemi di sicurezza.

Può usare le viste INFORMATION_SCHEMA di BigQuery per interrogare i metadati sulle Sue risorse BigQuery. Ad esempio, per vedere tutte le query eseguite nell’ultimo giorno, potrebbe usare:

SELECT *
FROM `region-us`.INFORMATION_SCHEMA.JOBS_BY_PROJECT
WHERE creation_time == TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY)
AND job_type = 'QUERY'
ORDER BY creation_time DESC;

Questa query fornisce dettagli specifici su ogni job. Include l’utente che ha eseguito il job, il testo della query utilizzata e il volume di dati elaborati.

Oltre alle viste INFORMATION_SCHEMA, può anche usare i Cloud Audit Logs per tracciare l’attività BigQuery. I Cloud Audit Logs catturano una varietà di eventi, inclusa la creazione e l’eliminazione dei dataset, gli aggiornamenti delle tabelle e le esecuzioni delle query. Può esportare questi log su Cloud Storage o BigQuery per la conservazione a lungo termine.

Implementazione di GCP Org Policies

Le Policy dell’Organizzazione GCP forniscono un modo centralizzato per gestire i controlli di sicurezza attraverso l’intera organizzazione Google Cloud. Può usare queste regole per assicurare che BigQuery sia sicuro, come assicurandosi che tutte le tabelle abbiano una chiave di crittografia.

Per impostare una policy dell’organizzazione, utilizza la Console GCP o lo strumento da riga di comando gcloud. Ad esempio, per richiedere che tutti i dataset di BigQuery siano limitati a un’area geografica:

gcloud resource-manager org-policies enable-enforce \
constraints/bigquery.restrictDatasetLocation \
--organization=ORGANIZATION_ID

Questa regola garantisce che tutti i nuovi dataset abbiano una località elencata. Previene la creazione accidentale di dataset che si estendono su più regioni. Previene anche la violazione delle norme sulla residenza dei dati.

Le policy dell’organizzazione possono essere uno strumento potente per far rispettare pratiche di sicurezza coerenti in tutta l’organizzazione. Tuttavia, le organizzazioni dovrebbero implementarle con attenzione, poiché policy troppo restrittive possono ostacolare il lavoro legittimo. È spesso utile iniziare con policy solo di audit prima di farle rispettare.

Gestione degli Errori di Permesso Negato

Anche con una forte sicurezza, gli utenti possono ancora ricevere errori “permesso negato” quando cercano di accedere alle risorse BigQuery. Un errore comune è “permesso bigquery.datasets.update negato sul dataset”.

Questo errore spesso si verifica quando un utente cerca di modificare un dataset per il quale non ha permessi sufficienti. Per risolverlo, deve concedere all’utente il ruolo bigquery.dataEditor (o un ruolo personalizzato con permessi equivalenti) sul dataset.

Può farlo utilizzando lo strumento da riga di comando bq:

bq add-iam-policy-binding \
--member=user:[email protected] \
--role=roles/bigquery.dataEditor \
project:dataset

Dia solo agli utenti o agli account di servizio la quantità minima di permessi necessari per seguire il principio del privilegio minimo.

Quando si risolvono problemi di permessi, è spesso utile usare il Risolutore di Policy IAM nella Console Google Cloud. Questo strumento può aiutarLa a capire perché un utente ha o non ha un particolare permesso.

Tecniche Avanzate di Sicurezza di BigQuery

Per requisiti di sicurezza più complessi, BigQuery offre diverse funzionalità avanzate. Una di queste funzionalità è la capacità di usare funzioni definite dall’utente (UDF) per implementare il mascheramento dinamico dei dati.

Ad esempio, potrebbe creare una UDF che maschera gli indirizzi email:

CREATE FUNCTION `project.dataset.mask_email`(email STRING)
RETURNS STRING
AS (
CASE
WHEN email IS NULL THEN NULL
ELSE CONCAT(LEFT(email, 1), '***@', SPLIT(email, '@')[OFFSET(1)])
END
);

Può quindi usare questa funzione in viste o query per mascherare automaticamente gli indirizzi email per gli utenti che non dovrebbero vedere i valori completi.

Un’altra tecnica avanzata è l’utilizzo della funzionalità GROUP BY ALL di BigQuery per l’accesso ai dati aggregati. Questa funzionalità le consente di creare viste di riepilogo che raggruppano i dati per colonne non aggregate. Ciò semplifica l’accesso ai dati aggregati senza mostrare record individuali.

CREATE VIEW `project.dataset.sales_summary` AS
SELECT
DATE_TRUNC(date, MONTH) as month,
SUM(amount) as total_sales
FROM `project.dataset.detailed_sales`
GROUP BY ALL;

Questa vista mostrerà automaticamente tutte le nuove colonne aggiunte alla tabella detailed_sales. Questa funzionalità rende più facile gestire la tabella in futuro.

Crittografia e Gestione delle Chiavi

BigQuery crittografa automaticamente tutti i dati a riposo, ma per una sicurezza aggiuntiva, può usare chiavi di crittografia gestite dai clienti (CMEK). Con le CMEK, gestisce le Sue stesse chiavi di crittografia utilizzando il Cloud Key Management Service (KMS).

Per usare le CMEK con BigQuery, prima crea un key ring e una chiave nel KMS, poi specifica questa chiave quando crea un dataset:

bq mk --dataset \
--default_kms_key projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING_NAME]/cryptoKeys/[KEY_NAME] \
[PROJECT_ID]:[DATASET]

Usare le CMEK le dà più controllo sulla crittografia dei dati, ma comporta anche responsabilità di gestione aggiuntive. Dovrà assicurarsi che le Sue chiavi siano adeguatamente protette e che abbia processi in atto per la rotazione e il recupero delle chiavi.

Gestione dei Dati e Conformità

Una gestione efficace dei dati è cruciale per mantenere la conformità con normative come GDPR, HIPAA e CCPA. BigQuery offre diverse funzionalità per supportare la gestione dei dati:

  • Data Catalog: Questo servizio di gestione del metadata completamente gestito e scalabile può aiutarla a scoprire, comprendere e gestire i Suoi dataset BigQuery.
  • Data Loss Prevention (DLP): Può usare Cloud DLP per scansionare le Sue tabelle BigQuery alla ricerca di informazioni sensibili e applicare automaticamente controlli appropriati.
  • BigQuery Data Transfer Service: Questo servizio la aiuta a impostare e gestire carichi regolari di dati da varie fonti. Assicura che i Suoi dati siano attuali e precisi.

Quando implementa la gestione dei dati in BigQuery, è importante considerare l’intero ciclo di vita dei dati, dall’ingerimento alla cancellazione. Dovrebbe avere politiche chiare in atto per la conservazione dei dati, il controllo degli accessi e la gestione della qualità dei dati.

Conclusione

Assicurare BigQuery richiede livelli multipli di sicurezza, inclusi controlli di rete e permessi con ruoli IAM e viste autorizzate. Usando i tag di policy e il monitoraggio/logging, può rendere più sicuro il Suo ambiente BigQuery.

Ricordi che la sicurezza è un processo continuo. Riesamini regolarmente le Sue impostazioni di sicurezza, monitori per attività insolite, e rimanga aggiornato sulle ultime funzionalità di sicurezza di BigQuery per assicurarsi di proteggere i Suoi dati. Usando i metodi corretti, può massimizzare il valore di BigQuery garantendo al contempo sicurezza dei dati e conformità.

Man mano che l”uso di BigQuery cresce, consideri l’implementazione di controlli di sicurezza automatizzati e verifiche di conformità. Strumenti come il Cloud Security Command Center possono aiutarla a visualizzare la sicurezza del Suo ambiente Google Cloud, incluso BigQuery.

Infine, non si dimentichi dell’elemento umano nella sicurezza. Una formazione regolare per il Suo team sulle migliori pratiche di sicurezza di BigQuery e sulle policy specifiche della Sua azienda è cruciale. Incoraggiare una cultura di consapevolezza della sicurezza aiuta tutti a mantenere i dati sicuri.

Successivo

Schema Informativo del Database Redshift

Schema Informativo del Database Redshift

Scopri di più

Ha bisogno del nostro team di supporto?

I nostri esperti saranno lieti di rispondere alle Sue domande.

Informazioni generali:
[email protected]
Servizio clienti e supporto tecnico:
support.datasunrise.com
Richieste di collaborazione e alleanza:
[email protected]