Implementowanie zabezpieczeń na poziomie wiersza w magazynowaniu danych w usłudze Microsoft Fabric
Dotyczy:✅ punkt końcowy analizy SQL i magazyn w usłudze Microsoft Fabric
Zabezpieczenia na poziomie wiersza (RLS) w magazynie sieci szkieletowej i punkcie końcowym analizy SQL umożliwiają kontrolowanie dostępu do wierszy w tabeli bazy danych na podstawie ról użytkownika i predykatów. Aby uzyskać więcej informacji, zobacz Zabezpieczenia na poziomie wiersza w magazynowaniu danych sieci szkieletowej.
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 sieci szkieletowej z aktywną pojemnością lub pojemnością próbną.
- Punkt końcowy analizy usługi Fabric Warehouse lub SQL w usłudze Lakehouse.
- Uprawnienia administratora, członka lub współautora w obszarze roboczym albo uprawnienia z podwyższonym poziomem uprawnień w punkcie końcowym magazynu lub analizy SQL.
1. Połącz
- Zaloguj się przy użyciu konta z podwyższonym poziomem uprawnień dostępu w punkcie końcowym magazynu lub analizy SQL. (Rola Administrator/Członek/Współautor w obszarze roboczym lub Uprawnienia sterowania w punkcie końcowym magazynu lub analizy SQL).
- Otwórz obszar roboczy Sieć szkieletowa i przejdź do punktu końcowego magazynu lub analizy SQL, w którym chcesz zastosować zabezpieczenia na poziomie wiersza.
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 zabezpieczeń można tworzyć jako wbudowane funkcje tabel. W tym prostym ćwiczeniu przyjęto założenie, że w tabeli danych znajduje się kolumna zawierająca
UserName_column
odpowiednią nazwę użytkownika wypełniona przez funkcję systemową USER_NAME().-- 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(); 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); GO
Zastąp
YourSecurityPolicy
ciąg nazwą zasad,tvf_securitypredicate
nazwą funkcji predykatu,sampleschema
nazwą schematu isampletable
nazwą tabeli docelowej.Zastąp
UserName_column
ciąg kolumną w tabeli, która zawiera nazwy użytkowników.Zastąp
WHERE @UserName = USER_NAME();
element klauzulą zgodnąWHERE
z żądanym filtrem zabezpieczeń opartym na predykacie. Na przykład filtruje dane, w których kolumnaUserName
jest mapowana na@UserName
parametr, odpowiada wynikowi funkcji systemowej USER_NAME().Powtórz te kroki, aby w razie potrzeby utworzyć zasady zabezpieczeń dla innych tabel.
3. Testowanie zabezpieczeń na poziomie wiersza
Zaloguj się do sieci szkieletowej jako użytkownik będący członkiem roli ze skojarzonymi zasadami zabezpieczeń. Użyj następującego zapytania, aby zweryfikować wartość, która powinna być dopasowana 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.sampletable
Podobne 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 wiersza w miarę rozwoju wymagań dotyczących zabezpieczeń. Śledź przypisania ról i upewnij się, że użytkownicy mają odpowiedni dostęp.