Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:✅ Power BI ingesloten analyses voor uw klanten (App-owns-data)
In dit artikel wordt uitgelegd hoe u een gepagineerd rapport dat gebruikmaakt van RLS (beveiliging op rijniveau), kunt insluiten in uw app owns data-toepassing.
Notitie
Dit artikel is alleen relevant voor klanten met het model 'app-beheert-gegevens'.
RLS gebruiken voor gepagineerde rapporten:
- De omgeving instellen om het rapport te filteren
- De gegevens filteren op rapport- of queryniveau
- De geconfigureerde parameter doorgeven met behulp van een insluittoken
Vereisten
In dit artikel wordt ervan uitgegaan dat u weet hoe u een gepagineerd Power BI-rapport kunt insluiten. Hierin wordt uitgelegd hoe u het insluittoken genereert, zodat in het rapport alleen wordt weergegeven waartoe de gebruiker toegangsmachtigingen heeft.
Gepagineerde rapporten worden gemaakt met behulp van de SQL Server Reporting Services-engine en niet met de Power BI-engine (Analysis Services), dus de RLS-filtering is ingesteld in Power BI Report Builder.
De omgeving instellen
Als u beveiliging op rijniveau wilt toepassen op een gepagineerd Power BI-rapport, gebruikt u de ingebouwde gebruikers-id om een parameter toe te wijzen. Deze parameter wordt gebruikt om uw gegevens te filteren of er query's op uit te voeren.
Geef vervolgens de UserID door aan de Insluittoken - Token genereren-API om het insluittoken op te halen.
UserID gebruiken als filter op rapport- of queryniveau
U kunt UserId gebruiken als filter of in een query voor de gegevensbron.
De gegevens filteren
Selecteer Filter in het venster Eigenschappen van het Semantische model in het linkerdeelvenster.
Selecteer in het vervolgkeuzemenu Expressie de parameter die u wilt gebruiken voor het filteren van de gegevens.
Selecteer de knop Waardefunctie .
Selecteer in het venster Expressie in de lijst CategorieIngebouwde velden.
Selecteer in de lijst Item de optie UserID en selecteer OK.
Controleer in het venster Eigenschappen van semantisch model of de expressie de door u geselecteerde parameter = UserID is en selecteer OK.
Een query gebruiken
Selecteer parameters in het venster Eigenschappen van het Semantische model in het linkernavigatiedeelvenster en selecteer Toevoegen.
Voer in het veld Parameternaam @UserID in en voeg in de parameterwaarde [&UserID] toe.
Selecteer query in het linkerdeelvenster, voeg in de query de parameter UserID toe als onderdeel van uw query en selecteer OK.
Notitie
In de onderstaande schermopname wordt de kleurparameter gebruikt als voorbeeld (WHERE FinalTable.Color = @UserID). Indien nodig kunt u een complexere query maken.
Een insluittoken genereren
Wanneer u een gepagineerd rapport voor uw klanten insluit, gebruikt u de Reports GenerateTokenInGroup-API om het insluittoken op te halen. Dit token kan ook worden gebruikt om bepaalde gegevens uit het gepagineerde rapport te filteren.
U kunt alleen een token genereren met behulp van een service-principal. U kunt geen token genereren als hoofdgebruiker. De service-principal moet ten minste lidmachtigingen hebben voor de werkruimte in de Power BI-service. (Als de service-principal een inzender of viewer is, kan deze geen token genereren).
Als u een token wilt genereren, wijst u het username veld toe met de informatie die u wilt weergeven. Als u bijvoorbeeld in een gepagineerd rapport met een kleurparameter groen invoert in het veld username, beperkt het insluitingstoken de ingesloten gegevens tot alleen de gegevens waarvoor in de kleurkolom groen als waarde is opgegeven.
{
"reports": [
{
"id": "8d57615e-cfed-4d60-bd21-7dc05727193c"
}
],
"identities": [
{
"username": "green",
"reports": [
"8d57615e-cfed-4d60-bd21-7dc05727193c"
]
}
]
}
Notitie
Als u een insluittoken genereert zonder een gebruikers-id op te geven, wordt de object-id van de service-principal gebruikt.
Overwegingen en beperkingen
- Hoofdgebruiker wordt voor Insluiten voor uw klanten niet ondersteund met gepagineerde rapporten. Hoofdgebruiker wordt ondersteund bij insluiten voor uw organisatie.
- De serviceprincipal moet machtigingen voor de werkruimte hebben van minimaal lid (dus niet lezer of bijdrager).