Sicurezza a livello di riga nel database
Se la tua organizzazione si è già impegnata per la configurazione della sicurezza a livello di riga, o RLS (Row-Level Security), in un database, puoi utilizzare una delle seguenti tecniche per sfruttare la funzionalità esistente. Per sfruttare i modelli di sicurezza del database, sono necessarie connessioni live. Inoltre, queste tecniche generalmente non sono disponibili in Tableau Cloud: il nome utente Tableau per Tableau Cloud è un indirizzo e-mail univoco che solitamente non è l’identità dell’utente sul lato del database.
Non è necessariamente meglio o più semplice implementare un modello integrato per la sicurezza a livello di riga rispetto al fatto di crearlo appositamente per Tableau. Queste tecniche sono generalmente utilizzate quando un’organizzazione ha già investito in tali tecnologie e desidera trarre vantaggio dall’investimento.
Nota: per informazioni sulle alternative che puoi utilizzare per implementare la sicurezza a livello di riga in Tableau, consulta Panoramica delle opzioni di sicurezza a livello di riga in Tableau.
Rappresentazione (Microsoft SQL Server)
È possibile configurare Microsoft SQL Server (e alcuni sistemi correlati) in modo che gli utenti del database abbiano accesso solo alle viste con filtri RLS integrati, utilizzando sia tabelle di giunzione di sicurezza che viste create dall’amministratore del database. Tableau può trarre vantaggio da questa caratteristica utilizzando un concetto noto come "rappresentazione".
Quando si pubblica un’origine dati Tableau contenente una connessione MS SQL Server in Tableau Server, sono disponibili due opzioni di autenticazione per sfruttare la rappresentazione. Il menu visualizzato dipenderà dal fatto che sia stato effettuato l’accesso a SQL Server con l’autenticazione di rete o inserendo le credenziali nome utente/password.
Per abilitare il filtraggio RLS per qualsiasi utente in grado di accedere all’origine dati pubblicata in Tableau Server, sia l’account RunAs di AD che le credenziali del server SQL incorporato devono disporre dell’autorizzazione EXECUTE AS per tutti gli utenti di Tableau nel database che accederanno alla dashboard o all’origine dati. Tutti gli utenti di Tableau devono essere presenti nel server del database come utenti, con i diritti SELECT per le viste a cui tenti di connetterti (e a cui è stata applicata la sicurezza a livello di riga). Per l’elenco completo dei requisiti, consulta Requisiti per la rappresentazione.
Kerberos e delega vincolata
La delega vincolata in Tableau Server tramite Kerberos funziona in modo simile alla rappresentazione, in quanto consente a Tableau Server di utilizzare le credenziali Kerberos di una vista o di una cartella di lavoro per eseguire una query per conto dell’utente. Pertanto, se è impostata la sicurezza a livello di riga nel database, l’utente vedrà solo i propri dati.
Per l’elenco completo dei database che supportano la delega Kerberos, consulta Attivare la delegazione Kerberos. È richiesto Active Directory. Il computer in cui è installato Tableau Server deve essere aggiunto al dominio Active Directory. Il metodo di autenticazione(Il collegamento viene aperto in una nuova finestra) specificato al momento della pubblicazione dell’origine dati deve essere Credenziali Viewer.
Tieni presente che Kerberos può essere sfruttato per la sicurezza a livello di riga quando si utilizza Microsoft Analysis Services.
Cubi OLAP
Le connessioni a cubi OLAP in Tableau non hanno l’equivalente di un filtro dell’origine dati, richiesto per il metodo RLS basato sulle tabelle di diritti in Tableau o l’accesso alla funzione USERNAME(). Per questi motivi, Kerberos e la delega vincolata rappresentano un approccio consigliato per applicare la sicurezza a livello di riga per i database OLAP, che consente a Tableau di sfruttare il filtraggio degli utenti già implementato sul lato del server OLAP.
Se gli utenti che visualizzano la dashboard non fanno parte del dominio, è possibile un approccio manuale alla creazione dei filtri utente. Tuttavia, poiché l’insieme di filtri utente generato dall’utente non può essere aggiunto come filtro dell’origine dati, e sarà invece presente nello spazio Filtri, è importante che le funzionalità di modifica Web e download della cartella di lavoro non siano consentite per alcuna vista pubblicata che utilizza questo metodo.
Delega SAML e SAP HANA
Se Tableau Server è configurato per l’utilizzo dell’Configurare l’SSO SAP HANA per fornire un’esperienza Single Sign-On, le credenziali del visualizzatore vengono utilizzate per eseguire la query per conto di tale utente, che opererà all’interno di qualsiasi sicurezza applicata a livello utente. Il metodo di autenticazione(Il collegamento viene aperto in una nuova finestra) specificato al momento della pubblicazione dell’origine dati deve essere Credenziali Viewer.
SQL iniziale per forzare una sessione specifica dell’utente (Oracle VPD)
SQL iniziale permette di specificare un comando SQL che viene eseguito quando si effettua la connessione al database per impostare tabelle temporanee da utilizzare durante la sessione o per impostare un ambiente dati personalizzato.
Per Oracle VPD, è possibile impostare una sessione specifica per un utente eseguendo una particolare stored procedure o funzione per configurare il contesto della connessione al database in modo che corrisponda al nome utente di Tableau:
begin DBMS_SESSION.SET_IDENTIFIER([TableauServerUser]); end;
Gli stessi requisiti generali previsti per la rappresentazione valgono anche per l’utilizzo di questa funzionalità per la sicurezza a livello di riga: l’amministratore del database deve impostare VPD e tutti gli utenti associati in modo che siano presenti nel database.
In MS SQL Server è possibile forzare un comando EXECUTE AS (tuttavia, questo metodo è simile a ciò che viene già fatto da Tableau con la rappresentazione):
EXECUTE AS USER = [TableauServerUser] WITH NO REVERT;
Nota: se l’origine dati è incorporata e un utente dispone delle autorizzazioni per la modifica Web o il download della cartella di lavoro, la sicurezza a livello di riga è inesistente, in quanto l’SQL iniziale che la impone può essere facilmente rimosso. L’origine dati deve essere pubblicata separatamente, invece di essere incorporata nella cartella di lavoro.
Matrice di confronto per i metodi di sicurezza a livello di riga
Metodo | Utile quando | Vantaggi | Svantaggi |
Tabella dei diritti (consigliata) |
|
|
|
CONTAINS() con le estrazioni |
|
|
|
Rappresentazione |
|
|
|
Kerberos |
|
|
|
SQL iniziale |
|
|
|