Tableau

Sicurezza a Livello di Riga (RLS): dati mascherati in Tableau

Una buona governance dei dati dovrebbe consentire l’accesso alle informazioni per ottenere le risposte di cui si ha bisogno, garantendo al tempo stesso l’applicazione della sicurezza dei dati. Uno strumento utile in tal senso è la Sicurezza a Livello di Riga (RLS), noto anche come Row Level Security.

In questo articolo, potrai acquisire le conoscenze necessarie per implementare efficacemente la RLS, garantendo un accesso ai dati sicuro e personalizzato nelle tue dashboard Tableau.

Cos’è la Sicurezza a Livello di Riga in Tableau?

La sicurezza a livello di riga (RLS) in Tableau si riferisce alla limitazione delle righe di dati che un determinato utente può vedere in una determinata cartella di lavoro o origine dati nel momento in cui visualizza le informazioni. Questo consente di controllare meglio quali dati vedono gli utenti in una vista pubblicata in base al loro account di accesso a Tableau Server.

Ad esempio, utilizzando questa tecnica, un manager regionale è in grado di visualizzare i dati della sua regione ma non quelli degli altri manager regionali. Con questi approcci alla sicurezza dei dati, puoi pubblicare un’unica visualizzazione o dashboard in modo da fornire dati e analisi sicuri e personalizzati a un’ampia gamma di utenti su Tableau Server.

Vediamo insieme alcune modalità di implementazione.

Creare un filtro utente manualmente

Garantire la sicurezza dei dati a livello di riga in Tableau può essere semplice grazie all’uso di filtri utente, dove gli utenti sono associati manualmente ai valori corrispondenti. Ad esempio, assegnando manualmente l’utente ‘Alice’ alla regione ‘Est’, si garantisce che visualizzi solo le righe dei dati corrispondenti a quella regione specifica.

Per implementare la RLS attraverso l’uso dei filtri bisogna seguire questi passaggi:

  1. In Tableau Desktop, apri la cartella di lavoro e connettiti ai dati che vuoi filtrare.
  2. Passa al foglio di lavoro a cui vuoi applicare un filtro.
  3. Seleziona Server > Crea filtro utente. Scegli quindi il campo da utilizzare per filtrare la vista, come Regione.
  4. Se ti viene richiesto, accedi al server o al sito.
  5. Nella finestra di dialogo Filtro utente, assegna un nome al filtro. Utilizzeremo i Regional Manager.
  6. Seleziona un utente o un gruppo sulla sinistra, quindi indica quali valori sulla destra dovrebbero essere in grado di visualizzare. Ripeti questo processo per ogni utente o gruppo e fai clic su OK quando hai finito di eseguire il mapping degli utenti ai valori.
Mapping degli utenti ai valori

      7. Dopo aver creato il filtro utente, esso viene visualizzato nell’area Insiemi del riquadro Dati.
      8. Trascina il filtro utente nello spazio Filtri. Il filtro diventa un filtro di contesto e la vista si adegua per mostrare i dati che sei autorizzato a visualizzare.

Trascinare Filtro

Sebbene questo approccio sia pratico, richiede un’attenzione costante e una manutenzione elevata. Ogni volta che si aggiunge o si rimuove un utente, è necessario aggiornare manualmente i filtri corrispondenti e ripubblicare l’origine dati. Inoltre, poiché i filtri vengono applicati a livello di dashboard o cartella di lavoro, è necessario tener conto delle autorizzazioni per evitare che gli utenti modifichino o rimuovano i filtri per ottenere un accesso non autorizzato ai dati.

Creare un filtro dinamico

Utilizzando questo metodo, crei un campo calcolato che automatizza il processo di mapping degli utenti ai valori dei dati. Questo metodo richiede che i dati sottostanti includano le informazioni di sicurezza che desideri utilizzare per il filtraggio. Ad esempio, utilizzando un campo calcolato, la funzione USERNAME() e una colonna “Manager” nell’origine dati, puoi determinare se l’utente che richiede la vista è un manager e modificare di conseguenza i dati nella vista.

