Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:✅ punkt końcowy analizy SQL i magazyn w usłudze Microsoft Fabric
Zabezpieczenia na poziomie wierszy (RLS) w magazynie danych Fabric i punkcie końcowym analizy danych SQL pozwalają kontrolować dostęp do wierszy w tabeli bazy danych na podstawie ról użytkowników i predykatów. Więcej informacji można znaleźć w artykule Bezpieczeństwo na poziomie wiersza w Fabric Data Warehouse.
Ten przewodnik przeprowadzi Cię przez kroki implementowania zabezpieczeń na poziomie wiersza w usłudze Microsoft Fabric Warehouse lub punkcie końcowym analizy SQL.
Wymagania wstępne
Przed rozpoczęciem upewnij się, że masz następujące elementy:
- Obszar roboczy Fabric z aktywną pojemnością lub pojemnością próbną.
- Magazyn Fabric lub punkt końcowy analizy SQL w Lakehouse.
- Uprawnienia Administratora, Członka lub Współtwórcy w obszarze roboczym albo rozszerzone uprawnienia do obiektu Warehouse lub punktu końcowego analityki SQL.
1. Połącz
- Zaloguj się przy użyciu konta z podwyższonymi uprawnieniami dostępu do usługi Warehouse lub punktu końcowego SQL analytics. (Rola Administrator/Członek/Współautor w obszarze roboczym lub Uprawnienia sterowania w punkcie końcowym magazynu lub analizy SQL).
- Otwórz obszar roboczy Fabric i przejdź do magazynu danych lub punktu końcowego analizy SQL, w którym chcesz zastosować zabezpieczenia na poziomie wierszy.
2. Definiowanie zasad zabezpieczeń
Określ role i predykaty, których chcesz użyć do kontrolowania dostępu do danych. Role definiują, kto może uzyskiwać dostęp do danych, a predykaty definiują kryteria dostępu.
Tworzenie predykatów zabezpieczeń. Predykaty zabezpieczeń to warunki określające, do których wierszy użytkownik może uzyskać dostęp. Predykaty bezpieczeństwa można tworzyć jako funkcje tabelaryczne zdefiniowane bezpośrednio w instrukcji.
-- Creating schema for Security CREATE SCHEMA Security; GO -- Creating a function for the SalesRep evaluation CREATE FUNCTION Security.tvf_securitypredicate(@UserName AS varchar(50)) RETURNS TABLE WITH SCHEMABINDING AS RETURN SELECT 1 AS tvf_securitypredicate_result WHERE @UserName = USER_NAME() OR USER_NAME() = 'BatchProcess@contoso.com'; GO -- Using the function to create a Security Policy CREATE SECURITY POLICY YourSecurityPolicy ADD FILTER PREDICATE Security.tvf_securitypredicate(UserName_column) ON sampleschema.sampletable WITH (STATE = ON); GOZastąp
YourSecurityPolicynazwą zasad,tvf_securitypredicatenazwą funkcji predykatu,sampleschemanazwą schematu, asampletablenazwą tabeli docelowej.W tym ćwiczeniu założono, że w tabeli danych znajduje się kolumna,
UserName_column, która zawiera odpowiednią nazwę użytkownika wypełniona przez funkcję systemową USER_NAME(). Zastąp elementUserName_columnkolumną w tabeli zawierającą nazwy użytkowników.Zastąp
WHERE @UserName = USER_NAME();klauzuląWHERE, która odpowiada żądanemu filtrowi zabezpieczeń opartemu na predykatach. Na przykład to filtruje dane, w których kolumnaUserName, przypisana do parametru@UserName, odpowiada wynikowi funkcji systemowej USER_NAME().- Opcjonalnie instrukcja
WHEREzawiera również wyjątek dla nazwy użytkownika tożsamości zarządzanej, która obsługuje przenoszenie danych, na przykładBatchProcess@contoso.com.
- Opcjonalnie instrukcja
Powtórz te kroki, aby w razie potrzeby utworzyć zasady zabezpieczeń dla innych tabel.
3. Przetestuj zabezpieczenia na poziomie wierszy
Zaloguj się do Fabric jako użytkownik, który jest członkiem roli z przypisaną polityką zabezpieczeń. Użyj następującego zapytania, aby sprawdzić wartość, która powinna odpowiadać wartości w tabeli.
SELECT USER_NAME()Wykonaj zapytanie względem tabel bazy danych, aby sprawdzić, czy zabezpieczenia na poziomie wiersza działają zgodnie z oczekiwaniami. Użytkownicy powinni widzieć tylko dane, które spełniają predykat zabezpieczeń zdefiniowany w swojej roli. Na przykład:
SELECT * FROM sampleschema.sampletablePodobne odfiltrowane wyniki dla użytkownika będą filtrowane z innymi aplikacjami, które używają uwierzytelniania Firmy Microsoft Entra na potrzeby dostępu do bazy danych. Aby uzyskać więcej informacji, zobacz Microsoft Entra authentication as an alternative to SQL authentication in Microsoft Fabric (Uwierzytelnianie entra firmy Microsoft jako alternatywa dla uwierzytelniania SQL w usłudze Microsoft Fabric).
4. Monitorowanie i utrzymywanie zabezpieczeń na poziomie wiersza
Regularnie monitoruj i aktualizuj zasady zabezpieczeń na poziomie wierszy w miarę zmiany wymagań dotyczących zabezpieczeń. Śledź przypisania ról i upewnij się, że użytkownicy mają odpowiedni dostęp.