Sdílet prostřednictvím


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 slouží 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.

    Snímek obrazovky s filtrem Tvůrce sestav Power BI

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

    Snímek obrazovky ukazuje hodnotu Barva vybraná z nabídky Výraz.

  3. Vyberte tlačítko Funkce Hodnota.

    Hodnota Tvůrce sestav Power BI

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

    Snímek obrazovky s oknem Výraz s předdefinovaná pole vybraná jako Kategorie a ExecutionTime jako Položka

  5. V seznamu položek vyberte USERID a vyberte OK.

    ID uživatele power BI Tvůrce sestav

  6. V okně Vlastnosti sémantického modelu ověřte, že je výraz vybraným parametrem = UserID, a vyberte OK.

    Power BI Tvůrce sestav sémantické vlastnosti modelu

Použití dotazu

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

    Parametry Tvůrce sestav Power BI

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

    Název parametru Tvůrce sestav Power BI

  3. V levém podokně vyberte Dotaz, v dotazu přidejte parametr UserID jako součást dotazu a vyberte 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.

    Úpravy dotazů Tvůrce sestav Power BI

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, nemůže 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í k pracovnímu prostoru alespoň člena nebo (nikoli čtenáře nebo přispěvatele).

Vygenerování tokenu pro vložení