Implementace zabezpečení na úrovni řádků ve vložených stránkovaných sestavách

PLATÍ PRO: Aplikace vlastní data , která uživatel vlastní.

Tento článek vysvětluje, jak vložit stránkovanou sestavu, která používá zabezpečení na úrovni řádků (RLS ) do aplikace vlastní datovou aplikaci.

Poznámka:

Tento článek je relevantní jenom pro zákazníky s daty, které vlastní aplikace.

Použití zabezpečení na úrovni řádků pro stránkované sestavy:

  1. Nastavení prostředí pro filtrování sestavy
  2. Filtrování dat na úrovni sestavy nebo dotazu
  3. Předání nakonfigurovaného parametru pomocí tokenu pro vložení

Požadavky

  • Tento článek předpokládá, že víte, jak vložit stránkovanou sestavu Power BI. Vysvětluje, jak vygenerovat token pro vložení, aby sestava zobrazovala jenom to, k čemu má uživatel oprávnění k přístupu.

  • Stránkované sestavy se vytvářejí pomocí modulu služby SQL Server Reporting Services, nikoli pomocí modulu Power BI (Analysis Services), takže filtrování zabezpečení na úrovni řádků je nastavené v Power BI Tvůrce sestav.

Nastavení prostředí

Pokud chcete u stránkované sestavy Power BI použít zabezpečení na úrovni řádků, přiřaďte parametr pomocí předdefinovaného pole UserID. Tento parametr se použije k filtrování nebo dotazování dat.

Pak předejte ID uživatele tokenu pro vložení – vygenerujte rozhraní API tokenu pro získání tokenu pro vložení.

Použití USERID jako filtru na úrovni sestavy nebo dotazu

Id uživatele můžete použít jako filtr nebo v dotazu na zdroj dat.

Filtrování dat

  1. V okně Vlastnosti sémantického modelu v levém podokně vyberte Filtr.

    Screenshot of the Power BI Report Builder filter.

  2. V rozevírací nabídce Výraz vyberte parametr, který chcete použít k filtrování dat.

    Screenshot shows the value Color selected from the Expression menu.

  3. Klikněte na tlačítko Funkce Hodnota .

    Power BI Report Builder value

  4. V okně Výraz v seznamu Kategorie vyberte Předdefinovaná pole.

    Screenshot shows the Expression window with Built-in Fields selected as Category and ExecutionTime selected as Item.

  5. V seznamu položek vyberte UserID a klikněte na OK.

    Power BI Report Builder UserID

  6. V okně Vlastnosti sémantického modelu ověřte, zda je výraz vybraným parametrem = UserID, a klikněte na tlačítko OK.

    Power BI Report Builder semantic model properties

Použití dotazu

  1. V okně Vlastnosti sémantického modelu v levém navigačním podokně vyberte Parametry a klikněte na Přidat.

    Power BI Report Builder parameters

  2. Do pole Název parametru zadejte @UserID a do pole Hodnota parametru přidejte [&UserID].

    Power BI Report Builder parameter name

  3. V levém podokně vyberte Dotaz, v dotazu přidejte parametr UserID jako součást dotazu a klikněte na OK.

    Poznámka:

    Na snímku obrazovky pod parametrem barvy se používá jako příklad (WHERE FinalTable.Color = @UserID). V případě potřeby můžete vytvořit složitější dotaz.

    Power BI Report Builder queries edit

Vygenerování tokenu pro vložení

Když pro zákazníky vložíte stránkovanou sestavu, získejte token pro vložení pomocí rozhraní API GenerateTokenInGroup pro sestavy. Tento token lze také použít k filtrování některých dat ze stránkované sestavy.

Token můžete vygenerovat pouze pomocí instančního objektu. Token nemůžete vygenerovat jako hlavního uživatele. Instanční objekt musí mít alespoň oprávnění člena k pracovnímu prostoru v služba Power BI. (Pokud je instanční objekt přispěvatelem nebo prohlížečem, nebude moct vygenerovat token).

Pokud chcete vygenerovat token, přiřaďte username pole s informacemi, které chcete zobrazit. Například ve stránkované sestavě, která má parametr barvy, pokud do pole zadáte zelenou username barvu, token pro vložení omezí vložená data jenom na data, která mají zelenou hodnotu ve sloupci barev.

{
 "reports": [
 {
  "id": "8d57615e-cfed-4d60-bd21-7dc05727193c"
 }
 ],
 "identities": [
 {
  "username": "green",
  "reports": [
  "8d57615e-cfed-4d60-bd21-7dc05727193c"
  ]
 }
 ]
}

Poznámka:

Pokud vygenerujete token pro vložení bez zadání ID uživatele, použije se ID objektu instančního objektu.

Úvahy a omezení

  • Hlavní uživatel nepodporuje stránkované sestavy pro vložení pro vaše zákazníky. Hlavní uživatel je podporovaný pro vložení pro vaši organizaci.
  • Instanční objekt musí mít oprávnění člena nebo vyššího pracovního prostoru (nikoli čtenáře nebo přispěvatele).

Vygenerování tokenu pro vložení