Beveiliging op rijniveau (RLS) in Power BI Report Server

Het instellen van beveiliging op rijniveau (RLS) met Power BI Report Server kan de toegang tot gegevens voor bepaalde gebruikers beperken. Filters beperken de toegang tot gegevens op rijniveau en u kunt filters binnen rollen definiëren. Als u de standaardmachtigingen in Power BI Report Server gebruikt, kan elke gebruiker met publisher- of inhoudsbeheermachtigingen voor het Power BI-rapport leden toewijzen aan rollen voor dat rapport.

U configureert RLS voor rapporten die zijn geïmporteerd in Power BI met Power BI Desktop. U kunt RLS ook configureren voor rapporten die DirectQuery gebruiken, zoals SQL Server. Houd er rekening mee dat RLS niet wordt gerespecteerd als uw DirectQuery-verbinding gebruikmaakt van geïntegreerde verificatie voor rapportlezers. Voor Live-verbindingen van Analysis Services configureert u beveiliging op rijniveau op het on-premises model. De beveiligingsoptie wordt niet weergegeven voor gegevenssets voor 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.

Kruislings filteren in twee richtingen

Beveiligingsfilters op rijniveau maken standaard gebruik van filters in één richting, ongeacht of de relaties zijn ingesteld op één richting of bidirectioneel. U kunt bidirectioneel kruisfilter handmatig inschakelen met beveiliging op rijniveau.

  • Selecteer de relatie en schakel het selectievakje Beveiligingsfilter toepassen in beide richtingen in.

    Beveiligingsfilter toepassen

Schakel dit selectievakje in bij het implementeren van dynamische beveiliging op rijniveau op basis van gebruikersnaam of aanmeldings-id.

Zie voor meer informatie bidirectioneel kruislings filteren met DirectQuery in Power BI Desktop en het technisch technisch technisch document over het beveiligen van het Semantische BI-model in tabelvorm.

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.

Leden toevoegen aan rollen

Nadat u het rapport hebt opgeslagen in Power BI Report Server, beheert u de beveiliging en voegt u leden toe of verwijdert u deze op de server. Alleen gebruikers met machtigingen voor Publisher of Content Manager voor het rapport hebben de beveiligingsoptie op rijniveau beschikbaar en worden niet grijs weergegeven.

Als het rapport niet over de benodigde rollen beschikt, moet u het openen in Power BI Desktop, rollen toevoegen of wijzigen en het vervolgens weer opslaan in Power BI Report Server.

  1. Sla het rapport in Power BI Desktop op in Power BI Report Server. U moet de versie van Power BI Desktop voor Power BI Report Server gebruiken.

  2. Selecteer in Power BI Report Service het beletselteken (...) naast het rapport.

  3. Selecteer Beveiliging op rijniveau beheren>.

    Beveiliging op rijniveau beheren

    Op de pagina Beveiliging op rijniveau voegt u leden toe aan een rol die u hebt gemaakt in Power BI Desktop.

  4. Als u een lid wilt toevoegen, selecteert u Lid toevoegen.

  5. Voer de gebruiker of groep in het tekstvak in de indeling Gebruikersnaam (DOMEIN\gebruiker) in en selecteer de rollen die u aan hen wilt toewijzen. Het lid moet zich binnen uw organisatie bevinden.

    Lid aan rol toevoegen

    Afhankelijk van hoe Active Directory is geconfigureerd, werkt het invoeren van de User Principal Name hier ook. In dat geval geeft de rapportserver de bijbehorende gebruikersnaam in de lijst weer.

  6. Klik op OK om toe te passen.

  7. Als u leden wilt verwijderen, schakelt u het selectievakje naast hun namen in en selecteert u Verwijderen. U kunt meerdere leden tegelijk verwijderen.

    Leden verwijderen

