Del via


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:

  1. Et Fabric-arbejdsområde med en aktiv kapacitet eller en prøveversionskapacitet.
  2. Et Fabric Warehouse- eller SQL Analytics-slutpunkt på en Lakehouse.
  3. Enten administrator-, medlems- eller bidragyderrettigheder til arbejdsområdet eller udvidede tilladelser til slutpunktet for lager- eller SQL-analyse.

1. Opret forbindelse

  1. 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).
  2. Åbn arbejdsområdet Fabric, og naviger til slutpunktet for Warehouse eller SQL Analytics, hvor du vil anvende sikkerhed på rækkeniveau.

2. Definer sikkerhedspolitikker

  1. 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.

  2. 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. Denne enkle øvelse forudsætter, at der er en kolonne i din datatabel, , UserName_columnder indeholder det relevante brugernavn, som udfyldes af systemfunktionen 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 
    
  3. Erstat YourSecurityPolicy med dit politiknavn tvf_securitypredicate med navnet på prædikatfunktionen sampleschema med navnet på skemaet og sampletable med navnet på destinationstabellen.

  4. Erstat UserName_column med en kolonne i tabellen, der indeholder brugernavne.

  5. Erstat WHERE @UserName = USER_NAME(); med en WHERE delsætning, der svarer til det ønskede prædikatbaserede sikkerhedsfilter. Dette filtrerer f.eks. de data, hvor kolonnen UserName , der er knyttet til parameteren, svarer til @UserName resultatet af systemfunktionen USER_NAME().

  6. Gentag disse trin for at oprette sikkerhedspolitikker for andre tabeller, hvis det er nødvendigt.

3. Test sikkerhed på rækkeniveau

  1. 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() 
    
  2. 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
    
  3. Lignende filtrerede resultater for brugeren filtreres sammen med andre programmer, der bruger Microsoft Entra-godkendelse til databaseadgang.

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.