Beveiliging op rijniveau (RLS) met Power BI

Beveiliging op rijniveau (RLS) met Power BI kan worden gebruikt om de toegang tot gegevens voor bepaalde gebruikers te beperken. Filters beperken de toegang tot gegevens op rijniveau en u kunt filters binnen rollen definiëren. In de Power BI-service hebben gebruikers met toegang tot een werkruimte toegang tot semantische modellen in die werkruimte. RLS beperkt alleen de toegang tot gegevens voor gebruikers met viewermachtigingen . Dit geldt niet voor Beheer s, leden of inzenders.

U kunt RLS configureren voor gegevensmodellen die zijn geïmporteerd in Power BI met Power BI. U kunt RLS ook configureren op semantische modellen die DirectQuery gebruiken, zoals SQL Server. Voor Analysis Services- of Azure Analysis Services-verbindingen configureert u beveiliging op rijniveau in het model, niet in Power BI. De beveiligingsoptie wordt niet weergegeven voor semantische liveverbindingen.

Rollen en regels definiëren in Power BI Desktop

U kunt rollen en regels definiëren in Power BI Desktop. Wanneer u publiceert naar Power BI, publiceert u ook de roldefinities.

Beveiligingsrollen definiëren:

  1. Importeer gegevens in uw Power BI Desktop-rapport of configureer een DirectQuery-verbinding.

    Notitie

    U kunt geen rollen definiëren in Power BI Desktop voor Live-verbindingen van Analysis Services. U moet dat doen binnen het Analysis Services-model.

  2. Selecteer Rollen beheren op het tabblad Modellering.

    Schermopname van het tabblad Modellering, waarin rollen beheren zijn gemarkeerd.

  3. Selecteer Maken in het venster Rollen beheren.

    Schermopname van het venster Rollen beheren, waarin Maken wordt gemarkeerd.

  4. Geef onder Rollen een naam op voor de rol.

    Notitie

    U kunt bijvoorbeeld geen rol definiëren met een komma London,ParisRole.

  5. Selecteer onder Tabellen de tabel waarop u een DAX-regel (Data Analysis Expression) wilt toepassen.

  6. Voer in het dax-expressievak tabelfilter de DAX-expressies in. Deze expressie retourneert een waarde van waar of onwaar. Voorbeeld: [Entity ID] = “Value”.

    Schermopname van het venster Rollen beheren, waarin een voorbeeld van een DAX-expressie wordt gemarkeerd.

    Notitie

    U kunt username() in deze expressie gebruiken. Houd er rekening mee dat username() de indeling DOMAIN\username heeft in Power BI Desktop. Binnen de Power BI-service en Power BI Report Server heeft deze de indeling van de UPN (User Principal Name) van de gebruiker. U kunt ook userprincipalname(), die altijd de gebruiker retourneert in de indeling van de principal-naam van de gebruiker, username@contoso.comgebruiken.

  7. Nadat u de DAX-expressie hebt gemaakt, schakelt u het vinkje boven het expressievak in om de expressie te valideren.

    Schermopname van het DAX-expressievenster tabelfilter, waarbij het vinkje wordt gemarkeerd.

    Notitie

    Gebruik in dit expressievak komma's om DAX-functieargumenten te scheiden, zelfs als u een landinstelling gebruikt die normaal gesproken puntkommascheidingstekens gebruikt (bijvoorbeeld Frans of Duits).

  8. Selecteer Opslaan.

U kunt geen gebruikers toewijzen aan een rol in Power BI Desktop. U wijst ze toe aan de Power BI-service. U kunt dynamische beveiliging inSchakelen in Power BI Desktop door gebruik te maken van de DAX-functies username() of userprincipalname() en de juiste relaties te configureren.

Beveiligingsfilters op rijniveau maken standaard gebruik van filters in één richting, ongeacht of de relaties zijn ingesteld op één richting of bidirectioneel. U kunt kruislings filteren in twee richtingen handmatig inschakelen met beveiliging op rijniveau door de relatie te selecteren en het selectievakje Beveiligingsfilter toepassen in beide richtingen in te schakelen. Als een tabel deelneemt aan meerdere bidirectionele relaties, kunt u deze optie alleen selecteren voor een van deze relaties. Selecteer deze optie wanneer u ook dynamische beveiliging op rijniveau op serverniveau hebt geïmplementeerd, waarbij beveiliging op rijniveau is gebaseerd op gebruikersnaam of aanmeldings-id.

Zie voor meer informatie bidirectioneel kruislings filteren met DirectQuery in Power BI en het technische artikel Over het beveiligen van het Semantische BI-model in tabelvorm.

Schermopname van het beveiligingsfilter toepassen.

Rollen en regels definiëren in Power BI met verbeterde beveiligingseditor op rijniveau (preview)

