Sdílet prostřednictvím


Zabezpečení na úrovni objektů

platí pro: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Zabezpečení datového modelu začíná efektivní implementací rolí a filtrů na úrovni řádků, které definují uživatelská oprávnění k objektům a datům datového modelu. U tabulkových 1400 a vyšších modelů můžete také definovat zabezpečení na úrovni objektů (OLS), které zahrnuje zabezpečení na úrovni tabulky a zabezpečení na úrovni sloupců v objektu Role. Při konfiguraci jsou data tabulek a sloupců zabezpečená spolu s metadaty, která pomáhají zabránit škodlivému uživateli v zjišťování, že takový objekt existuje.

OLS je možné nakonfigurovat pomocí opensourcového tabulkového editoru, jazyka TMSL (Tabular Model Scripting Language) nebo tabulkového objektového modelu (TOM).

Zabezpečení na úrovni tabulky

Se zabezpečením na úrovni tabulky můžete nejen omezit přístup k datům tabulky, ale také metadata s citlivými názvy tabulek. Nastavte vlastnost metadataPermissiontřídy tablePermissions v objektu Roles na žádné.

V tomto příkladu je vlastnost metadataPermission třídy tablePermissions pro tabulku Product nastavena na hodnotu none:

"roles": [
  {
    "name": "Users",
    "description": "All allowed users to query the model",
    "modelPermission": "read",
    "tablePermissions": [
      {
        "name": "Product",
        "metadataPermission": "none"
      }
    ]
  }

Zabezpečení na úrovni sloupců

Podobně jako u zabezpečení na úrovni tabulky se zabezpečením na úrovni sloupců můžete omezit nejen přístup k datům sloupců, ale také metadata s citlivými názvy sloupců. Nastavte vlastnost metadataPermissiontřídy columnPermissions v objektu Roles na hodnotu none.

V tomto příkladu je vlastnost metadataPermission třídy columnPermissions pro sloupec Základní sazba v tabulce Employees nastavena na hodnotu none:

"roles": [
  {
    "name": "Users",
    "description": "All allowed users to query the model",
    "modelPermission": "read",
    "tablePermissions": [
      {
        "name": "Employee",
        "columnPermissions": [
          {
            "name": "Base Rate",
            "metadataPermission": "none"
          }
        ]
      }
    ]
  }

Restrictions

  • Zabezpečení na úrovni tabulky nelze pro model nastavit, pokud přeruší řetěz relací. V době návrhu se vygeneruje chyba. Pokud existují například relace mezi tabulkami A a B a B a C, nemůžete zabezpečit tabulku B. Pokud je tabulka B zabezpečená, nemůže dotaz na tabulku A přenášet relace mezi tabulkou A a B a C. V tomto případě je možné nakonfigurovat samostatnou relaci mezi tabulkami A a C.

    Zabezpečení na úrovni tabulky

  • Zabezpečení na úrovni řádků a zabezpečení na úrovni objektů nelze kombinovat z různých rolí, protože by mohlo zavádět nezamýšlený přístup k zabezpečeným datům. V době dotazu se vygeneruje chyba pro uživatele, kteří jsou členy takové kombinace rolí.

  • Dynamické výpočty (míry, klíčové ukazatele výkonu, Podrobné řádky) se automaticky omezují, pokud odkazují na zabezpečenou tabulku nebo sloupec. Přestože neexistuje žádný mechanismus pro explicitní zabezpečení míry, je možné implicitně zabezpečit míru aktualizací výrazu tak, aby odkazoval na zabezpečenou tabulku nebo sloupec.

  • Relace, které odkazují na zabezpečený sloupec, fungují za podmínky, že tabulka, ve které se tento sloupec nachází, není zabezpečená.

Power BI

Vizualizace odkazující na sémantický objekt modelu s nakonfigurovaným OLS zobrazují stejnou zprávu jako u odstraněného nebo neexistujícího objektu.

Zpráva OLS ve vizualizacích Power BI

Omezení

Modely s OLS nakonfigurovanými pro jeden nebo více objektů tabulky nebo sloupců nejsou podporovány těmito funkcemi Power BI:

  • Vizualizace Q&A
  • Vizualizace rychlých přehledů
  • Inteligentní vizualizace vyprávění
  • Galerie datových typů Excelu

Viz také

Roles
Objekt role (TMSL)
Jazyk TMSL (Tabular Model Scripting Language)
Tabulkový objektový model (TOM).