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

Mascheramento dei dati per Apache Impala

Mascheramento dei dati per Apache Impala

Introduzione

Il mascheramento dei dati per Impala è fondamentale per proteggere le informazioni sensibili memorizzate in Apache Impala, così come molte organizzazioni lo fanno per le query SQL distribuite in tempo reale. Impala elabora dati strutturati che spesso includono informazioni sensibili, quali dati personali identificabili (PII) e registrazioni finanziarie. L’implementazione del mascheramento dei dati in Impala migliora la sicurezza, garantisce la conformità e riduce i rischi di accesso non autorizzato.

Cos’è il Mascheramento dei Dati?

Il mascheramento dei dati protegge le informazioni sensibili sostituendo i valori originali con dati offuscati, permettendo alle organizzazioni di mantenere la fruibilità dei dati per analisi e sviluppo, tutelando al contempo la riservatezza.

Tipi Comuni di Mascheramento dei Dati:

Misure di Sicurezza Complementari:

  • Tokenizzazione: Sostituisce i dati sensibili con token mantenendo l’integrità referenziale.
  • Crittografia: Converte i dati in formati illeggibili, reversibili mediante chiavi di decrittazione.

Implementare il Mascheramento dei Dati per Apache Impala con Capacità Native

Tabella di Esempio

Prima di esaminare le diverse tecniche di mascheramento, creiamo una tabella di esempio su cui lavorare:

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

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

Adesso, esploriamo le diverse strategie di mascheramento.

1. Mascheramento dei Dati Basato su Viste per Apache Impala

Un modo semplice per implementare il mascheramento in Impala è tramite viste, che limitano l’accesso diretto alle tabelle e applicano trasformazioni predefinite.

Esempio: Mascheramento dei numeri di previdenza sociale (SSN)

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

SELECT * FROM masked_users;

Output Previsto:

idssn_mascheratonome
1XXX-9012Charlie
2XXX-1098Diana

Le viste offrono un modo semplice per nascondere le informazioni sensibili pur mantenendo i dati leggibili per analisi.

2. Mascheramento dei Dati per Apache Impala tramite Job ETL

Per le organizzazioni che richiedono dati pre-mascherati prima dell’archiviazione, i job ETL (Extract, Transform, Load) possono processare e mascherare i dati sensibili prima di inserirli nelle tabelle.

Ecco l’output quando si esegue l’istruzione INSERT INTO sulla tabella users basandosi sui dati provenienti dalla tabella raw_users:

Dati di Input dalla tabella raw_users:

idssnnome
1123-45-9012Charlie
2987-65-1098Diana

Dati di Output nella tabella users:

idssn_mascheratonome
1XXX-9012Charlie
2XXX-1098Diana

I valori di ssn sono stati mascherati in modo da mostrare solo le ultime quattro cifre, precedute da XXX-.

Seppure questo approccio migliora la sicurezza, esso riduce anche la flessibilità, rendendo più difficile recuperare i dati originali senza un dataset separato non mascherato.

3. Mascheramento con Funzioni Definite dall’Utente (UDFs)

Impala non dispone di UDF predefinite per il mascheramento come Hive. Secondo la documentazione, Impala supporta la scrittura di UDF personalizzate in C++ e Java per la trasformazione dei dati, ma non include funzioni di mascheramento pre-costruite. Sarà quindi necessario scrivere le proprie UDF per implementare la funzionalità di mascheramento, in modo simile a quanto offerto da Hive con le sue funzioni di mascheramento integrate.

Se necessiti di capacità di mascheramento, potresti:

  1. Scrivere UDF personalizzate in C++ per implementare la logica di mascheramento necessaria
  2. Utilizzare UDF Java esistenti di Hive per il mascheramento importandole in Impala
  3. Gestire il mascheramento a livello di applicazione prima di caricare i dati in Impala

Supponiamo di aver scritto una UDF personalizzata in Impala utilizzando C++ o Java per mascherare i numeri di previdenza sociale (SSN) nella colonna ssn. Per semplicità chiameremo questa UDF personalizzata mask_ssn.

Ecco un esempio di come potresti interrogare questa UDF e l’output previsto:

Esempio di Query con UDF Personalizzata:

SELECT id, mask_ssn(ssn) AS masked_ssn, name
FROM users;

Output Previsto:

idssn_mascheratonome
1XXX-9012Charlie
2XXX-1098Diana

Spiegazione:

  • La UDF mask_ssn trasformerà i numeri di previdenza sociale sostituendo i primi cinque caratteri con XXX-, lasciando visibili le ultime quattro cifre.
  • L’output previsto è simile all’effetto ottenuto utilizzando CONCAT('XXX-', RIGHT(ssn, 4)), ma l’impiego di una UDF personalizzata offre maggiore flessibilità per implementare logiche di mascheramento più complesse.

Mascheramento Avanzato dei Dati per Impala con DataSunrise

DataSunrise offre un mascheramento dinamico e statico senza modificare i dati originali. Garantisce:

  • Mascheramento dei dati basato sui ruoli.
  • Integrazione senza soluzione di continuità con Impala.
  • Impatto minimo sulle prestazioni.

Passaggi per l’Implementazione:

  1. Connetti la tua istanza di Impala a DataSunrise.
Mascheramento dei dati per Apache Impala - Istanza di Apache Impala connessa con successo mostrata nel pannello di configurazione del database DataSunrise
Istanza di Apache Impala connessa con successo, mostrata nel pannello di configurazione del database DataSunrise
  1. Definisci le regole di mascheramento tramite l’interfaccia di DataSunrise.
Mascheramento dei dati per Apache Impala - Utente che seleziona le colonne da mascherare dal database Impala utilizzando l'interfaccia di DataSunrise
Utente che seleziona le colonne da mascherare dal database Impala utilizzando l’interfaccia di DataSunrise
  1. Valida il mascheramento dei dati eseguendo query di test.
Mascheramento dei dati per Apache Impala - Output della query SQL SELECT che mostra i valori mascherati delle colonne in Apache Impala
Output della query SQL SELECT che mostra i valori mascherati delle colonne in Apache Impala

Conclusione

Il mascheramento dei dati è cruciale per proteggere le informazioni sensibili in Impala e garantire la conformità alle normative. Mentre viste e UDF offrono soluzioni di base, il mascheramento tramite ETL rappresenta un approccio più permanente. DataSunrise migliora ulteriormente la sicurezza offrendo soluzioni di mascheramento dei dati flessibili, scalabili e a impatto minimo.

Prenota una demo di DataSunrise per esplorare soluzioni avanzate di sicurezza dei dati per il tuo ambiente Impala.

Successivo

Mascheramento Statico dei Dati per Apache Impala

Mascheramento Statico dei Dati per Apache Impala

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]