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 beheerders, 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. 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.
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.
Beveiliging op uw model beheren
Als u de beveiliging van uw semantische model wilt beheren, opent u de werkruimte waarin u uw semantische model in Fabric hebt opgeslagen en voert u de volgende stappen uit:
Selecteer in Fabric het menu Meer opties voor een semantisch model. Dit menu wordt weergegeven wanneer u de muisaanwijzer op een semantische modelnaam plaatst.
Selecteer Beveiliging.
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.
- Distributiegroep
- Groep met e-mail
- Microsoft Entra-beveiligingsgroep
Houd er rekening mee dat Microsoft 365-groepen niet worden ondersteund en niet kunnen worden toegevoegd aan rollen.
U kunt ook zien hoeveel leden deel uitmaken van de rol door het getal tussen haakjes naast de rolnaam of naast Leden.
Leden verwijderen
U kunt leden verwijderen door de X naast hun naam te selecteren.
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.
- Selecteer Meer opties (...) naast de rol.
- Selecteer Testen als rol.
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.
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.
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 aan wie beheerder, lid of inzender is toegewezen, hebben een bewerkingsmachtiging voor het semantische model. RLS is daarom niet van toepassing op deze leden. 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.
Gerelateerde inhoud
- Gegevenstoegang beperken met beveiliging op rijniveau (RLS) voor Power BI Desktop
- Richtlijnen voor beveiliging op rijniveau (RLS) in Power BI Desktop
- Power BI-implementatieplanning: planning voor consumentenbeveiliging rapporteren
- RLS voor ingesloten scenario's voor ISV's
Vragen? Wilt u de Power BI-community suggesties vragen? Ideeën bijdragen om Power BI te verbeteren