Een databeleid maken voor beveiliging op rijniveau
Gebruik een databeleid om beveiliging op rijniveau toe te passen op een of meer tabellen in een virtuele verbinding. Met een databeleid wordt de data gefilterd, zodat gebruikers alleen die data zien die ze zouden moeten zien. Het databeleid is van toepassing op zowel live- als extractverbindingen.
Over databeleid
Een databeleid bestaat uit drie hoofdonderdelen:
- De tabellen waarop het van toepassing is, worden beleidstabellen genoemd. Dit zijn de tabellen die gefilterd worden.
- De toegewezen kolommen die de relaties tussen tabellen definiëren (bijvoorbeeld tussen rechten- en feitentabellen) en tussen tabelkolommen en beleidskolommen. Een beleidskolom is de kolom die wordt gebruikt om data te filteren.
- De beleidsvoorwaarde, een expressie of berekening die voor elke rij wordt geëvalueerd tijdens de query. Als de beleidsvoorwaarde TRUE is, wordt de rij in de query weergegeven.
Wanneer u een databeleid maakt, hebt u een kolom nodig waarmee u de data kunt filteren. Deze kolom wordt een beleidskolom genoemd. Data worden gefilterd op basis van de beleidsvoorwaarde, meestal met behulp van een gebruikersfunctie, zoals USERNAME() of FULLNAME().
Als uw beleidstabel een kolom bevat waarop u kunt filteren, kunt u die kolom gebruiken als uw beleidskolom.
Wanneer een beleidstabel een dergelijke kolom niet bevat, gebruikt u een rechtentabel met een kolom die u kunt gebruiken om de data te filteren. Een rechtentabel is een tabel die zowel een beleidskolom bevat die u kunt gebruiken om beleidstabellen te filteren, als een andere kolom die u kunt relateren (toewijzen) aan een kolom in een beleidstabel (zoals weergegeven in de afbeelding hierboven met een voorbeeld van databeleid).
Filteren met een beleidskolom uit een beleidstabel
De meest voorkomende manier om data te filteren, is door een kolom in de tabel te gebruiken die de data bevat waarop u wilt filteren. Gebruik die kolom als beleidskolom en wijs vervolgens de juiste tabelkolommen toe aan de beleidskolom.
Als u een beleidskolom wilt gebruiken om uw data te filteren, voegt u eerst tabellen aan het beleid toe vanuit het linkerdeelvenster. Voer een van de volgende handelingen uit om een tabel toe te voegen:
- Dubbelklik op de tabelnaam.
- Klik op de vervolgkeuzepijl naast de tabelnaam en selecteer Tabel met beleid beheren.
- Of sleep de tabel naar rechts en zet hem neer op Een beleidstabel toevoegen.
Nadat een tabel aan een beleid is toegevoegd, verschijnt er rechts van de tabelnaam een schildpictogram in het linkerdeelvenster, wat aangeeft dat het een beleidstabel is.
Vervolgens wijst u de kolommen toe om een relatie te maken tussen de kolomnaam in de tabel en de naam van de beleidskolom. Gebruik de kolomnaam van het beleid in de voorwaarde voor databeleid om de toegang tot data op rijniveau voor gebruikers te beheren:
- Klik op +Kolom toevoegen aan kaart om een of meer kolommen toe te voegen die u wilt gebruiken om data te filteren.
- Geef de beleidskolom een naam. U gebruikt deze naam in de beleidsvoorwaarde.
- Gebruik voor elke tabel waarop het beleid van toepassing is, het vervolgkeuzemenu om de tabelkolom te selecteren die aan de beleidskolom is toegewezen.
- Herhaal dit proces voor zoveel beleidskolommen als u in de beleidsvoorwaarde wilt gebruiken.
Tip: in plaats van de knop +Kolom toevoegen aan kaart te gebruiken kunt u ook beginnen met het typen van de berekening in het gebied met de beleidsvoorwaarde en automatisch aanvullen gebruiken om de kolomnaam te kiezen. Vervolgens wordt de informatie in de beleidskolom onder stap 1 ingevuld.
Een voorbeeld van het gebruik van een beleidskolom uit een beleidstabel
- De tabel Verkoop heeft een kolom [Verkoper] en de tabel Regio heeft een kolom [Verkoper]. De data van Verkoper en Verkoopvertegenwoordiger komen overeen met de volledige namen van Tableau-gebruikers op uw site.
- U wilt de data over verkoop en regio filteren op verkoper. Daarom noemt u de beleidskolom 'Verkoper' en wijst u de kolom Verkoper uit Verkoop en de kolom Verkoopvertegenwoordiger uit Regio toe aan de beleidskolom Verkoper.
- Schrijf vervolgens de beleidsvoorwaarde om beide tabellen te filteren. Gebruik de beleidskolom [Verkoper] en de gebruikersfunctie FULLNAME() zodat elke gebruiker alleen zijn/haar eigen data kan zien.
Filteren met een beleidskolom uit een rechtentabel
Rechtentabellen worden gebruikt wanneer uw beleidstabel geen kolom bevat waarop u kunt filteren. U kunt de rechtentabel gebruiken om een kolom in de datatabel toe te wijzen aan een kolom in de rechtentabel. Let op het volgende:
- Zorg ervoor dat u de rechtentabel als tabel in de virtuele verbinding opneemt. U kunt een tabel uit elke verbinding of database gebruiken als een centrale rechtentabel die tabellen in meerdere andere databases beveiligt. In sommige gevallen kan een rechtentabel die zich in dezelfde database bevindt als de tabellen die u beveiligt, een potentieel beveiligingsrisico vormen vanwege de mogelijkheid dat medewerkersdata worden blootgesteld. Als u een rechtentabel in een andere database hebt, kunt u machtigingen eenvoudiger beheren, bijvoorbeeld om iemand toegang tot een database te verlenen.
- Als u niet wilt dat gebruikers van virtuele verbindingen de rechtentabel zien, kunt u de instelling in de kolom Zichtbaarheid op het tabblad Tabellen aanpassen om de tabel te verbergen. Als de rechtentabel eenmaal is verborgen, is deze nog steeds beschikbaar voor beleidsfiltering, maar kan deze niet meer worden gebruikt in visualisaties of werkmapdatabronnen.
Opmerking: rechtstreeks verbinding maken met een flowuitvoer (.hyperbestand) wordt voor de rechtentabel niet ondersteund. De uitvoer van de flow moet rechtstreeks naar de database worden geschreven.
Uw data filteren met een rechtentabel:
- Voeg de datatabellen toe waarop u het databeleid wilt toepassen. Voer een van de volgende handelingen uit:
- Dubbelklik op de tabelnaam.
- Klik op de vervolgkeuzepijl naast de tabelnaam en selecteer Tabel met beleid beheren.
- Of sleep de tabel naar rechts en zet hem neer op Een beleidstabel toevoegen.
- Nadat een tabel aan een beleid is toegevoegd, verschijnt er rechts van de tabelnaam een schildpictogram in het linkerdeelvenster, wat aangeeft dat het een beleidstabel is.
- Selecteer de rechtentabel en doe dan het volgende:
- Klik op de vervolgkeuzepijl en selecteer Als rechtentabel gebruiken.
- Of sleep de tabel naar rechts en zet hem neer op Als rechtentabel toevoegen.
- Klik voor elke tabel waarop het beleid van toepassing is, op het vervolgkeuzemenu en selecteer de kolom om de beleidstabel aan de rechtentabel toe te wijzen.
Een voorbeeld van het gebruik van een beleidskolom uit een rechtentabel
- De data die u wilt filteren, bevatten de kolom EMP_ID, maar geen kolom met een medewerkersnaam. U hebt echter een tweede tabel met kolommen voor zowel EMP_ID als de FULL NAME van de medewerker. De waarden in de kolom FULL NAME van de medewerker komen overeen met de volledige namen van Tableau-gebruikers op uw site.
- U kunt de tabel Medewerkers aan het beleid toevoegen als een rechtentabel en vervolgens de kolomnaam EMP_ID in de beleidstabel toewijzen aan de kolomnaam EMP_ID in de rechtentabel voor elke tabel.
- Gebruik vervolgens de functie FULLNAME() in uw beleidsvoorwaarde om de volledige naam van de Tableau Server-gebruiker te matchen met de kolom [FULL NAME] van de rechtentabel (dit is de beleidskolom), zodat elke gebruiker alleen zijn/haar eigen data kan zien.
Een beleidsvoorwaarde schrijven
De laatste stap bij het maken van een databeleid is het schrijven van een beleidsvoorwaarde. Dit is een berekening of expressie die wordt gebruikt om toegang op rijniveau te definiëren. Beleidsvoorwaarden worden vaak gebruikt om de toegang tot gebruikers of groepen via gebruikersfuncties te beperken.
Beleidsvoorwaarde:
- Is vereist in een databeleidsregel.
- Moet evalueren op waar of onwaar.
- Toont rijen waarvoor de beleidsvoorwaarde waar is.
Voorbeelden van beleidsvoorwaarden
Toont alleen rijen met de waarde Noord in de kolom Regio:
[Region] = "North"
Hiermee kan een aangemelde gebruiker de rijen zien waarin de naam van de gebruiker overeenkomt met de waarde in EmployeeName:
FULLNAME() = [EmployeeName]
Hiermee kunnen leden van de groep Managers alle rijen zien, terwijl gebruikers alleen de rijen kunnen zien waarin hun gebruikersnaam overeenkomt met de waarde in de kolom employee_name:
ISMEMBEROF('Managers') OR USERNAME() = [employee_name]
Opmerking: wanneer u een beleidstabblad sluit, wordt uw werk niet verwijderd.
Ondersteunde Tableau-functies in beleidsvoorwaarden
Beleidsvoorwaarden ondersteunen een subset van Tableau-functies:
- Logisch (behalve null-gerelateerd)
- Tekenreeks
- Gebruiker
- Datum
- Nummer: MIN, MID, MAX
Als u wilt zien welke specifieke functies worden ondersteund, raadpleegt u in de virtuele verbindingseditor op het tabblad Databeleid het deelvenster Referentie aan de rechterkant.
Wie kan dit doen
Als u een databeleid wilt maken,
- hebt u referenties nodig voor de database waarmee de virtuele verbinding verbinding maakt, en
- moet u een server- of sitebeheerder bent, of een Creator.
Volgende stappen
Nadat u een databeleid hebt gemaakt, moet u controleren of het werkt zoals u verwacht. Zie Beveiliging op rijniveau testen met Voorbeeld weergeven als gebruiker Of, als u klaar bent om de virtuele verbinding en het bijbehorende databeleid met anderen te delen, raadpleegt u Een virtuele verbinding publiceren en machtigingen instellen.
Bronnen
Zie De basisprincipes van berekeningen in Tableau(Link wordt in een nieuw venster geopend) in de Help van Tableau Desktop en Webauthoring voor gedetailleerde informatie over berekeningen.
Zie Gebruikersfuncties(Link wordt in een nieuw venster geopend) in de Help van Tableau Desktop en Webauthoring voor informatie over gebruikersfuncties.
Zie Overzicht van beveiligingsopties op rijniveau in Tableau(Link wordt in een nieuw venster geopend) in de Help van Tableau Server voor informatie over andere beveiligingsopties op rijniveau in Tableau.