Poiché il filtraggio è definito a livello di dati ed è automatizzato dal campo calcolato, questo metodo è meno soggetto a errori rispetto al mapping manuale degli utenti ai valori dei dati. Quando pubblichi una risorsa con questo tipo di filtro utente, devi impostare le autorizzazioni in modo che gli utenti non possano salvarla o scaricarla e rimuovere il filtro, ottenendo così l’accesso a tutti i dati.

Per implementare la RLS dinamica è innanzitutto necessario che il database includa il campo che si intende utilizzare per filtro. Per questo esempio, i dati includono una tabella di riferimento denominata People, che contiene due colonne: Region e Manager. I nomi nel campo Manager corrispondono ai nomi utente di Tableau Cloud o Tableau Server e utilizzeremo questo campo per il filtraggio.

Seguiremo la procedura utilizzando i dati Superstore forniti con Tableau Desktop:

  1. In Tableau Desktop, apri la cartella di lavoro e connettiti ai dati che vuoi filtrare. In questo esempio viene utilizzata una tabella denominata Orders.
  2. Fai doppio clic sulla tabella Orders per passare al canvas di join. Aggiungi la tabella di riferimento (People) con un join a sinistra. Per questo esempio, la join è sul campo Region.
  3. Sul foglio di lavoro, seleziona Analisi > Crea campo calcolato e crea il campo seguente, denominato “User is a manager”.
    USERNAME() = [Manager]
    Questo calcolo restituisce TRUE se il nome utente della persona che ha effettuato l’accesso al server esiste nella colonna People.
  4. Aggiungi il campo User is a manager allo spazio Filtri.
  5. Nella finestra di dialogo Filtro seleziona True e quindi fai clic su OK. Questo imposta il filtro in modo che solo le persone che sono manager possano visualizzare i dati nella vista. Se non sei elencato nel campo Manager, la vista durante l’authoring potrebbe risultare un canvas vuoto.
  6. Visualizza in che modo un utente specifico vede questa vista: nell’angolo inferiore destro, apri il menu Filtra come utente e seleziona un utente che sai essere un manager.

Utilizzare una policy sui dati

A partire da Tableau 2021.4, quando la gestione dei dati è abilitata in Tableau Server o Tableau Cloud, gli utenti con una licenza Creator possono implementare la sicurezza a livello di riga tramite policy di dati sulle connessioni virtuali. Poiché le connessioni virtuali sono centralizzate e riutilizzabili, puoi gestire la sicurezza a livello di riga per ogni connessione in un unico posto, in modo sicuro e protetto, per tutti i contenuti che utilizzano tale connessione.

Connessioni Virtuali

Per pubblicare una connessione virtuale o impostare le autorizzazioni, è necessario disporre delle credenziali per il database a cui si connette la connessione virtuale e essere un amministratore del server o del sito o un creatore.

I criteri dati filtrano i dati in una connessione virtuale, assicurando che le persone vedano solo i dati che sono autorizzate a visualizzare.

Utilizzare la sicurezza a livello di riga esistente nel database

Molte origini dati dispongono di meccanismi integrati per la sicurezza a livello di riga. In questi casi, potresti sfruttare la funzionalità esistente. Il vantaggio principale della sicurezza a livello di riga nel database è che consente agli amministratori di implementare e controllare i criteri di sicurezza dei dati in una singola posizione: i relativi database.

Conclusioni

In questo articolo abbiamo visto 4 differenti modalità attraverso cui è possibili dare accesso alle informazioni preservando al contempo la sicurezza delle informazioni. Tableau, infatti, permette di implementare la RLS attraverso i filtri manuali o dinamici, ma anche attraverso le connessioni virtuali e i database quando adeguatamente predisposti a tal fine.

Leggi tutti i nostri articoli su Tableau

Vuoi scoprire le ultime novità o approfondire alcune funzionalità per diventare un esperto?

Visualitics Team
Questo articolo è stato scritto e redatto da uno dei nostri consulenti.

Fonti:
Best Practices for Row Level Security with Entitlements Tables – www.tableau.com
Creare un filtro utente e proteggerlo per la pubblicazione – www.tableau.com
Panoramica delle opzioni di sicurezza a livello di riga in Tableau – www.tableau.com

Condividi ora sui tuoi canali social o via email: