Row-Level Security (RLS) in Power BI

Wat is Row-Level Security?
RLS is een beveiligingsfunctie in Power BI die bepaalt welke rijen in een dataset zichtbaar zijn voor specifieke gebruikers. Essentieel voor:
- Multi-tenant omgevingen: Data isoleren per klant
- Afdelingenspecifieke rapporten: Toon alleen relevante data
- Compliance: Voldoen aan GDPR/AVG vereisten
Belangrijk: RLS werkt alleen in de Power BI Service, niet in Power BI Desktop tijdens het ontwerpen.
RLS implementeren in 4 stappen
- Rollen definiëren in Power BI Desktop
- DAX-filters schrijven per rol
- Testen in Desktop met "Als rol weergeven"
- Publiceren naar Service en gebruikers toewijzen
Rollen en DAX-filters
Basis DAX-voorbeeld voor gebruikersfiltering:
// Filter op huidige gebruiker
[Email] = USERNAME()
// Filter op regio
[Regio] = LOOKUPVALUE(
Medewerkers[Regio],
Medewerkers[Email],
USERNAME()
)
Geavanceerde RLS-technieken
1. Dynamische RLS
Koppel gebruikers aan filters via een bridge-tabel:

2. Hiërarchische filters
DAX-voorbeeld voor manager-subordinate relaties:
// Toon data voor eigen team
PATHCONTAINS(
[HiërarchiePad],
LOOKUPVALUE(
Medewerkers[HiërarchiePad],
Medewerkers[Email],
USERNAME()
)
)
3. Externe identiteitsproviders
Integreer met Azure AD of custom security-modellen.
Best Practices
- Test altijd eerst in Desktop met "Als rol weergeven"
- Gebruik
USERNAME()
ofUSERPRINCIPALNAME()
- Vermijd complexe DAX - impact op prestaties
- Documenteer rollen en filters