username() en userprincipalname()

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, worden deze door Power BI Report Server gebruikt.

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 Power BI Report Server retourneren zowel username() als userprincipalname() de UPN (User Principal Name) van de gebruiker, die vergelijkbaar is met een e-mailadres.

Als u aangepaste verificatie gebruikt in Power BI Report Server, wordt de gebruikersnaam-indeling geretourneerd die u voor gebruikers hebt ingesteld.

Overwegingen en beperkingen

Hier volgen de huidige beperkingen voor beveiliging op rijniveau in Power BI-modellen.

Gebruikers met rapporten die gebruikmaken van de DAX-functie username() zien nu nieuw gedrag waarbij de UPN (User Principal Name) wordt geretourneerd, BEHALVE wanneer DirectQuery met geïntegreerde beveiliging wordt gebruikt. Omdat RLS in dat scenario niet wordt gerespecteerd, is het gedrag in dat scenario ongewijzigd.

U kunt RLS alleen definiëren voor gegevenssets die zijn gemaakt met Power BI Desktop. Als u beveiliging op rijniveau wilt inschakelen voor gegevenssets die zijn gemaakt met Excel, moet u eerst uw bestanden converteren naar PBIX-bestanden (Power BI Desktop). Meer informatie over het converteren van Excel-bestanden.

Alleen ETL-verbindingen (Extraheren, Transformeren, Laden) en DirectQuery-verbindingen met behulp van opgeslagen referenties worden ondersteund. Liveverbindingen met Analysis Services en DirectQuery-verbindingen met behulp van geïntegreerde verificatie worden verwerkt in de onderliggende gegevensbron.

Als u geïntegreerde beveiliging gebruikt met DirectQuery, kunnen uw gebruikers het volgende merken:

  • RLS is uitgeschakeld en alle gegevens worden geretourneerd.
  • Gebruikers kunnen hun roltoewijzingen niet bijwerken en krijgen een foutmelding op de pagina RLS Beheren.
  • Voor de DAX-gebruikersnaamfunctie blijft u de gebruikersnaam ontvangen als DOMEIN\GEBRUIKER.

Auteurs van rapporten hebben geen toegang om de rapportgegevens in Power BI Report Server weer te geven totdat ze zichzelf de rollen dienovereenkomstig hebben toegewezen nadat ze het rapport hebben geüpload.

Roltoewijzingen via groepslidmaatschappen worden alleen ondersteund wanneer de Power BI Report Server is geconfigureerd voor uitvoering met NTLM- of Kerberos-verificatie. Servers die worden uitgevoerd met aangepaste verificatie of Windows Basic hebben gebruikers expliciet toegewezen aan rollen nodig.

Veelgestelde vragen

Kan ik deze rollen maken voor Analysis Services-gegevensbronnen?

U kunt de gegevens importeren in Power BI Desktop. Als u een liveverbinding gebruikt, kunt u RLS niet configureren binnen de Power BI-service. RLS wordt gedefinieerd binnen het On-premises Analysis Services-model.

Kan ik RLS gebruiken om de kolommen of metingen te beperken die toegankelijk zijn voor mijn gebruikers?

Nee Als een gebruiker toegang heeft tot een bepaalde rij met gegevens, kunnen ze alle kolommen met gegevens voor die rij zien.

Kan ik met RLS gedetailleerde gegevens verbergen, maar toegang geven tot gegevens die zijn samengevat in visuals?

Nee, u beveiligt afzonderlijke rijen met gegevens, maar gebruikers kunnen altijd de details of de samengevatte gegevens zien.

Kan ik nieuwe rollen toevoegen in Power BI Desktop als ik al bestaande rollen en leden heb toegewezen?

Ja, als u al bestaande rollen hebt gedefinieerd en leden hebt toegewezen in Power BI Report Server, kunt u extra rollen maken en uw rapport opnieuw publiceren zonder dat dit van invloed is op uw huidige toewijzingen.

Meer vragen? Vraag het Power BI-community