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:
- Nastavení prostředí pro filtrování sestavy
- Filtrování dat na úrovni sestavy nebo dotazu
- 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
V okně Vlastnosti sémantického modelu v levém podokně vyberte Filtr.
V rozevírací nabídce Výraz vyberte parametr, který chcete použít k filtrování dat.
Klikněte na tlačítko Funkce Hodnota .
V okně Výraz v seznamu Kategorie vyberte Předdefinovaná pole.
V seznamu položek vyberte UserID a klikněte na OK.
V okně Vlastnosti sémantického modelu ověřte, zda je výraz vybraným parametrem = UserID, a klikněte na tlačítko OK.
Použití dotazu
V okně Vlastnosti sémantického modelu v levém navigačním podokně vyberte Parametry a klikněte na Přidat.
Do pole Název parametru zadejte @UserID a do pole Hodnota parametru přidejte [&UserID].
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.
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).
Související obsah
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro