Delen via


Beveiliging op rijniveau implementeren in Microsoft Fabric-datawarehousing

Van toepassing op:✅ SQL Analytics-eindpunt en -magazijn in Microsoft Fabric

Met beveiliging op rijniveau (RLS) in Fabric Warehouse en SQL Analytics-eindpunt kunt u de toegang tot rijen in een databasetabel beheren op basis van gebruikersrollen en predicaten. Zie Beveiliging op rijniveau in Fabric-datawarehousing voor meer informatie.

In deze handleiding wordt u begeleid bij de stappen voor het implementeren van beveiliging op rijniveau in Microsoft Fabric Warehouse of SQL Analytics-eindpunt.

Vereisten

Voordat u begint, controleert u of u het volgende hebt:

  1. Een Fabric-werkruimte met een actieve capaciteit of proefcapaciteit.
  2. Een Fabric Warehouse- of SQL-analyse-eindpunt op een Lakehouse.
  3. De beheerders-, lid- of inzenderrechten voor de werkruimte, of verhoogde machtigingen voor het warehouse- of SQL-analyse-eindpunt.

1. Verbinding maken

  1. Meld u aan met een account met verhoogde toegang op het warehouse- of SQL-analyse-eindpunt. (De rol Beheerder/Lid/Inzender in de werkruimte of Beheermachtigingen voor het warehouse- of SQL-analyse-eindpunt).
  2. Open de werkruimte Fabric en navigeer naar het eindpunt warehouse of SQL-analyse waar u beveiliging op rijniveau wilt toepassen.

2. Beveiligingsbeleid definiëren

  1. Bepaal de rollen en predicaten die u wilt gebruiken om de toegang tot gegevens te beheren. Rollen bepalen wie toegang heeft tot gegevens en bepalen de criteria voor toegang.

  2. Maak beveiligingspredicaten. Beveiligingspredicaten zijn voorwaarden die bepalen tot welke rijen een gebruiker toegang heeft. U kunt beveiligingspredicaten maken als inline tabelwaardefuncties. In deze eenvoudige oefening wordt ervan uitgegaan dat er een kolom in uw gegevenstabel staat, UserName_columndie de relevante gebruikersnaam bevat die is ingevuld door de systeemfunctie 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. Vervang YourSecurityPolicy door uw beleidsnaam, tvf_securitypredicate door de naam van uw predicaatfunctie, sampleschema door de naam van uw schema en sampletable door de naam van de doeltabel.

  4. Vervang UserName_column door een kolom in de tabel die gebruikersnamen bevat.

  5. Vervang WHERE @UserName = USER_NAME(); door een WHERE component die overeenkomt met het gewenste beveiligingsfilter op basis van predicaat. Hiermee worden bijvoorbeeld de gegevens gefilterd waarin de UserName kolom, die is toegewezen aan de @UserName parameter, overeenkomt met het resultaat van de systeemfunctie USER_NAME().

  6. Herhaal deze stappen om zo nodig beveiligingsbeleid te maken voor andere tabellen.

3. Beveiliging op rijniveau testen

  1. Meld u aan bij Fabric als gebruiker die lid is van een rol met een gekoppeld beveiligingsbeleid. Gebruik de volgende query om te controleren of de waarde moet overeenkomen in de tabel.

    SELECT USER_NAME() 
    
  2. Voer een query uit op de databasetabellen om te controleren of beveiliging op rijniveau werkt zoals verwacht. Gebruikers moeten alleen gegevens zien die voldoen aan het beveiligingspredicaat dat is gedefinieerd in hun rol. Voorbeeld:

    SELECT * FROM sampleschema.sampletable
    
  3. Vergelijkbare gefilterde resultaten voor de gebruiker worden gefilterd met andere toepassingen die gebruikmaken van Microsoft Entra-verificatie voor databasetoegang. Zie Microsoft Entra-verificatie als alternatief voor SQL-verificatie in Microsoft Fabric voor meer informatie.

4. Beveiliging op rijniveau bewaken en onderhouden

Bewaak en werk uw beveiligingsbeleid op rijniveau regelmatig bij naarmate uw beveiligingsvereisten zich ontwikkelen. Houd roltoewijzingen bij en zorg ervoor dat gebruikers over de juiste toegang beschikken.