Skapa en datapolicy för säkerhet på radnivå
Använd en datapolicy för att tillämpa säkerhet på radnivå på en eller flera tabeller i en virtuell anslutning. En datapolicy filtrerar data, vilket säkerställer att användarna bara ser de data de ska se. Datapolicyer tillämpas på både live- och extraktanslutningar.
Om datapolicyer
En datapolicy har tre huvudkomponenter:
- Tabellerna som den tillämpas på, kallade policytabeller. Det här är tabellerna som filtreras.
- De mappade kolumnerna som definierar relationerna mellan tabeller (t.ex. mellan berättigande- och faktatabeller) och mellan tabellkolumner och policykolumner. En policykolumn är den kolumn som används för att filtrera data.
- Policyvillkoret, som är ett uttryck eller en beräkning som utvärderas för varje rad vid den tidpunkt då frågan körs. Om policyvillkoret är TRUE, visas raden i frågan.
När du skapar en datapolicy behöves en kolumn som du kan använda för att filtrera data. Denna kolumn kallas en policykolumn. Data filtreras efter policyvillkor, vanligtvis med hjälp av en användarfunktion, till exempel USERNAME() eller FULLNAME().
Om policytabellen innehåller en kolumn som du kan filtrera efter använder du den kolumnen som policykolumn.
När en policytabell inte innehåller en sådan kolumn använder du en berättigandetabell med en kolumn som kan användas för att filtrera data. En berättigandetabell är en tabell som innehåller både en policykolumn som kan användas för att filtrera policytabeller och en annan kolumn som kan relateras (mappas) till en kolumn i en policytabell (som visas i bilden med exempel på datapolicy ovan).
Filtrera med en policykolumn från en policytabell
Det vanligaste sättet att filtrera data är att använda en kolumn i tabellen som innehåller de data som ska filtreras. Använd den kolumnen som en policykolumn och mappa sedan de aktuella tabellkolumnerna till policykolumnen.
Om du vill använda en policykolumn för att filtrera dina data lägger du först till tabeller i policyn från den vänstra rutan. För att lägga till en tabell gör du något av följande:
- Dubbelklicka på tabellnamnnet.
- Klicka på listrutepilen bredvid tabellnamnet och välj Hantera tabell med policy.
- Du kan också dra tabellen åt höger och släppa den på Add as Policy Table (Lägg till som policytabell).
När en tabell har lagts till i en policy visas en sköldikon () till höger om tabellnamnet i den vänstra rutan som anger att det är en policytabell.
Därefter mappar du kolumner för att skapa en relation mellan kolumnnamnet i tabellen och policykolumnnamnet. Använd kolumnnamnet i datapolicyvillkoret för att styra radnivååtkomst för användare:
- Klicka på +Lägg till kolumn att mappa för lägga till en eller flera kolumner som du använder för att filtrera data.
- Ge policykolumnen ett namn. Du ska använda det här namnet i policyvillkoret.
- För varje tabell som policyn gäller använder du listrutemenyn för att välja tabellkolumnen som mappas till policykolumnen.
- Upprepa stegen för så många policykolumner som du vill använda i policyvillkoret.
Tips: Istället för att använda knappen +Lägg till kolumn att mappa kan du börja skriva in beräkningen i området för policyvillkor och använda automatisk komplettering för att välja kolumnnamn. Då fylls informationen om policykolumn i automatiskt under steg 1.
Exempel på användning av en policykolumn från en policytabell
- Tabellen Försäljning har en kolumn för [Försäljare] och tabellen Region har en kolumn för [Säljare]. Data för försäljare och säljare matchar det fullständiga namnet på Tableau-användare på din webbplats.
- Du vill filtrera försäljnings- och regiondata efter försäljare, så du ger policykolumnen namnet ”försäljare”. Sedan mappar du kolumnen Försäljare från Försäljning och kolumnen Säljare från Region till policykolumnen Försäljare.
- Skriv sedan policyvillkoret för att filtrera båda tabellerna. Använd policykolumnen [Försäljare] och användarfunktionen FULLNAME() så att varje användare endast kan se sina egna data.
Filtrera med policykolumn från en berättigandetabell
Berättigandetabeller används när policytabellen inte innehåller en kolumn som går att filtrera på. Det går att använda berättigandetabellen för att mappa en kolumn i datatabellen till en kolumn i berättigandetabellen. Tänk på följande:
- Se till att inkludera berättigandetabellen som en tabell i den virtuella anslutningen. Du kan använda en tabell från valfri anslutning eller databas som en central berättigandetabell som säkrar tabeller över många andra databaser. I vissa fall kan en berättigandetabell som finns i samma databas som de tabeller du säkrar vara en potentiell säkerhetsrisk på grund av risken för att anställdas personuppgifter exponeras. Att ha en berättigandetabell i en annan databas kan göra det dessutom lättare att kontrollera behörigheter, såsom att ge någon åtkomst till en databas.
- Om du inte vill att användare av virtuella anslutningar ska se berättigandetabellen kan du växla inställningen i kolumnen Synlighet på fliken Tabeller för att dölja den. När den väl är gömd är berättigandetabellen fortfarande tillgänglig för policyfiltrering. Den kan dock inte användas i visualiseringar eller som datakällor i arbetsböcker.
Obs! Att ansluta direkt till en flödesutmatning (.hyper-fil) stöds inte för berättigandetabellen. Flödesutmatningen måste skriva direkt till databasen.
Så här använder du en berättigandetabell för att filtrera dina data:
- Lägg till de datatabeller som du vill att datapolicyn ska gälla för. Gör något av följande:
- Dubbelklicka på tabellnamnnet.
- Klicka på listrutepilen bredvid tabellnamnet och välj Hantera tabell med policy.
- Du kan också dra tabellen åt höger och släppa den på Add as Policy Table (Lägg till som policytabell).
- När en tabell har lagts till i en policy visas en sköldikon () till höger om tabellnamnet i den vänstra rutan som anger att det är en policytabell.
- Markera berättigandetabellen och gör något av följande:
- Klicka på listrutepilen och välj Lägg till som berättigandetabell.
- Eller dra tabellen åt höger och släpp den på Lägg till som policytabell.
- För varje tabell som policyn gäller klickar du på listrutemenyn och väljer kolumnen för att mappa policytabellen till berättigandetabellen.
Exempel på användning av en policykolumn från en berättigandetabell
- De data du vill filtrera har en kolumn för EMP_ID, men ingen kolumn med medarbetarnamn. Du har dock en andra tabell som innehåller kolumner för både EMP_ID och den anställdes FULL NAME. Dessutom matchar värdena i kolumnen FULL NAME för medarbetare det fullständiga namnet på Tableau-användare på din webbplats.
- Du kan lägga till tabellen Medarbetare i policyn som en berättigandetabell och sedan mappa policytabellens kolumnnamn EMP_ID till berättigandekolumnnamnet EMP_ID för varje tabell.
- Använd sedan funktionen FULLNAME i policyvillkoret för att matcha Tableau Server-användarens fullständiga namn med berättigandetabellens kolumn [FULL NAME] (som är policykolumnen) så att varje användare bara kan se sina egna data.
Skriva ett policyvillkor
Det sista steget för att skapa en datapolicy är att skriva ett policyvillkor, som är en beräkning eller ett uttryck som används för att definiera radnivååtkomst. Policyvillkor används ofta för att begränsa åtkomst till användare eller grupper genom användarfunktioner.
Ett policyvillkor:
- Krävs i en datapolicy.
- Måste utvärderas till true eller false.
- Visar rader när policyvillkoret är true.
Exempel på policyvillkor
Visar endast rader där kolumnvärdet Region är norr:
[Region] = "North"
Gör det möjligt för en inloggad användare att se raderna där användarens namn stämmer överens med värdet i EmployeeName:
FULLNAME() = [EmployeeName]
Med det här policyvillkoret kan medlemmarna i gruppen Managers se alla rader, medan användare bara kan se rader där deras användarnamn stämmer överens med värdet i kolumnen employee_name:
ISMEMBEROF('Managers') OR USERNAME() = [employee_name]
Obs! När du stänger en policyflik raderas inte ditt arbete.
Tableau-funktioner som stöds i policyvillkor
Policyvillkor stöder en underuppsättning av Tableau-funktioner:
- Logiska (förutom null-relaterade)
- Sträng
- Användare
- Datum
- Antal: MIN, MID, MAX
För att se vilka specifika funktioner som stöds går du till redigeraren för virtuella anslutningar på fliken Datapolicyer och tittar på rutan Referens till höger.
Vem kan göra detta?
För att skapa en datapolicy måste du
- ha inloggningsuppgifter till den databas som den virtuella anslutningen ansluter till, samt
- vara server- eller platsadministratör eller Creator.
Nästa steg
När du har skapat en datapolicy är nästa steg att verifiera att den fungerar som du förväntar dig. Gå till Testa säkerhet på radnivå med Förhandsgranska som användare. Eller gå till Publicera en virtuell anslutning och ange behörigheter, om du är redo att dela den virtuella anslutningen och dess datapolicyer med andra.
Resurser
Mer information som beräkningar finns i Förstå beräkningar i Tableu(Länken öppnas i ett nytt fönster) i hjälpen för Tableau Desktop och Webbredigering.
Mer information om användarfunktioner finns i Användarfunktioner(Länken öppnas i ett nytt fönster) i hjälpen för Tableau Desktop och Webbredigering.
Information om andra alternativ för 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 hjälpen för Tableau Server.