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. 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:
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.
Selecteer Rollen beheren op het tabblad Modellering.
Selecteer in het venster Rollen beheren de optie Nieuw om een nieuwe rol te maken.
Geef onder Rollen een naam op voor de rol en selecteer Enter.
Notitie
U kunt bijvoorbeeld geen rol definiëren met een komma
London,ParisRole
.Selecteer onder Tabellen selecteren de tabel waarop u een beveiligingsfilter op rijniveau wilt toepassen.
Gebruik onder Filtergegevens de standaardeditor om uw rollen te definiëren. De expressies die zijn gemaakt, retourneren een waarde waar of onwaar.
Notitie
Niet alle beveiligingsfilters op rijniveau die in Power BI worden ondersteund, kunnen worden gedefinieerd met behulp van de standaardeditor. Beperkingen zijn expressies die momenteel 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.
Selecteer desgewenst Overschakelen naar DAX-editor om over te schakelen naar het gebruik van de DAX-editor om uw rol te definiëren. DAX-expressies retourneren een waarde van waar of onwaar. Voorbeeld:
[Entity ID] = “Value”
. De DAX-editor is voltooid met automatisch aanvullen voor formules (intellisense). U kunt het vinkje boven het expressievak selecteren om de expressie en de X-knop boven het expressievak te valideren om wijzigingen te herstellen.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. Gebruik in dit expressievak komma's om dax-functieargumenten te scheiden, zelfs als u een landinstelling gebruikt die normaal gesproken puntkommascheidingstekens gebruikt, zoals Frans of Duits.
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. 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.
Notitie
Gebruik in dit expressievak komma's om DAX-functieargumenten te scheiden, zelfs als u een landinstelling gebruikt die normaal gesproken puntkommascheidingstekens gebruikt, zoals Frans of Duits.
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.
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.
Selecteer Op het tabblad Modelleren de optie Weergeven als.
Het venster Weergeven als rollen wordt weergegeven, waar u de rollen ziet die u hebt gemaakt.
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.
U kunt ook Andere gebruiker selecteren en een bepaalde gebruiker opgeven.
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.
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.
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.
Selecteer in Power BI Report Service het beletselteken (...) naast het rapport.
Selecteer 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.
Als u een lid wilt toevoegen, selecteert u Lid toevoegen.
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.
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.
Klik op OK om toe te passen.
Als u leden wilt verwijderen, schakelt u het selectievakje naast hun namen in en selecteert u Verwijderen. U kunt meerdere leden tegelijk 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.
Gerelateerde inhoud
Meer vragen? Vraag het Power BI-community