Beveiliging op rijniveau implementeren in ingesloten gepagineerde rapportenImplementing row-level security in embedded paginated reports

Wanneer u een gepagineerd rapport insluit, kunt u bepalen welke gegevens worden weergegeven.When you embed a paginated report, you can control which data is displayed. Zo kunt u de weergegeven informatie per gebruiker aanpassen.This allows tailoring the displayed information per user. Als u bijvoorbeeld een gepagineerd Power BI-rapport met algemene verkoopresultaten hebt, kunt u dit insluiten zodat alleen de verkoopresultaten van een bepaalde regio beschikbaar zijn.For example, if you have a Power BI paginated report that includes global sale results, you can embed it so that only the sale results from a certain region are available.

Deze functie biedt een veilige manier om een subset van de gegevens weer te geven op een manier die de rest van de gegevens niet in gevaar brengt.This feature provides a secure way of displaying a subset of the data, in a way that doesn't compromise the rest of data. Dit lijkt op de functie Beveiliging op rijniveau (RLS), waarmee u over een veilige manier beschikt om gegevens in Power BI-rapporten (die niet zijn gepagineerd), dashboards, tegels en gegevenssets weer te geven.It resembles the Row Level Security (RLS) feature, which provides a secure way of displaying data in Power BI reports (that are not paginated), dashboards, tiles, and datasets.

Notitie

Deze functie werkt met het insluiten van gepagineerde rapporten voor klanten.This feature works with embedding paginated reports for customers.

Een parameter configureren om de gegevensset te filterenConfiguring a parameter to filter the dataset

Wanneer u beveiliging op rijniveau toepast op een gepagineerd Power BI-rapport, moet u een parameter toewijzen aan het kenmerk UserID.When applying row-level security to a Power BI paginated report, you need to assign a parameter to the UserID attribute. Met deze parameter worden de gegevens die worden opgehaald uit de gegevensset beperkt voordat het rapport wordt ingesloten.This parameter will restrict the data pulled from the dataset, before the report is embedded.

Nadat u de parameter hebt toegewezen aan UserID, gebruikt u de API Reports GenerateTokenInGroup om het insluittoken op te halen.After assigning the parameter to UserID, use the Reports GenerateTokenInGroup API to get the embed token.

UserID gebruiken als filter op rapport- of queryniveauUse UserID as a filter at report or query level

U kunt UserId als een filter of in een query gebruiken voor de gegevensbron in Power BI Report Builder.You can use UserId as a filter or in a query to the datasource in Power BI Report Builder.

Het filter gebruikenUsing the filter

  1. Selecteer Filter in het linkerdeelvenster van het venster Eigenschappen van gegevensset.In the Dataset Properties window, from the left pane, select Filter.

    Filter voor Power BI Report Builder

  2. Selecteer in het vervolgkeuzemenu Expressie de parameter die u wilt gebruiken voor het filteren van de gegevens.From the Expression dropdown menu, select the parameter you want to use for filtering the data.

    Expressie in Power BI Report Builder

  3. Klik op de functieknop Waarde.Click the Value function button.

    Waarde voor Power BI Report Builder

  4. Selecteer in het venster Expressie in de lijst Categorie de optie Ingebouwde velden.In the Expression window, from the Category list, select Built-in Fields.

    Expressie in Power BI Report Builder

  5. Selecteer in de lijst Item de optie UserID en klik op OK.From the Item list, select UserID and click OK.

    UserID voor Power BI Report Builder

  6. Controleer in het venster Eigenschappen van gegevensset of de expressie uw geselecteerde parameter = UserID is en klik op OK.In the Dataset Properties window, verify that the expression is your selected parameter = UserID, and click OK.

    Eigenschappen van gegevensset in Power BI Report Builder

Een query gebruikenUsing a query

  1. Selecteer in het venster Eigenschappen van gegevensset vanuit het linkerdeelvenster Parameters en klik vervolgens op Toevoegen.In the Dataset Properties window, from the left pane, select Parameters and click Add.

    Parameters voor Power BI Report Builder

  2. Voer in Parameternaam @UserID in, en voeg in het veld Parameterwaarde [&UserID] toe.In the Parameter Name enter @UserID, and in the Parameter Value add [&UserID].

    Parameternaam in Power BI Report Builder

  3. Selecteer in het linkerdeelvenster Query, voeg in de query de parameter UserID toe als onderdeel van uw query en klik op OK.From the left pane, select Query, in the Query add the UserID parameter as part of your query, and click OK.

    Notitie

    In de onderstaande schermopname wordt de kleurparameter als voorbeeld gebruikt (whereFinalTable. Color = @UserID).In the screenshot below the color parameter is used as an example (whereFinalTable.Color = @UserID). Het is indien nodig mogelijk om een complexere query te maken.If needed, it is possible to create a more complex query.

    Query's bewerken in Power BI Report Builder

De geconfigureerde parameter doorgeven met het insluittokenPassing the configured parameter using the embed token

Wanneer u een gepagineerd rapport voor uw klanten insluit, wordt de API Reports GenerateTokenInGroup gebruikt om het insluittoken op te halen.When embedding a paginated report for your customers, the Reports GenerateTokenInGroup API is used to get the embed token. Dit token kan ook worden gebruikt om een deel van de gegevens die uit het gepagineerde rapport worden opgehaald te filteren.This token can also be used to filter some of the data that is pulled out of the paginated report.

Als u slechts een deel van de gegevens beschikbaar wilt maken, wijst u het veld username toe met de informatie die u wilt weergeven.To expose only some of the data, assign the username field with the information you want to be displayed. Als u bijvoorbeeld in een gepagineerd rapport met een kleurparameter groen in het veld username invoert, beperkt het insluittoken de ingesloten gegevens tot het weergeven van alleen gegevens die de waarde groen in de kolomkleur hebben.For example, in a paginated report that has a color parameter, if you enter green in the username field, the embed token will restrict the embedded data to display only the data that has the green value in the color column.

{
    "accessLevel": "View",
    "reportId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229",
    "identities": [
            {
                    // Replace the 'username' with a paginated report parameter
                    "username":     "...",
                    "reports: [
                        "cfafbeb1-8037-4d0c-896e-a46fb27ff229"
                    ]
            }
    ]
}