Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Gäller för:✅ SQL-analysslutpunkt och lager i Microsoft Fabric
Med säkerhet på radnivå (RLS) i Fabric Warehouse och SQL-analysslutpunkten kan du styra åtkomsten till rader i en databastabell baserat på användarroller och predikat. Mer information finns i Säkerhet på radnivå i Fabric-datalager.
Den här guiden beskriver stegen för att implementera säkerhet på radnivå i Microsoft Fabric Warehouse eller SQL-analysslutpunkten.
Prerequisites
Kontrollera att du har följande innan du börjar:
- En Fabric-arbetsyta med en aktiv kapacitet eller testkapacitet.
- En Fabric Warehouse- eller SQL-analysslutpunkt på en Lakehouse.
- Antingen administratörs-, medlems- eller deltagarbehörigheter på arbetsytan eller utökade behörigheter på slutpunkten för lager- eller SQL-analys.
1. Anslut
- Logga in med ett konto med förhöjd åtkomst på slutpunkten för lager- eller SQL-analys. (Antingen administratörs-/medlems-/medverkarens roll på arbetsytan eller behörighetskontroll vid datalagrets eller SQL-analysens slutpunkt).
- Öppna Fabric-arbetsytan och navigera till datalager- eller SQL-analysens slutpunkt där du vill tillämpa säkerhet på radnivå.
2. Definiera säkerhetsprinciper
Fastställ de roller och predikater som du vill använda för att styra åtkomsten till data. Roller definierar vem som kan komma åt data och predikat definierar villkoren för åtkomst.
Skapa säkerhetspredikat. Säkerhetspredikat är villkor som avgör vilka rader en användare kan komma åt. Du kan skapa säkerhetspredikat som infogade tabellvärdesfunktioner.
-- 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); GOErsätt
YourSecurityPolicymed ditt principnamn,tvf_securitypredicatemed namnet på din predikatfunktion,sampleschemamed namnet på schemat ochsampletablemed namnet på måltabellen.Den här övningen förutsätter att det finns en kolumn i datatabellen,
UserName_column, som innehåller det relevanta användarnamnet, som fylls i av systemfunktionen USER_NAME(). ErsättUserName_columnmed en kolumn i tabellen som innehåller användarnamn.Ersätt
WHERE @UserName = USER_NAME();med enWHEREsats som matchar önskat predikatbaserat säkerhetsfilter. Detta filtrerar till exempel de data därUserNamekolumnen, mappad till parametern@UserName, matchar resultatet av systemfunktionen USER_NAME().- Alternativt innehåller -instruktionen
WHEREäven ett undantag för användarnamnet för den hanterade identiteten som hanterar dataflytt,BatchProcess@contoso.comtill exempel .
- Alternativt innehåller -instruktionen
Upprepa de här stegen för att skapa säkerhetsprinciper för andra tabeller om det behövs.
3. Testa säkerhet på radnivå
Logga in på Fabric som en användare som är medlem i en roll med en associerad säkerhetspolicy. Använd följande fråga för att verifiera det värde som ska matchas i tabellen.
SELECT USER_NAME()Fråga databastabellerna för att kontrollera att säkerhet på radnivå fungerar som förväntat. Användare bör endast se data som uppfyller säkerhetspredikatet som definierats i deras roll. Till exempel:
SELECT * FROM sampleschema.sampletableLiknande filtrerade resultat för användaren filtreras med andra program som använder Microsoft Entra-autentisering för databasåtkomst. Mer information finns i Microsoft Entra-autentisering som ett alternativ till SQL-autentisering i Microsoft Fabric.
4. Övervaka och underhålla säkerhet på radnivå
Övervaka och uppdatera regelbundet dina säkerhetsprinciper på radnivå när dina säkerhetskrav utvecklas. Håll reda på rolltilldelningar och se till att användarna har rätt åtkomst.