U kunt snel en eenvoudig beveiligingsrollen en filters op rijniveau definiëren in Power BI met behulp van de verbeterde beveiligingseditor op rijniveau. Met deze editor kunt u schakelen tussen het gebruik van de standaard vervolgkeuzelijst en een DAX-interface. Wanneer u publiceert naar Power BI, publiceert u ook de roldefinities.

Beveiligingsrollen definiëren met behulp van de verbeterde beveiligingseditor op rijniveau:

  1. Schakel in Power BI Desktop het voorbeeld in door naar opties voor bestanden > en Instellingen > opties > preview-functies te gaan en 'Verbeterde beveiligingseditor op rijniveau' in te schakelen. U kunt deze editor ook gebruiken in de Service door uw gegevensmodel in de Power BI-service te bewerken.

  2. Importeer gegevens in uw semantische Power BI-model of configureer een DirectQuery-verbinding.

  3. Selecteer rollen beheren op het lint.

    Schermopname van de knop Rollen beheren op het lint Bureaublad.

  4. Selecteer in het venster Rollen beheren de optie Nieuw om een nieuwe rol te maken.

    Schermopname van het maken van een nieuwe rol in de verbeterde beveiligingseditor op rijniveau.

  5. Geef onder Rollen een naam op voor de rol en selecteer Enter.

    Schermopname van het wijzigen van de naam van een rol in de verbeterde beveiligingseditor op rijniveau.

  6. Selecteer onder Tabellen selecteren de tabel waarop u een beveiligingsfilter op rijniveau wilt toepassen.

  7. Gebruik onder Filtergegevens de standaardeditor om uw rollen te definiëren. De expressies die zijn gemaakt, retourneren een waarde waar of onwaar.

    Schermopname van een voorbeeld van het gebruik van de standaardeditor in de verbeterde beveiligingseditor op rijniveau.

    Notitie

    Niet alle beveiligingsfilters op rijniveau die in Power BI worden ondersteund, kunnen worden gedefinieerd met behulp van de standaardeditor. Beperkingen zijn expressies die tegenwoordig alleen kunnen worden gedefinieerd met DAX, inclusief dynamische regels zoals username() of userprincipalname(). Als u rollen wilt definiëren met deze filters, schakelt u over naar de DAX-editor.

  8. Selecteer desgewenst Overschakelen naar DAX-editor om over te schakelen naar de DAX-editor om uw rol te definiëren. U kunt teruggaan naar de standaardeditor door Overschakelen naar de standaardeditor te selecteren. Alle wijzigingen die in beide editorinterfaces zijn aangebracht, blijven behouden wanneer u indien mogelijk schakelt tussen interfaces.

    Schermopname van een voorbeeld van het gebruik van de dax-editor in de verbeterde beveiligingseditor op rijniveau.

    Wanneer u een rol definieert met behulp van de DAX-editor die niet kan worden gedefinieerd in de standaardeditor, wordt u gevraagd om een waarschuwing dat het schakelen tussen editors kan leiden tot verlies van informatie. Als u deze informatie wilt behouden, selecteert u Annuleren en gaat u alleen door met het bewerken van deze rol in de DAX-editor.

    Schermopname van een voorbeeld van een foutdialoogvenster wanneer u overschakelt van de DAX naar de standaardeditor in de verbeterde beveiligingseditor op rijniveau.

  9. Selecteer Opslaan

De rollen valideren in Power BI Desktop

Nadat u uw rollen hebt gemaakt, test u de resultaten van de rollen in Power BI Desktop.

  1. Selecteer Op het tabblad Modelleren de optie Weergeven als.

    Schermopname van het tabblad Modelleren, waarbij Weergave wordt gemarkeerd als.

    Het venster Weergeven als rollen wordt weergegeven, waar u de rollen ziet die u hebt gemaakt.

    Schermopname van het venster Weergeven als rollen met Geen geselecteerd.

  2. Selecteer een rol die u hebt gemaakt. Kies vervolgens OK om die rol toe te passen.

    Het rapport geeft de gegevens weer die relevant zijn voor die rol.

  3. U kunt ook Andere gebruiker selecteren en een bepaalde gebruiker opgeven.

    Schermopname van het venster Weergeven als rollen met een voorbeeldgebruiker die is ingevoerd.

    Het is het beste om de USER Principal Name (UPN) op te geven, omdat dat de Power BI-service en Power BI Report Server gebruiken.

    In Power BI Desktop geeft een andere gebruiker alleen andere resultaten weer als u dynamische beveiliging gebruikt op basis van uw DAX-expressies. In dit geval moet u de gebruikersnaam en de rol opnemen.

  4. Selecteer OK.

    Het rapport wordt weergegeven op basis van wat de RLS-filters de gebruiker toestaan te zien.

    Notitie

    De functie Weergeven als rollen werkt niet voor DirectQuery-modellen waarvoor eenmalige aanmelding (SSO) is ingeschakeld.

