V tomto článku je návrh toho, jak nastavit RLS v situacích, kdy už to kvůi množství uživatelů nejde dělat individuálně.

Při nastavovávní budeme pracovat s funkcí USEPRINCIPALNAME, která zobrazí login přihlášeného uživatele (např. jmeno@firma.cz). Pozor, zobrazí ho až v cloudu – na Desktopu se ukazuje název uživatele a bez publikace tedy celý postup nedává smysl.

RLS budeme nastavovat např. nad touto tabulkou s daty:

Tabulka s rolemi

Budeme potřebovat takovouto tabulku, kde jsou loginy uživatelů a data, která mají vidět.

Tvorba RLS

Roli nastavíme tak, aby filtrovaná data odpovídala tomu, co se zjistí z výsledku funkce USERPRINCIPALNAME, a toho, co se přiřadí z tabulky. Např. takto:

  • [Team] = LOOKUPVALUE(roles[Team],roles[User], USERPRINCIPALNAME())

Vytvoříme potřebné repory, nasdílíme a přiřadíme role. Např. tak, že uživatele přiřadíme do skupiny, a report nasdílíme celé skupině.

Od teď vidí už každý vidí místo celého reportu:

pouze svoje data: