Begränsa åtkomst på dataradsnivå

När du delar arbetsböcker med andra genom att publicera dem på Tableau Server eller Tableau Cloud kan alla användare som har tillgång till arbetsböckerna som standard se alla data som visas i vyerna. Du kan åsidosätta detta beteende genom att använda en typ av filter som låter dig ange vilka ”rader” med data som kan ses i vyn av alla som är inloggade på servern.

Denna metod för att säkra data på radnivå gäller för datakällor med direktanslutningar och extraktionsdatakällor vars tabeller lagras som flera tabeller. Mer information om lagring av extraktionsdata med hjälp av flera tabeller finns i Extrahera data.

Obs! Information om vilka alternativ du kan använda för att implementera säkerhet på radnivå i Tableau finns i Översikt över alternativ för säkerhet på radnivå i Tableau(Länken öppnas i ett nytt fönster) i Tableau Server-hjälpen.

Ytterligare relaterad information finns i vitboken Bästa tillvägagångssätt för säkerhet på radnivå med berättigandetabeller(Länken öppnas i ett nytt fönster) .

Så här fungerar användarbaserad filtrering

Tänk dig att du har skapat en kvartalsvis försäljningsrapport för en uppsättning produkter under loppet av flera år, spridda över olika geografiska områden.

När du publicerar den här rapporten vill du tillåta att varje regionschef endast ser data som är relevanta för hans eller hennes region. I stället för att skapa en separat vy för varje chef kan du använda ett användarfilter som begränsar åtkomsten till data baserat på användaregenskaper, till exempel roll.

Begränsning av åtkomst till data på detta sätt kallas säkerhet på radnivå (Row Level Security – RLS). Tableau erbjuder följande metoder för säkerhet på radnivå:

  • Skapa ett användarfilter och mappa användare till värden manuellt.

    Denna metod är praktisk men kräver mycket underhåll och säkerheten kan vara preliminär. Detta måste göras per arbetsbok och du måste uppdatera filtret och publicera datakällan på nytt när användarbasen ändras.

  • Skapa ett dynamiskt filter med hjälp av ett säkerhetsfält i datan.

    Med den här metoden skapar du ett beräknat fält som automatiserar processen för att mappa användare till datavärden. Den här metoden kräver att underliggande data inkluderar säkerhetsinformationen som du vill använda för filtrering.

    Det vanligaste sättet att göra detta är att använda en referenstabell (”uppslag”, ”berättiganden” eller ”säkerhet”) som innehåller denna information. Om du till exempel vill filtrera en vy så att endast arbetsledare kan se den, måste dess underliggande data konfigureras så de inkluderar användarnamn och anger varje användares roll.

    Eftersom filtrering definieras på datanivå och automatiseras av det beräknade fältet är denna metod säkrare än att mappa användare till datavärden manuellt.

Lägga till användarfilter i datakällor

De två metoderna i föregående avsnitt beskriver sätt att lägga till filter till data som är inbäddade i arbetsböcker. Om flera arbetsböcker ansluter till samma data kan du, istället för att bearbeta filter på varje arbetsbok, filtrera datakällan och sedan ansluta arbetsböckerna till datakällan efter att du har publicerat den.

Arbetsböcker som ansluter till den filtrerade datakällan exponerar endast de data som användaren som är inloggad på servern har behörighet att komma åt. Dessutom visar alla anslutna arbetsböcker datauppdateringar när de inträffar.

Extrakt kontra liveanslutningar med användarfilter

När en av metoderna som beskrivs ovan används går säkerhet på radnivå med extrakt vanligtvis snabbare att skapa och har bättre prestanda än säkerhet på radnivå med datakällor som använder liveanslutningar.

Säkerhetskrav på radnivå med extraktionsdatakällor

Som tidigare nämnts är det första kravet för att använda säkerhet på radnivå med extrakt att data i extraktet ska lagras med hjälp av flera fysiska tabeller. Du kan konfigurera extraktet så att dess data lagras med hjälp av flera fysiska tabeller genom att följa stegen i Extrahera data.

Utöver ovanstående krav finns det några ytterligare några saker att tänka på om du planerar att använda säkerhet på radnivå med ditt extrakt. Eftersom extraktionsdata som lagras med hjälp av flera tabeller inte stöder extraktfilter och några annan funktioner som bidrar till att minska mängden data i extraktet kan du överväga att använda något av följande förslag:

  • Anslut till data med anpassad SQL

  • Anslut till en databasvy som redan har lämplig filtreringsnivå

Mer information om dessa förslag finns i Extrahera data.

Rekommenderad praxis för säkerhet på radnivå med extraktionsdatakällor

För att utföra säkerhet på radnivå med extrakt på ett effektivt sätt rekommenderar Tableau att begränsa antalet tabeller (eller databasvyer eller anpassade SQL-frågor) i extrakten till två. Med andra ord rekommenderar Tableau att tabellerna i extraktet ska bestå av följande typer av tabeller:

  • En datatabell – detta är ”objekt”-tabellen som innehåller alla data som du vill visa.

  • En referenstabell – detta är ”uppslags-”eller ”berättigande”-tabellen som innehåller användarinformationen och de säkerhetsgrupper som användarna tillhör.

Genom att begränsa tabellerna i extraktet till dessa två säkerställer du att den enda koppling som Tableau behöver utföra är mellan dessa två tabeller. Därmed undviks dubblering av data eller en ”kopplingsexplosion”.

Om säkerhet på radnivå och tidigare versioner av Tableau

Tidigare kunde Tableau inte stödja arbetsflöden för säkerhet på radnivå med extrakt på grund av komplikationer rörande radduplicering och prestanda. I slutändan berodde dessa komplikationer på extrakt vars data endast kunde lagras och avsökas i en enskild tabell. Från och med Tableau 2018.3 kan du dock välja att lagra data i extraktet med hjälp av flera tabeller och därmed aktivera ett arbetsflöde för säkerhet på radnivå med extrakten, som du kanske tidigare har gjort med datakällor med liveanslutningar.

En uttömmande diskussion om säkerhet på radnivå med extrakt i Tableau finns i nedanstående blogg, som drivs av en Tableau-säljkonsult med lång erfarenhet inom detta område.

Ansvarsfriskrivning: Om du klickar på dessa länkar går du till sidor som inte tillhör Tableau.com. Även om vi gör vårt bästa för att säkerställa att länkar till externa webbplatser är korrekta och relevanta, tar Tableau inget ansvar och tillhandahåller ingen support för externt innehåll.

Se även

Tack för din feedback!Din feedback har skickats in. Tack!