Udostępnij przez


Zabezpieczenia na poziomie obiektu

Dotyczy: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Zabezpieczenia modelu danych zaczynają się od efektywnego implementowania ról i filtrów na poziomie wiersza w celu zdefiniowania uprawnień użytkownika do obiektów i danych modelu danych. W przypadku modeli tabelarycznych 1400 i wyższych można również zdefiniować zabezpieczenia na poziomie obiektu (OLS), które obejmują zabezpieczenia na poziomie tabeli i zabezpieczenia na poziomie kolumny w obiekcie Role. Po skonfigurowaniu dane tabel i kolumn są zabezpieczone wraz z metadanymi, aby zapobiec wykryciu, że taki obiekt istnieje przez złośliwego użytkownika.

Usługę OLS można skonfigurować przy użyciu edytora tabelarycznego typu open source, języka TMSL (Tabular Model Scripting Language) lub modelu obiektów tabelarycznych (TOM).

Zabezpieczenia na poziomie tabeli

Zabezpieczenia na poziomie tabeli umożliwiają nie tylko ograniczenie dostępu do danych tabeli, ale także poufnych metadanych nazw tabel. Ustaw właściwość metadataPermission klasy tablePermissions w obiekcie Roles na wartość none.

W tym przykładzie właściwość metadataPermission klasy tablePermissions dla tabeli Product ma wartość none:

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

Zabezpieczenia na poziomie kolumny

Podobnie jak w przypadku zabezpieczeń na poziomie tabeli, z zabezpieczeniami na poziomie kolumny można nie tylko ograniczyć dostęp do danych kolumn, ale także poufnych metadanych nazwy kolumny. Ustaw właściwość metadataPermission klasy columnPermissions w obiekcie Roles na brak.

W tym przykładzie właściwość metadataPermission klasy columnPermissions dla kolumny Rate base w tabeli Employees jest ustawiona na brak:

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

Restrictions

  • Nie można ustawić zabezpieczeń na poziomie tabeli dla modelu, jeśli przerywa łańcuch relacji. W czasie projektowania jest generowany błąd. Jeśli na przykład istnieją relacje między tabelami A i B i B i C, nie można zabezpieczyć tabeli B. Jeśli tabela B jest zabezpieczona, zapytanie w tabeli A nie może przesyłania relacji między tabelami A i B i B i C. W takim przypadku można skonfigurować oddzielną relację między tabelami A i C.

    Zabezpieczenia na poziomie tabeli

  • Zabezpieczenia na poziomie wiersza i zabezpieczenia na poziomie obiektu nie mogą być łączone z różnych ról, ponieważ może to spowodować niezamierzony dostęp do zabezpieczonych danych. Błąd jest generowany w czasie zapytania dla użytkowników, którzy są członkami takiej kombinacji ról.

  • Obliczenia dynamiczne (miary, wskaźniki KPI, DetailRows) są automatycznie ograniczone, jeśli odwołują się do zabezpieczonej tabeli lub kolumny. Chociaż nie ma mechanizmu jawnego zabezpieczenia miary, można niejawnie zabezpieczyć miarę przez zaktualizowanie wyrażenia w celu odwoływania się do zabezpieczonej tabeli lub kolumny.

  • Relacje odwołujące się do zabezpieczonej kolumny działają pod warunkiem, że tabela, w której znajduje się kolumna, nie jest zabezpieczona.

Power BI

Wizualizacje odwołujące się do obiektu modelu semantycznego ze skonfigurowanym systemem OLS wyświetlają ten sam komunikat co dla usuniętego lub nieistniejącego obiektu.

Komunikat OLS w wizualizacjach usługi Power BI

Ograniczenia

Modele z usługą OLS skonfigurowane dla co najmniej jednego obiektu tabeli lub kolumny nie są obsługiwane w przypadku następujących funkcji usługi Power BI:

  • Wizualizacje pytań i odpowiedzi
  • Szybkie wizualizacje szczegółowych informacji
  • Inteligentne wizualizacje narracji
  • Galeria typów danych programu Excel

Zobacz także

Roles
Role obiekt (TMSL)
Tabularny język skryptowy modelu (TMSL)
Tabelaryczny model obiektów (TOM).