Implementieren der Sicherheit auf Zeilenebene in eingebetteten paginierten BerichtenImplementing row-level security in embedded paginated reports

Wenn Sie einen paginierten Bericht einbetten, können Sie steuern, welche Daten angezeigt werden.When you embed a paginated report, you can control which data is displayed. Dadurch können die angezeigten Informationen auf den jeweiligen Benutzer zugeschnitten werden.This allows tailoring the displayed information per user. Wenn Sie z. B. über einen paginierten Power BI-Bericht verfügen, der globale Verkaufsergebnisse enthält, können Sie ihn so einbetten, dass nur die Verkaufsergebnisse aus einer bestimmten Region verfügbar sind.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.

Diese Funktion ermöglicht das sichere Anzeigen einer Teilmenge von Daten, ohne die restlichen Daten zu beeinträchtigen.This feature provides a secure way of displaying a subset of the data, in a way that doesn't compromise the rest of data. Sie ähnelt der Funktion Sicherheit auf Zeilenebene (RLS), mit der Daten in (nicht paginierten) Power BI-Berichten, Dashboards, Kacheln und Datasets sicher angezeigt werden können.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.

Hinweis

Diese Funktion funktioniert auch im Zusammenhang mit dem Einbetten von paginierten Berichten für Kunden.This feature works with embedding paginated reports for customers.

Konfigurieren eines Parameters zum Filtern des DatasetsConfiguring a parameter to filter the dataset

Beim Anwenden der Sicherheit auf Zeilenebene auf einen paginierten Power BI-Bericht müssen Sie dem UserID-Attribut einen Parameter zuweisen.When applying row-level security to a Power BI paginated report, you need to assign a parameter to the UserID attribute. Dieser Parameter schränkt die Daten ein, die aus dem Dataset abgerufen werden, bevor der Bericht eingebettet wird.This parameter will restrict the data pulled from the dataset, before the report is embedded.

Verwenden Sie nach dem Zuweisen des Parameter zum UserID-Attribut die API Reports GenerateTokenInGroup, um das Token für die Einbettung zu erhalten.After assigning the parameter to UserID, use the Reports GenerateTokenInGroup API to get the embed token.

Verwenden von UserID als Filter auf Berichts- oder AbfrageebeneUse UserID as a filter at report or query level

Sie können UserID als Filter oder in einer Abfrage für die Datenquelle im Power BI Report Builder verwenden.You can use UserId as a filter or in a query to the datasource in Power BI Report Builder.

Verwenden des FiltersUsing the filter

  1. Wählen Sie im Fenster Dataseteigenschaften im linken Bereich die Option Filter aus.In the Dataset Properties window, from the left pane, select Filter.

    Filter für Power BI Report Builder

  2. Wählen Sie im Dropdownmenü Ausdruck den Parameter aus, den Sie zum Filtern der Daten verwenden möchten.From the Expression dropdown menu, select the parameter you want to use for filtering the data.

    Der Screenshot zeigt den im Menü „Ausdruck“ ausgewählten Wert „Farbe“.

  3. Klicken Sie auf die Funktionsschaltfläche Wert.Click the Value function button.

    Wert in Power BI Report Builder

  4. Wählen Sie im Fenster Ausdruck in der Liste Kategorie die Option Integrierte Felder aus.In the Expression window, from the Category list, select Built-in Fields.

    Der Screenshot zeigt das Fenster „Ausdruck“ mit „Integrierte Felder“ als „Category“ und „ExecutionTime“ als „Item“.

  5. Wählen Sie in der Liste Element UserID aus, und klicken Sie auf OK.From the Item list, select UserID and click OK.

    UserID in Power BI Report Builder

  6. Vergewissern Sie sich, dass im Fenster Dataseteigenschaften der Ausdruck Ihr ausgewählter Parameter = UserID ist, und klicken Sie auf OK.In the Dataset Properties window, verify that the expression is your selected parameter = UserID, and click OK.

    Dataseteigenschaften in Power BI Report Builder

Verwenden einer AbfrageUsing a query

  1. Wählen Sie im Fenster Dataseteigenschaften im linken Bereich Parameter aus, und klicken Sie auf Hinzufügen.In the Dataset Properties window, from the left pane, select Parameters and click Add.

    Parameter in Power BI Report Builder

  2. Geben Sie im Feld Parametername @UserID ein, und fügen Sie im Feld Parameterwert [&UserID] hinzu.In the Parameter Name enter @UserID, and in the Parameter Value add [&UserID].

    Parametername in Power BI Report Builder

  3. Wählen Sie im linken Bereich Abfrage aus, fügen Sie in der Abfrage den Parameter UserID als Teil der Abfrage hinzu, und klicken Sie auf OK.From the left pane, select Query, in the Query add the UserID parameter as part of your query, and click OK.

    Hinweis

    Im folgenden Screenshot wird der Farbparameter als Beispiel verwendet (whereFinalTable.Color = @UserID).In the screenshot below the color parameter is used as an example (whereFinalTable.Color = @UserID). Bei Bedarf ist es möglich, eine komplexere Abfrage zu erstellen.If needed, it is possible to create a more complex query.

    Bearbeiten von Abfragen in Power BI Report Builder

Übergeben des konfigurierten Parameters mit dem EinbettungstokenPassing the configured parameter using the embed token

Wenn Sie einen paginierten Bericht für Ihre Kunden einbetten, wird die API Reports GenerateTokenInGroup verwendet, um das Einbettungstoken abzurufen.When embedding a paginated report for your customers, the Reports GenerateTokenInGroup API is used to get the embed token. Dieses Token kann auch verwendet werden, um einige der Daten zu filtern, die aus dem paginierten-Bericht abgerufen werden.This token can also be used to filter some of the data that is pulled out of the paginated report.

Um nur einige der Daten verfügbar zu machen, weisen Sie das Feld username den Informationen zu, die Sie anzeigen möchten.To expose only some of the data, assign the username field with the information you want to be displayed. Wenn Sie z. B. in einem paginierten-Bericht mit einem Farbparameter grün in das Feld username eingeben, werden die eingebetteten Daten durch das Einbettungstoken so eingeschränkt, dass nur die Daten angezeigt werden, die in der Farbspalte einen grünen Wert aufweisen.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"
                    ]
            }
    ]
}