HOE BEVEILIGING OP ROW LEVEL IMPLEMENTEREN IN POWER BUSINESS INTELLIGENCE (BI)

Microsoft Power BI by Sisar

Introductie & implementatie van (RLS) in Power BI – Sisar

Met row-level security (RLS) in Power BI kunt u bepalen welke gebruikers toegang hebben tot welke gegevens. Om de toegang tot gegevens op Row level te beperken, kunnen binnen rollen filters worden ingesteld. Datasets in een werkruimte binnen de Power BI-service zijn toegankelijk voor leden van de werkruimte. RLS legt geen beperkingen op aan deze gegevens.

Microsoft’s Power BI

RLS kan worden ingesteld voor gegevensmodellen die gebruikers in Power BI Desktop hebben geplaatst. Daarnaast kan het worden ingesteld voor datasets die gebruik maken van Direct Query, zoals SQL Server.

Row-Level Security (RLS) is van cruciaal belang omdat het het ontwerpen en coderen van beveiliging in uw toepassing vergemakkelijkt. RLS kan worden gebruikt om toegangsbeperkingen tot gegevensrijen te implementeren.

Het omvat voornamelijk Static RLS en Dynamic RLS.

U zult in dit artikel alles begrijpen over de voordelen van dynamische rijbeveiliging in power bi. Eerst moeten we het fundamentele onderscheid tussen Static RLS en Dynamic RLS begrijpen.

Bij statische RLS moet de beveiligingslogica worden gespecificeerd in een Power BI-bestand (PBIX), dat moet worden geopend, bewerkt, opgeslagen en vervolgens voor elke update opnieuw moet worden gepubliceerd.

De definitie van de beveiligingslogica binnen het gegevensmodel staat bekend als “dynamische RLS” (tabellen, hun relaties, enz.). Om de logica bij te werken, hoeft u alleen records in de tabellen toe te voegen, te wijzigen of te verwijderen.

De volgende analogie kan u helpen de verschillen tussen statische en dynamische RLS te begrijpen:

Statische rijbeveiliging

Statische RLS houdt in dat u het PBIX-bestand moet openen, de nodige wijzigingen moet aanbrengen, het bestand moet opslaan en vervolgens de bijgewerkte versie van het Power BI-bestand opnieuw moet publiceren.

Statische beveiliging op Row level is eenvoudig te implementeren, maar het beheer van duizenden opdrachten zou een gedoe zijn.

Dynamische rijbeveiliging.

De beveiligingslogica is gedefinieerd in het gegevensmodel, dat bekend staat als “dynamische RLS” (tabellen, hun relaties, enz.) Om de logica te wijzigen, hoeft u alleen maar records aan de tabellen toe te voegen, te wijzigen of te verwijderen.

Dynamische beveiliging op Row level is in dergelijke gevallen de oplossing

Vereisten voor beveiliging op Row level

Om Row-Level Security te implementeren, moeten we de volgende procedures achtereenvolgens uitvoeren:

  1. Maak een lijst van de mensen die toegang krijgen tot de gegevens. Deze gebruikers krijgen toegang tot sommige gegevens op basis van de aanmeldingscontext.
  2. De volgende stap is het maken van een geïntegreerde functie met tabelwaarde in SQL. Deze functie zal de filtercriteria bijhouden voor de tabel waarop RLS moet worden toegepast.
  3. Als laatste stap maakt u een beveiligingsbeleid aan voor de tabel en gebruikt u de bovengenoemde geïntegreerde tabelgewaardeerde functie daarop.

Instructies voor het installeren van rijbeveiliging in Power BI Desktop

Create-Role-Full

  1. In uw Power BI Desktop-rapport kunt u de gegevens uploaden of een DirectQuery-verbinding maken.
  2. Om beveiliging op Row level te maken, selecteert u Rollen beheren op het tabblad Modellering bovenaan de pagina.
  3. In het dialoogvenster Rollen beheren dat verschijnt, kiest u Create.
  4. Na uw keuze voor “bouwen” verschijnt een lijst met tabellen van het datamodel, waaruit u een filter kunt selecteren om rijbeveiliging te implementeren.
  5. U zult zien dat een nieuw voorbeeld van een DAX-expressie wordt toegevoegd.
  6. In de DAX-expressie moeten de waarden worden vervangen.
  7. Ten slotte maakt u een rol aan voor een manager die de statistieken wil controleren.

Power BI Desktop gebruiken om de rollen te valideren

Nadat u uw rollen hebt gemaakt, test u ze uit met Power BI Desktop om te zien hoe ze werken.

  1. Begin met het selecteren van View as Roles in de vervolgkeuzelijst.
  2. Als u een rol wilt gebruiken die u hebt gemaakt, kiest u deze en klikt u op OK. Het rapport maakt de gegevens geschikt voor die functie.
  3. Als alternatief kunt u een andere gebruiker opgeven en die selecteren. Het beste is om de User Principal Name (UPN) op te geven, omdat zowel de Power BI-service als de Power BI Report Server die nodig hebben.
  4. Na het selecteren van OK wordt het rapport voorbereid op basis van het perspectief van de gebruiker.

Wanneer u dynamische beveiliging gebruikt, afhankelijk van uw DAX-expressies, tonen andere gebruikers vaak andere resultaten in Power BI Desktop.

We gaan nu in detail in op de implementatie van dynamische beveiliging op Row level met stapsgewijze instructies:

  1. Haal eerst de USER-ID uit de tabel Users.
  2. Filter de tabel met gebruikersregio’s op basis van Gebruikers-ID nadat u Kolommen van regio-ID hebt gekozen in de Tabel teruggegeven.
  3. Maak een rol die elk van de bepaalde regio-ID’s gebruikt om de regiotabel te filteren.

Hierna bekijken we hoe tabellen en filters worden gebruikt bij dynamische rijbeveiliging:

  1. Users table – Om Dynamic Row-Level Security te laten werken, heb je een database nodig van elke gebruiker. Alle gebruikers moeten worden opgenomen in deze tabel, samen met een veld dat hun Power BI rapport login id bevat. Hun inlog-id is het e-mailadres waarmee ze inloggen als uw rapport wordt gehost op de Power BI-service. De login-id is de netwerkaccount die wordt gebruikt voor toegang tot de server als het rapport op de Power BI report server wordt bewaard.
  2. Tabel Rollen – De tabel Rollen is ook noodzakelijk. Vergeet niet dat de definitie van rollen in het gegevensmodel dynamisch is. De rollen database heeft een rij voor elk toegangsniveau. Het is belangrijk om te onthouden dat rollen niet noodzakelijk een eigen tabel nodig hebben. U kunt uw gebruikerstabel ook gebruiken als een roltabel. In welke omstandigheden? Als elke gebruiker slechts één rol heeft, is er geen aparte Rollentabel nodig. Een subset van uw gebruikerstabel wordt uw rollen-tabel.
  3. De gebruikerstabel om de rollen tabel te filteren – Als u verwacht dat meerdere gebruikers aan elke positie zullen worden toegewezen, zou u de rollen tabel kunnen filteren vanuit de gebruikerstabel met behulp van een één-op-veel verbinding. Anderzijds heeft de tabel Gebruikers en rollen vaak een many-to-many relatie.
  4. Andere tabellen gefilterd door de roltabel – De roltabel moet de andere tabellen in het gegevensmodel filteren. Om gegevens tussen Power BI-tabellen te filteren, wordt een relatie gebruikt. U hebt een relatie nodig van de roltabel die in de juiste richting wijst naar de andere tabellen in het gegevensmodel.
  5. DAX-filters – Een ander belangrijk element van dynamische RLS is de DAX-expressie die u ontwikkelt in de hoedanigheid van een filter. Deze DAX-expressie wordt gebruikt om de tabel GEBRUIKERS in uw model te filteren en de login-id van de gebruiker te extraheren. DAX-expressies maken regelmatig gebruik van de functies UserName(), UserPrincipalName() en CustomData() om gebruikersgegevens te verkrijgen.

Conclusie

Dit is een kort overzicht van rijbeveiliging in Power BI. Power BI is een van de krachtige beveiligingstools die toegankelijk zijn voor desktop- en clouddiensten. Gebruikers hebben toegang tot verschillende gegevensweergaven vanuit hetzelfde Power BI-materiaal dankzij Row Level Security. De implementatie van Row levelbeveiliging is eenvoudig, zoals u in dit artikel hebt geleerd. Omdat het DAX-filter wordt geïmplementeerd op het niveau van de gegevensrij, staat deze methode bekend als beveiliging op Row level.

Artikel Categorieën

Tags

Over SISAR B.V.

SISAR is in 2014 opgericht in Nederland als een servicegerichte organisatie die IT-oplossingen en Managed Services aanbiedt. Dankzij onze diepgewortelde toewijding aan klanttevredenheid hebben we ons aanbod uitgebreid naar IT-consulting, om zo het hoogste niveau van zekerheid en tevredenheid te kunnen garanderen.

Picture of Sophie van Dam
Sophie van Dam
Sophie van Dam is a data scientist with a strong analytical mindset and a passion for turning data into actionable insights. With a Ph.D. in statistics and machine learning, Sophie van has a proven track record of leveraging advanced analytical techniques to extract valuable patterns and trends from complex datasets. Her expertise includes predictive modeling, data visualization, and natural language processing. Sophie van has worked across various industries, including finance, healthcare, and e-commerce, driving data-driven decision-making and driving business growth through data-driven strategies.