Implementer sikkerhed på rækkeniveau i Microsoft Fabric-datawarehousing
Gælder for:✅ SQL Analytics-slutpunkt og warehouse i Microsoft Fabric
Sikkerhed på rækkeniveau i Fabric Warehouse- og SQL-analyseslutpunktet giver dig mulighed for at styre adgangen til rækker i en databasetabel baseret på brugerroller og prædikater. Du kan få flere oplysninger under Sikkerhed på rækkeniveau i Fabric-datawarehousing.
Denne vejledning fører dig gennem trinnene til implementering af sikkerhed på rækkeniveau i Microsoft Fabric Warehouse- eller SQL Analytics-slutpunktet.
Forudsætninger
Før du begynder, skal du sørge for, at du har følgende:
- Et Fabric-arbejdsområde med en aktiv kapacitet eller en prøveversionskapacitet.
- Et Fabric Warehouse- eller SQL Analytics-slutpunkt på en Lakehouse.
- Enten administrator-, medlems- eller bidragyderrettigheder til arbejdsområdet eller udvidede tilladelser til slutpunktet for lager- eller SQL-analyse.
1. Opret forbindelse
- Log på ved hjælp af en konto med administratoradgang på lager- eller SQL Analytics-slutpunktet. (Enten rollen Administrator/Medlem/Bidragyder i arbejdsområdet eller Kontroltilladelser til lager- eller SQL-analyseslutpunktet).
- Åbn arbejdsområdet Fabric, og naviger til slutpunktet for Warehouse eller SQL Analytics, hvor du vil anvende sikkerhed på rækkeniveau.
2. Definer sikkerhedspolitikker
Bestem de roller og prædikater, du vil bruge til at styre adgangen til data. Roller definerer, hvem der kan få adgang til data, og prædikater definerer kriterierne for adgang.
Opret sikkerheds prædikater. Sikkerheds prædikater er betingelser, der bestemmer, hvilke rækker en bruger kan få adgang til. Du kan oprette sikkerhedsforudsætninger som indbyggede tabelværdifunktioner.
-- 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); GO
Erstat
YourSecurityPolicy
med dit politiknavntvf_securitypredicate
med navnet på prædikatfunktionensampleschema
med navnet på skemaet ogsampletable
med navnet på destinationstabellen.I denne øvelse forudsættes det, at der er en kolonne i datatabellen,
UserName_column
, som indeholder det relevante brugernavn, som udfyldes af systemfunktionen USER_NAME(). ErstatUserName_column
med en kolonne i tabellen, der indeholder brugernavne.Erstat
WHERE @UserName = USER_NAME();
med enWHERE
delsætning, der svarer til det ønskede prædikatbaserede sikkerhedsfilter. Dette filtrerer f.eks. de data, hvor kolonnenUserName
, der er knyttet til parameteren, svarer til@UserName
resultatet af systemfunktionen USER_NAME().-
WHERE
-sætningen indeholder også en undtagelse for brugernavnet for den administrerede identitet, der håndterer dataflytning, f.eks.BatchProcess@contoso.com
.
-
Gentag disse trin for at oprette sikkerhedspolitikker for andre tabeller, hvis det er nødvendigt.
3. Test sikkerhed på rækkeniveau
Log på Fabric som en bruger, der er medlem af en rolle med en tilknyttet sikkerhedspolitik. Brug følgende forespørgsel til at bekræfte den værdi, der skal matches i tabellen.
SELECT USER_NAME()
Forespørg databasetabellerne for at kontrollere, at sikkerhed på rækkeniveau fungerer som forventet. Brugerne bør kun se data, der opfylder det sikkerhedskondikat, der er defineret i deres rolle. Eksempler:
SELECT * FROM sampleschema.sampletable
Lignende filtrerede resultater for brugeren filtreres sammen med andre programmer, der bruger Microsoft Entra-godkendelse til databaseadgang. Du kan få flere oplysninger under Microsoft Entra-godkendelse som et alternativ til SQL-godkendelse i Microsoft Fabric.
4. Overvåg og bevar sikkerhed på rækkeniveau
Overvåg og opdater jævnligt dine sikkerhedspolitikker på rækkeniveau, efterhånden som dine sikkerhedskrav udvikler sig. Hold styr på rolletildelinger, og sørg for, at brugerne har den rette adgang.