Database
 sql >> Database >  >> RDS >> Database

Mascheratura dinamica dei dati basata su proxy in FieldShield

Questo articolo descrive un metodo di mascheramento dinamico dei dati (DDM) disponibile per i siti premium IRI FieldShield che utilizza un sistema basato su proxy per intercettare le query dell'applicazione ai database connessi a JDBC. È uno dei numerosi approcci per mascherare i dati in volo che gli utenti FieldShield possono prendere in considerazione.

Altre opzioni IRI DDM includono:funzioni FieldShield richiamabili tramite API integrate in programmi C/C++/C#, Java o .NET; funzioni FieldShield in tempo reale incorporate nelle procedure SQL che creano viste mascherate; e smascheramento dinamico delle tabelle mascherate staticamente per gli utenti autorizzati.

Il sistema basato su proxy qui introdotto utilizza un driver "JDBC SQL Trail" specifico per il database, insieme a un'applicazione Web di configurazione e gestione denominata SQL Sharp (SQL#). Questo diagramma mostra l'architettura del sistema prima e dopo l'implementazione:

Questa applicazione attualmente supporta le seguenti piattaforme di database relazionali:

  • Oracolo 11g, 12c, 18/19c
  • PostgreSQL 9.5, 9.6, 10, 11
  • MS SQL 2014, 2016
  • SAP HANA 2.0

e richiede i seguenti componenti di terze parti:

  • MS Windows 7,10 o Server 2012 e versioni successive (testato).
  • Java JDK e JRE 1.8 o versioni successive.
  • Tomcat 8.5 o versioni successive per eseguire il server Web SQL#.
  • Un browser Web moderno, come:
    • Google Chrome
    • Mozilla Firefox
    • Apple Safari
    • Microsoft Edge
  • Oracle o PostgreSQL come database del repository da archiviare:
    • Configurazione di utenti e gruppi SQL#
    • Accesso al DB e controlli delle attività
    • Politiche di mascheramento dinamico dei dati
    • Registri di controllo SQL
Come funziona?

All'interno dell'applicazione Web SQL#, si creano policy di mascheramento dei dati per redigere i valori delle colonne in tempo reale per tutti gli utenti tranne quelli autorizzati che si connettono al database tramite il driver JDBC SQL Trail. Devi installare e configurare quel driver per ogni istanza di database che vuoi proteggere.

I criteri DDM definiscono quali tabelle e colonne mascherare e come verranno visualizzati i valori mascherati. Una volta che il sistema è stato configurato correttamente, tutte le query connesse tramite il driver saranno soggette alla politica di mascheramento.

È anche possibile definire criteri per impedire agli utenti di accedere e determinate attività SQL. Viene prodotto un log di controllo dell'attività di accesso e SQL completo e visualizzabile in SQL#.

Il driver non distingue tra gli utenti dell'applicazione per scopi di blocco, mascheramento o controllo. Tuttavia, puoi autorizzare utenti con nomi specifici, effettuando connessioni alternative del server delle applicazioni al DB tramite lo stesso driver, a visualizzare i dati non mascherati.

Creazione di una politica di mascheramento

Per creare una policy di mascheramento in SQL#, usa la Politica di mascheratura scheda di Gestione di esecuzione SQL# schermo. Seleziona il + Icona (Aggiungi) a destra dell'Elenco regole di mascheramento etichetta.

Assegna un nome alla regola di mascheratura e una descrizione facoltativa. Puoi quindi scegliere il tipo di maschera da applicare da Masing Regex: nel menu a discesa Aggiungi regola di mascheramento dialogo.

Le prime tre opzioni sono predefinite, mentre Regex consente di definire un formato di mascheratura personalizzato. Fai clic sul + (Aggiungi) a destra di TAB/COL label per aggiungere una o più combinazioni di tabelle e colonne, per specificare quali valori di dati verranno mascherati.

Dopo aver creato ciascuna combinazione di tabella e colonne, fai clic su Aggiungi pulsante al centro della finestra di dialogo per inserirli nell'elenco. Quando hai finito di specificare le posizioni di tabelle e colonne, fai clic su Aggiungi pulsante in basso per aggiungere le posizioni a Aggiungi regola di mascheramento dialogo.

Infine, fai clic su Salva nella parte inferiore di Aggiungi regola di mascheramento finestra di dialogo al termine della regola di mascheratura. A questo punto, tutti gli utenti configurati per l'accesso ai dati vedranno i valori mascherati durante la connessione tramite il driver proxy JDBC SQL Trail.

Per consentire a un utente di visualizzare i dati non mascherati, devi aggiungerli all'Elenco utenti non mascherati , come descritto di seguito.

Concessione dell'autorizzazione agli utenti

All'interno della stessa Normativa sul mascheramento scheda di Gestione di esecuzione SQL# schermo. Fai clic sul + (Aggiungi) a destra dell'Elenco utenti non mascherati etichetta. Verrà visualizzato Cerca utente finestra di dialogo in cui è possibile selezionare uno o più utenti per i quali le query nelle colonne e nelle tabelle selezionate non verranno mascherate.

Fai clic su Salva  nella parte inferiore della finestra di dialogo quando hai finito di selezionare gli utenti.

Utilizzo di SQL# e SQL Trail da applicazioni database

In questo esempio, la nostra applicazione di database sarà IRI Workbench, l'ambiente di progettazione dei lavori front-end di Eclipse per Voracity, FieldShield e altri prodotti software IRI.

Per abilitare le tue applicazioni per il controllo SQL e il mascheramento dinamico dei dati utilizzando il server proxy SQL# e il driver JDBC SQL Trail, dovrai attivare SQL# tramite Tomcat e il suo server proxy. È inoltre necessario configurare il driver JDBC SQL Trail nella vista IRI Workbench Data Source Explorer, nonché le politiche DDM in SQL# come descritto sopra.

Ecco una vista dell'istanza Oracle connessa tramite il driver JDBC SQL Trail.

Si noti che tutte le normali operazioni del database e le procedure guidate dei processi IRI continueranno a funzionare tramite questa connessione. Ciò significa anche che qualsiasi attività non autorizzata da IRI Workbench verrà bloccata e tutti i comandi SQL emessi da qui al database connesso verranno registrati nel log di controllo SQL#.

Questa è una query di Workbench nella tabella ORDERS che è stata configurata con criteri per DDM in SQL#:

rispetto alla stessa query eseguita da un utente autorizzato, che mostra i dati originali non mascherati:

Nel frattempo, nella sezione di registrazione dell'applicazione SQL#, puoi vedere il nostro record di query:

dall'indirizzo IP di IRI Workbench.