Beveiliging op uw model beheren

Als u de beveiliging van uw semantische model wilt beheren, opent u de werkruimte waarin u uw semantische model hebt opgeslagen in de Power BI-service en voert u de volgende stappen uit:

  1. Selecteer in het Power BI-service het menu Meer opties voor een semantisch model. Dit menu wordt weergegeven wanneer u de muisaanwijzer op een semantische modelnaam plaatst, ongeacht of u dit selecteert in het navigatiemenu of de werkruimtepagina.

    Schermopname van het menu Meer opties in de werkruimte.

    Schermopname van het menu Meer opties in het navigatiemenu.

  2. Selecteer Beveiliging.

    Schermopname van het menu Meer opties met Beveiliging geselecteerd.

Met beveiliging gaat u naar de pagina Beveiliging op rolniveau waar u leden toevoegt aan een rol die u hebt gemaakt. Inzender (en hogere werkruimterollen) zien Beveiliging en kunnen gebruikers toewijzen aan een rol.

Werken met leden

Leden toevoegen

In het Power BI-service kunt u een lid toevoegen aan de rol door het e-mailadres of de naam van de gebruiker of beveiligingsgroep te typen. U kunt geen groepen toevoegen die zijn gemaakt in Power BI. U kunt leden buiten uw organisatie toevoegen.

U kunt de volgende groepen gebruiken om beveiliging op rijniveau in te stellen.

Houd er echter rekening mee dat Microsoft 365-groepen niet worden ondersteund en niet kunnen worden toegevoegd aan rollen.

Schermopname die laat zien hoe u een lid toevoegt.

U kunt ook zien hoeveel leden deel uitmaken van de rol door het getal tussen haakjes naast de rolnaam of naast Leden.

Schermopname van leden in rol.

Leden verwijderen

U kunt leden verwijderen door de X naast hun naam te selecteren.

Schermopname die laat zien hoe u een lid verwijdert.

De rol in de Power BI-service valideren

U kunt controleren of de rol die u hebt gedefinieerd, correct werkt in de Power BI-service door de rol te testen.

  1. Selecteer Meer opties (...) naast de rol.
  2. Selecteer Testen als rol.

Schermopname van test als roloptie.

U wordt omgeleid naar het rapport dat is gepubliceerd vanuit Power BI Desktop met dit semantische model, indien aanwezig. Dashboards zijn niet beschikbaar voor testen met behulp van de optie Testen als rol .

In de paginakoptekst wordt de toegepaste rol weergegeven. Test andere rollen, een combinatie van rollen of een specifieke persoon door Nu weergeven als te selecteren. Hier ziet u belangrijke machtigingsgegevens met betrekking tot de persoon of rol die wordt getest. Zie RLS-gebruikerservaring voor meer informatie over hoe machtigingen met RLS communiceren.

Schermopname van Nu weergeven als vervolgkeuzelijst voor een specifieke persoon.

Test andere rapporten die zijn verbonden met het semantische model door Weergave in de paginakoptekst te selecteren. U kunt alleen rapporten testen die zich in dezelfde werkruimte bevinden als uw semantische model.

Schermopname van Weergeven om een ander rapport te selecteren dat u wilt testen.

Als u wilt terugkeren naar de normale weergave, selecteert u Terug naar Beveiliging op rijniveau.

Notitie

De functie Testen als rol werkt niet voor DirectQuery-modellen waarvoor eenmalige aanmelding (SSO) is ingeschakeld. Daarnaast kunnen niet alle aspecten van een rapport worden gevalideerd in de functie Test als functie, waaronder Q&A-visualisaties, visualisaties voor snelle inzichten en Copilot.

De DAX-functie username() of userprincipalname() gebruiken

U kunt gebruikmaken van de DAX-functies username() of userprincipalname() in uw gegevensset. U kunt deze gebruiken in expressies in Power BI Desktop. Wanneer u uw model publiceert, wordt het gebruikt in de Power BI-service.

In Power BI Desktop retourneert username() een gebruiker in de indeling DOMAIN\User en userprincipalname() een gebruiker in de indeling van user@contoso.com.

In de Power BI-service retourneert username() en userprincipalname() beide de UPN (User Principal Name) van de gebruiker. Dit lijkt op een e-mailadres.

RLS gebruiken met werkruimten in Power BI

Als u uw Power BI Desktop-rapport publiceert naar een werkruimte in de Power BI-service, worden de RLS-rollen toegepast op leden die zijn toegewezen aan de rol Kijker in de werkruimte. Zelfs als viewers samenstellingsmachtigingen krijgen voor het semantische model, is RLS nog steeds van toepassing. Als kijkers met samenstellingsmachtigingen bijvoorbeeld Analyseren gebruiken in Excel, wordt de weergave van de gegevens beperkt door beveiliging op rijniveau. Werkruimteleden die zijn toegewezen Beheer, Lid of Inzender, hebben bewerkingsmachtigingen voor het semantische model en zijn daarom niet van toepassing op RLS. Als u wilt dat RLS van toepassing is op personen in een werkruimte, kunt u ze alleen de rol Kijker toewijzen. Lees meer over rollen in werkruimten.

Overwegingen en beperkingen

Hier ziet u de huidige beperkingen voor beveiliging op rijniveau voor cloudmodellen:

  • Als u eerder rollen en regels in de Power BI-service hebt gedefinieerd, moet u deze opnieuw maken in Power BI Desktop.
  • U kunt RLS alleen definiëren op de semantische modellen die zijn gemaakt met Power BI Desktop. Als u RLS wilt inschakelen voor semantische modellen die zijn gemaakt met Excel, moet u eerst uw bestanden converteren naar PBIX-bestanden (Power BI Desktop). Meer informatie.
  • Service-principals kunnen niet worden toegevoegd aan een RLS-rol. RLS wordt daarom niet toegepast op apps die een service-principal gebruiken als de uiteindelijke effectieve identiteit.
  • Alleen Import- en DirectQuery-verbindingen worden ondersteund. Liveverbindingen met Analysis Services worden verwerkt in het on-premises model.
  • De functie Test as role/View as role werkt niet voor DirectQuery-modellen waarvoor eenmalige aanmelding (SSO) is ingeschakeld.
  • Met de functie Testen als rol/weergave worden alleen rapporten uit de werkruimte semantische modellen weergegeven.
  • De functie Testen als rol/weergeven als rol werkt niet voor gepagineerde rapporten.

Houd er rekening mee dat als een Power BI-rapport verwijst naar een rij met RLS die is geconfigureerd, hetzelfde bericht wordt weergegeven als voor een verwijderd of niet-bestaand veld. Voor deze gebruikers lijkt het alsof het rapport is verbroken.

Veelgestelde vragen

Vraag: Wat moet ik doen als ik eerder rollen en regels heb gemaakt voor een gegevensset in de Power BI-service? Werken ze nog steeds als ik niets doe?
Antwoord: Nee, visuals worden niet goed weergegeven. U moet de rollen en regels in Power BI Desktop opnieuw maken en vervolgens publiceren naar de Power BI-service.

Vraag: Kan ik deze rollen maken voor Analysis Services-gegevensbronnen?
Antwoord: Ja, als u de gegevens in Power BI Desktop hebt geïmporteerd. Als u een liveverbinding gebruikt, kunt u RLS niet configureren binnen de Power BI-service. U definieert RLS in het On-premises Analysis Services-model.

Vraag: Kan ik RLS gebruiken om de kolommen of metingen te beperken die toegankelijk zijn voor mijn gebruikers?
Antwoord: Nee, als een gebruiker toegang heeft tot een bepaalde rij met gegevens, kunnen ze alle kolommen met gegevens voor die rij zien. Als u de toegang tot kolommen en kolommetagegevens wilt beperken, kunt u overwegen beveiliging op objectniveau te gebruiken.

Vraag: Kan ik met RLS gedetailleerde gegevens verbergen, maar krijg ik toegang tot gegevens die zijn samengevat in visuals?
Antwoord: Nee, u beveiligt afzonderlijke rijen met gegevens, maar gebruikers kunnen altijd de details of de samengevatte gegevens zien.

Vraag: Mijn gegevensbron heeft al beveiligingsrollen gedefinieerd (bijvoorbeeld SQL Server-rollen of SAP BW-rollen). Wat is de relatie tussen deze rollen en RLS?
Antwoord: Het antwoord is afhankelijk van of u gegevens importeert of DirectQuery gebruikt. Als u gegevens importeert in uw Power BI-gegevensset, worden de beveiligingsrollen in uw gegevensbron niet gebruikt. In dit geval moet u RLS definiëren om beveiligingsregels af te dwingen voor gebruikers die verbinding maken in Power BI. Als u DirectQuery gebruikt, worden de beveiligingsrollen in uw gegevensbron gebruikt. Wanneer een gebruiker een rapport opent, verzendt Power BI een query naar de onderliggende gegevensbron, die beveiligingsregels toepast op de gegevens op basis van de referenties van de gebruiker.

Vraag: Kan een gebruiker tot meer dan één rol behoren?
Antwoord: Een gebruiker kan tot meerdere rollen behoren en de rollen zijn additief. Als een gebruiker bijvoorbeeld deel uitmaakt van zowel de rollen Verkoop als Marketing, kunnen ze gegevens voor beide rollen zien.

Vragen? Wilt u de Power BI-community suggesties vragen? Ideeën bijdragen om Power BI te verbeteren