Omezení přístupu k objektům modelu Power BI

Dokončeno

Jako modelátor dat můžete zvážit omezení přístupu uživatelů k objektům modelu Power BI. Zabezpečení na úrovni objektů (OLS) může omezit přístup ke konkrétním tabulkám a sloupcům a jejich metadatům. OlS obvykle použijete k zabezpečení objektů, které ukládají citlivá data, jako jsou osobní údaje zaměstnanců.

Když Power BI vynucuje OLS, nejen omezuje přístup k tabulkám a sloupcům, ale může také zabezpečit metadata. Při zabezpečení metadat není možné načíst informace o zabezpečených tabulkách a sloupcích pomocí zobrazení dynamické správy (DMV).

Důležité

Tabulkové modely můžou skrýt tabulky a sloupce (a další objekty) pomocí perspektivy. Perspektiva definuje zobrazitelnou podmnožinu objektů modelu, které autorům sestav pomáhají poskytovat specifické zaměření. Perspektivy jsou určeny ke snížení složitosti modelu, což autorům sestav pomáhá najít zdroje, které jsou zajímavé. Perspektivy ale nejsou funkcí zabezpečení, protože nezabezpečují objekty. Uživatel může i nadále dotazovat tabulku nebo sloupec, i když pro ně není viditelný.

Představte si příklad ve společnosti Adventure Works. Tato organizace má tabulku dimenzí datového skladu s názvem DimEmployee. Tabulka obsahuje sloupce, které ukládají jméno zaměstnance, telefon, e-mailovou adresu a plat. Uživatelé obecné sestavy sice uvidí jméno zaměstnance a kontaktní údaje, ale nemůžou zobrazit hodnoty platu. Pouze vedoucí pracovníci lidských zdrojů mají povoleno zobrazit hodnoty platu. Proto modelátor dat použil OLS k udělení přístupu ke sloupci platu pouze konkrétním pracovníkům lidských zdrojů.

Snímek obrazovky znázorňující zobrazení diagramu modelu v tabulce Zaměstnanec, která obsahuje sloupec s omezeným platem

OLS je funkce zděděná ze služeb Azure Analysis Services (AAS) a SQL Server Analysis Services (SSAS). Tato funkce je dostupná v Power BI Premium, aby poskytovala zpětnou kompatibilitu modelů migrovaných do Power BI. Z tohoto důvodu není možné v Power BI Desktopu úplně nastavit OLS.

Nastavení OLS

Pokud chcete nastavit OLS, začněte vytvořením rolí. Role v Power BI Desktopu můžete vytvářet stejným způsobem jako při nastavování RLS (zabezpečení na úrovni řádků). Dále musíte do rolí přidat pravidla OLS. Power BI Desktop tuto funkci nepodporuje, takže budete muset použít jiný přístup.

Pravidla OLS přidáte do modelu Power BI Desktopu pomocí koncového bodu XML for Analysis (XMLA). Koncové body XMLA jsou dostupné v Power BI Premium a poskytují přístup k modulu Analysis Services ve službě Power BI. Koncový bod pro čtení a zápis podporuje správu datových sad, správu životního cyklu aplikací, pokročilé modelování dat a další. Rozhraní API s povoleným koncovým bodem XMLA můžete použít ke skriptování, jako je například jazyk TMSL (Tabular Model Scripting Language) nebo modul SqlServer PowerShellu. Nebo můžete použít klientský nástroj, jako je SSMS. Existují také možnosti nástrojů třetích stran, jako je tabulkový editor, což je opensourcový nástroj pro vytváření, údržbu a správu modelů.

Ve výchozím nastavení nejsou všechny tabulky a sloupce modelu omezené. Můžete je nastavit na None (Žádné ) nebo Read (Číst). Pokud je tato možnost nastavená na Hodnotu Žádná, uživatelé přidružení k této roli nemají přístup k objektu. Pokud je nastavena možnost Číst, můžou uživatelé přidružení k této roli přistupovat k objektu. Pokud omezujete konkrétní sloupce, ujistěte se, že tabulka není nastavená na Žádné.

Po přidání pravidel OLS můžete model publikovat do služby Power BI. Stejný postup použijte pro Row-Level Security (RLS) k mapování účtů a bezpečnostních skupin na role.

Úvahy

Když uživatel nemá v sestavě Power BI oprávnění pro přístup k tabulce nebo sloupci, zobrazí se mu chybová zpráva. Zpráva je informuje, že objekt neexistuje.

Snímek obrazovky ukazuje chybovou zprávu Power BI Desktopu, když se vizuál sestavy pokusí dotazovat omezený sloupec.

Pečlivě zvažte, jestli je OLS správným řešením pro váš projekt. Když uživatel otevře sestavu Power BI, která se dotazuje na omezený objekt pro daného uživatele, může být chybová zpráva matoucí a výsledkem bude negativní zážitek. Podle nich to vypadá, že je sestava poškozená. Lepším přístupem může být vytvoření samostatné sady modelů nebo sestav pro různé požadavky příjemců sestav.

Omezení

Při implementaci OLS existují omezení.

RLS a OLS nemůžete kombinovat ve stejné roli. Pokud potřebujete použít zabezpečení na úrovni řádků (RLS) a OLS ve stejném modelu, vytvořte samostatné role určené pro každý typ. Zabezpečení na úrovni tabulky také není možné nastavit, pokud přeruší řetěz relací. Pokud například existují relace mezi tabulkami A a B a B a C, nemůžete zabezpečit tabulku B. Pokud je tabulka B zabezpečená, dotaz na tabulku A nemůže přenášet relace mezi tabulkou A a B a B a C. V tomto případě můžete nastavit samostatnou relaci mezi tabulkami A a C.

Diagram znázorňuje příklad relace popsaný v předchozím odstavci.

Relace modelu, které odkazují na zabezpečený sloupec, ale budou fungovat, pokud tabulka sloupce není zabezpečená.

A konečně, i když není možné zabezpečit opatření, opatření, které odkazuje na zabezpečené objekty, je automaticky omezeno.

Další informace naleznete v tématu Zabezpečení na úrovni objektů.