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

Data Masking per Apache Hive

Data Masking per Apache Hive

Introduzione

Proteggere le informazioni sensibili è fondamentale. Apache Hive, ampiamente utilizzato per il data warehousing e le analisi, gestisce enormi quantità di dati strutturati, che spesso contengono informazioni sensibili come dati personali identificabili (PII) e registrazioni finanziarie. Implementare il data masking in Hive garantisce la sicurezza dei dati, la conformità ai requisiti normativi e riduce al minimo il rischio di accessi non autorizzati.

Che cos’è il Data Masking?

Il data masking è una tecnica utilizzata per proteggere i dati sensibili sostituendo i valori originali con dati fittizi o offuscati. Ciò consente alle organizzazioni di mantenere l’usabilità dei dati per analisi e sviluppo, salvaguardando al contempo le informazioni riservate.

Il data masking può essere implementato come processo statico o dinamico. Quando si tratta di modificare i dati, molteplici meccanismi intervengono, ciascuno offrendo approcci unici per proteggere le informazioni sensibili. Diverse situazioni richiedono varie tecniche di masking. Ecco alcuni tipi comuni di data masking:

Tecniche Addizionali di Protezione dei Dati

Pur non essendo strettamente il data masking, le organizzazioni spesso combinano il masking con queste misure di sicurezza complementari:

  • Tokenizzazione: Sostituisce i dati sensibili con token unici mantenendo l’integrità referenziale.
  • Crittografia: Protegge i dati convertendoli in un formato illeggibile, reversibile con una chiave di decrittazione.

Tecniche di Data Masking in Hive

Proteggere i dati sensibili in Apache Hive richiede strategie di masking efficaci per prevenire l’accesso non autorizzato, mantenendo al contempo l’usabilità dei dati. Ecco alcune tecniche comunemente adottate per implementare il data masking negli ambienti Hive.

1. Utilizzo delle Hive Views per il Data Masking

L’approccio basato sulle view è uno dei modi più semplici per implementare il data masking senza strumenti aggiuntivi. Esso consente di:

  • Definire una logica di filtraggio complessa
  • Mantenere la sicurezza a livello SQL
  • Applicare diverse view per utenti differenti
  • Sfruttare il framework di autorizzazione esistente di Hive

Esempio: Mascheramento dei Numeri di Previdenza Sociale (SSN)

Consideriamo uno scenario in cui gli SSN devono essere mascherati per nascondere informazioni sensibili agli utenti non autorizzati.

CREATE TABLE users (
    id INT,
    ssn STRING,
    name STRING
);

INSERT INTO users VALUES (1, '123-45-6789', 'Alice'), (2, '987-65-4321', 'Bob');

CREATE VIEW masked_users AS
SELECT 
    id, 
    CONCAT('XXX-', SUBSTR(ssn, -4)) AS masked_ssn, 
    name 
FROM users;

SELECT * FROM masked_users;

Output Atteso:

idmasked_ssnname
1XXX-6789Alice
2XXX-4321Bob

Vantaggi del masking basato sulle view:

  • Implementazione semplice mediante SQL.
  • Nessun strumento aggiuntivo richiesto.
  • Fornisce protezione dei dati a livello di colonna.

2. Approccio di Virtualizzazione dei Dati per RLS in Hive

Poiché Hive non supporta nativamente la sicurezza a livello di riga (RLS), si può utilizzare un workaround basato sulla virtualizzazione dei dati per ottenere un risultato simile, reindirizzando le query verso view mascherate.

Come Funziona

  1. Restringi l’accesso alla tabella originale.
  2. Crea una view mascherata in uno schema specifico per l’utente.
  3. Imposta lo schema predefinito dell’utente per interrogare automaticamente la view mascherata.

Esempio: Mascheramento degli SSN per Analista

CREATE DATABASE analyst1_db;

CREATE VIEW analyst1_db.users AS 
SELECT id, CONCAT('XXX-', SUBSTR(ssn, -4)) AS ssn, name 
FROM default.users;

Output Atteso:

Quando l’analista esegue:

SELECT * FROM users;

Interrogherà la view mascherata (analyst1_db.users), garantendo la protezione dei dati.

Risultati Query Attesi

Query EseguitaTabella AccessibileRisultato (Mascherato/Non Mascherato)
SELECT * FROM users; (Analista)analyst1_db.usersMascherato (XXX-6789)
SELECT * FROM users; (Admin)default.usersNon Mascherato (123-45-6789)

Questa tecnica di virtualizzazione dei dati offre un workaround pratico per Hive, ma non è un sostituto perfetto per la sicurezza a livello di riga. Potrebbe aggiungere complessità con schemi specifici per ogni utente e causare confusione se non documentata correttamente. Per una soluzione più robusta, si consiglia di integrare Apache Ranger o altri strumenti dedicati.

3. Data Masking per Apache Hive con Apache Ranger

Apache Ranger offre un controllo centralizzato degli accessi con capacità di masking a livello granulare. Ranger consente di:

  • Masking Statico: Trasformazioni fisse come la sostituzione dei valori con null o costanti.
  • Masking Dinamico: Trasformazioni basate sul ruolo dell’utente, in cui la visibilità dei dati sensibili dipende dai permessi.

Esempio: Applicazione di una Politica di Masking in Apache Ranger

  1. Definire una politica di data masking in Ranger per la tabella users.
  2. Impostare regole di masking a livello di colonna per la colonna ssn.
  3. Assegnare ruoli per controllare quali utenti vedono valori mascherati rispetto a quelli non mascherati.
Mascheramento dei Dati di Apache Hive con Apache Ranger
Mascheramento dei Dati di Apache Hive con Apache Ranger

Risultati Query per l’Esempio della Politica Ranger:

UtenteColonnaRisultato della Query
AnalistassnMascherato con NULL
OspitessnMascherato con NULL
AmministratoressnNon Mascherato

Data Masking per Apache Hive Utilizzando DataSunrise

1. Collega la Tua Istanza Hive a DataSunrise

Una volta installato DataSunrise, configurarlo per connettersi al tuo ambiente Hive specificando i parametri di connessione.

Connessione dell'Istanza Database Hive in DataSunrise
Connessione dell’Istanza Database Hive in DataSunrise

2. Definisci Regole di Masking

Crea regole di data masking in DataSunrise per specificare quali colonne devono essere mascherate e i metodi di masking da applicare. DataSunrise supporta sia il data masking dinamico che quello statico, ciascuno configurabile nelle rispettive sezioni dell’interfaccia utente. Per questa dimostrazione, ci concentriamo sul masking dinamico, specificando esattamente quali dati devono essere mascherati.

Esempio di Definizione della Regola di Masking in DataSunrise
Esempio di Definizione della Regola di Masking in DataSunrise

3. Testa e Valida

Esegui query per verificare che il data masking sia applicato correttamente senza impattare sulle prestazioni delle query.

Output Esempio della Query con Dati Mascherati
Output Esempio della Query con Dati Mascherati

Conclusione

Il data masking è essenziale per proteggere i dati sensibili in Apache Hive e garantire la conformità normativa. Sebbene le view in Hive e la virtualizzazione dei dati offrano capacità di masking di base, esse richiedono spesso una configurazione manuale e mancano di flessibilità. Apache Ranger fornisce un controllo centralizzato, ma può essere complesso da gestire e configurare efficacemente.

DataSunrise offre una soluzione superiore, fornendo data masking dinamico e statico con un impatto minimo sulle prestazioni. La sua interfaccia intuitiva, politiche flessibili e integrazione senza soluzione di continuità con Hive lo rendono la scelta ideale e scalabile per migliorare la sicurezza dei dati.

DataSunrise offre funzionalità avanzate di sicurezza per i database, tra cui auditing, masking e data discovery. Pianifica una demo online per scoprire come possiamo aiutarti a proteggere i dati memorizzati in Hive.

Successivo

Mascheramento Statico dei Dati per Apache Hive

Mascheramento Statico dei Dati per Apache Hive

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]