Ograniczanie dostępu do obiektów modelu usługi Power BI

Ukończone

Jako modeler danych można rozważyć ograniczenie dostępu użytkowników do obiektów modelu usługi Power BI. Zabezpieczenia na poziomie obiektu (OLS) mogą ograniczać dostęp do określonych tabel i kolumn oraz ich metadanych. Zwykle stosuje się usługę OLS do zabezpieczania obiektów, które przechowują poufne dane, takie jak dane osobowe pracowników.

Gdy usługa Power BI wymusza usługę OLS, nie tylko ogranicza dostęp do tabel i kolumn, ale także może zabezpieczyć metadane. W przypadku zabezpieczania metadanych nie można pobrać informacji o zabezpieczonych tabelach i kolumnach przy użyciu dynamicznych widoków zarządzania (DMV).

Ważne

Modele tabelaryczne mogą ukrywać tabele i kolumny (i inne obiekty) przy użyciu perspektywy. Perspektywa definiuje widoczne podzestawy obiektów modelu, aby pomóc w zapewnieniu konkretnego fokusu dla autorów raportów. Perspektywy mają na celu zmniejszenie złożoności modelu, pomagając autorom raportów znaleźć interesujące zasoby. Jednak perspektywy nie są funkcją zabezpieczeń, ponieważ nie zabezpieczają obiektów. Użytkownik może nadal wykonywać zapytania dotyczące tabeli lub kolumny, nawet jeśli nie są one widoczne dla nich.

Rozważmy przykład w firmie Adventure Works. Ta organizacja ma tabelę wymiarów magazynu danych o nazwie DimEmployee. Tabela zawiera kolumny, które przechowują nazwę pracownika, telefon, adres e-mail i wynagrodzenie. Użytkownicy raportów ogólnych widzą imię i nazwisko pracownika i dane kontaktowe, ale nie mogą wyświetlać wartości wynagrodzenia. Tylko starsi pracownicy kadr mogą widzieć wartości wynagrodzeń. W związku z tym modeler danych użył usługi OLS do udzielenia dostępu do kolumny wynagrodzenia tylko określonym pracownikom działu kadr.

Zrzut ekranu przedstawiający widok diagramu modelu tabeli Employee (Pracownik), który zawiera kolumnę z ograniczeniami Salary (Wynagrodzenie).

OLS to funkcja dziedziczona z usług Azure Analysis Services (AAS) i SQL Server Analysis Services (SSAS). Funkcja jest dostępna w usłudze Power BI Premium, aby zapewnić zgodność z poprzednimi wersjami modeli migrowanych do usługi Power BI. Z tego powodu nie można całkowicie skonfigurować usługi OLS w programie Power BI Desktop.

Konfigurowanie usługi OLS

Aby skonfigurować usługę OLS, zacznij od utworzenia ról. Role w programie Power BI Desktop można tworzyć w taki sam sposób, jak podczas konfigurowania zabezpieczeń na poziomie wiersza. Następnie należy dodać reguły OLS do ról. Ta funkcja nie jest obsługiwana przez program Power BI Desktop, dlatego należy podjąć inne podejście.

Reguły OLS są dodawane do modelu programu Power BI Desktop przy użyciu punktu końcowego XML for Analysis (XMLA). Punkty końcowe XMLA są dostępne w usłudze Power BI Premium i zapewniają dostęp do aparatu usług Analysis Services w usługa Power BI. Punkt końcowy odczytu/zapisu obsługuje zarządzanie zestawami danych, zarządzanie cyklem życia aplikacji, zaawansowane modelowanie danych i nie tylko. Do obsługi skryptów można użyć interfejsów API z obsługą punktów końcowych XMLA, takich jak tabelaryczny język skryptowy modelu (TMSL) lub moduł SqlServer programu PowerShell. Możesz też użyć narzędzia klienckiego, takiego jak program SSMS. Istnieją również opcje narzędzi innych firm, takie jak Tabular Editor, które jest narzędziem typu open source do tworzenia, konserwacji i zarządzania modelami.

Domyślnie wszystkie tabele i kolumny modelu nie są ograniczone. Można je ustawić na Wartość Brak lub Odczyt. Jeśli jest ustawiona wartość Brak, użytkownicy skojarzeni z rolą nie mogą uzyskać dostępu do obiektu. Po ustawieniu opcji Odczyt użytkownicy skojarzeni z rolą mogą uzyskiwać dostęp do obiektu. Jeśli ograniczasz określone kolumny, upewnij się, że tabela nie jest ustawiona na Wartość Brak.

Po dodaniu reguł OLS można opublikować model w usługa Power BI. Użyj tego samego procesu zabezpieczeń na poziomie wiersza, aby mapować konta i grupy zabezpieczeń na role.

Kwestie wymagające rozważenia

W raporcie usługi Power BI, gdy użytkownik nie ma uprawnień dostępu do tabeli lub kolumny, zostanie wyświetlony komunikat o błędzie. Komunikat poinformuje ich, że obiekt nie istnieje.

Zrzut ekranu przedstawia komunikat o błędzie programu Power BI Desktop, gdy wizualizacja raportu próbuje wysłać zapytanie do kolumny z ograniczeniami.

Należy dokładnie rozważyć, czy usługa OLS jest właściwym rozwiązaniem dla projektu. Gdy użytkownik otworzy raport usługi Power BI, który wysyła zapytanie do obiektu z ograniczeniami (dla nich), komunikat o błędzie może być mylący i spowoduje negatywne środowisko. Dla nich wygląda na to, że raport jest uszkodzony. Lepszym rozwiązaniem może być utworzenie oddzielnego zestawu modeli lub raportów dla różnych wymagań konsumentów raportu.

Ograniczenia

Podczas implementowania usługi OLS należy pamiętać o ograniczeniach.

Nie można mieszać zabezpieczeń na poziomie wiersza i ols w tej samej roli. Jeśli musisz zastosować zabezpieczenia na poziomie wiersza i ols w tym samym modelu, utwórz oddzielne role dedykowane dla każdego typu. Ponadto nie można ustawić zabezpieczeń na poziomie tabeli, jeśli przerywa łańcuch relacji. 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 B i C. W takim przypadku można skonfigurować oddzielną relację między tabelami A i C.

Diagram przedstawia przykład relacji opisany w poprzednim akapicie.

Jednak relacje modelu odwołujące się do zabezpieczonej kolumny będą działać, zapewniając, że tabela kolumny nie jest zabezpieczona.

Na koniec, chociaż nie można zabezpieczyć miar, miara odwołująca się do zabezpieczonych obiektów jest automatycznie ograniczona.

Aby uzyskać więcej informacji, zobacz Zabezpieczenia na poziomie obiektu.