Zdieľať cez


Implementácia zabezpečenia na úrovni riadkov v sklade údajov v službe Microsoft Fabric

Vzťahuje sa na:✅ koncový bod analýzy SQL a sklad v službe Microsoft Fabric

Zabezpečenie na úrovni riadkov v sklade služby Fabric a v koncovom bode analýzy SQL vám umožňuje riadiť prístup k riadkom tabuľky databázy na základe rolí používateľov a predikátov. Ďalšie informácie nájdete v téme Zabezpečenie na úrovni riadkov v sklade údajov v službe Fabric.

Táto príručka vás prevedie krokmi na implementáciu zabezpečenia na úrovni riadkov v rámci skladu služby Microsoft Fabric Warehouse alebo koncového bodu analýzy SQL.

Požiadavky

Skôr než začnete, uistite sa, že máte nasledovné:

  1. Pracovný priestor služby Fabric s aktívnou kapacitou alebo skúšobnou kapacitou.
  2. Koncový bod analýzy Fabric Warehouse alebo SQL na lokalite Lakehouse.
  3. Práva správcu, člena alebo prispievateľa v pracovnom priestore alebo zvýšené povolenia pre koncový bod analýzy Warehouse alebo SQL.

1. Pripojenie

  1. Prihláste sa pomocou konta so zvýšeným prístupom v koncovom bode skladu alebo analýzy SQL. (Rola správcu/člena alebo prispievateľa v pracovnom priestore alebo povolenia na ovládanie v koncovom bode analýzy Skladu alebo SQL).
  2. Otvorte pracovný priestor služby Fabric a prejdite do koncového bodu skladu alebo analýzy SQL, kde chcete použiť zabezpečenie na úrovni riadkov.

2. Definovanie politík zabezpečenia

  1. Určte roly a predikáty, ktoré chcete použiť na riadenie prístupu k údajom. Roly definujú, kto môže získať prístup k údajom, a predikáty definujú kritériá prístupu.

  2. Vytvárať predikáty zabezpečenia. Predikáty zabezpečenia sú podmienky, ktoré určujú, ku ktorým riadkom má používateľ prístup. Môžete vytvoriť predikáty zabezpečenia ako vnorené funkcie s hodnotami z tabuliek.

    -- 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 
    
  3. Nahraďte YourSecurityPolicy ho názvom tvf_securitypredicate politiky názvom funkcie predikátu, sampleschema názvom schémy a sampletable názvom cieľovej tabuľky.

  4. V tomto cvičení sa predpokladá, že v tabuľke údajov sa nachádza stĺpec UserName_column, ktorý obsahuje príslušné meno používateľa vyplnený systémovou funkciou USER_NAME(). Nahraďte UserName_column ho stĺpcom v tabuľke, ktorý obsahuje mená používateľov.

  5. Nahraďte WHERE @UserName = USER_NAME(); ju klauzulou WHERE , ktorá zodpovedá požadovanému filtru zabezpečenia na základe predikte. Napríklad filtruje údaje, kde UserName stĺpec priradený k parametru @UserName zodpovedá výsledku systémovej funkcie USER_NAME().

    • Voliteľne príkaz WHERE obsahuje aj výnimku pre meno používateľa spravovanej identity, ktorá spracováva premiestnenie údajov, napríklad BatchProcess@contoso.com.
  6. Ak je to potrebné, zopakujte tieto kroky a vytvorte politiky zabezpečenia pre iné tabuľky.

3. Testovanie zabezpečenia na úrovni riadkov

  1. Prihláste sa do služby Fabric ako používateľ, ktorý je členom roly s priradenou politikou zabezpečenia. Pomocou nasledujúceho dotazu overte hodnotu, ktorej sa má v tabuľke zhodovať.

    SELECT USER_NAME() 
    
  2. Dotazovanie databázových tabuliek na overenie, či zabezpečenie na úrovni riadkov funguje podľa očakávania. Používateľom by sa mali zobrazovať iba údaje, ktoré spĺňajú predikát zabezpečenia definovaný v ich role. Napríklad:

    SELECT * FROM sampleschema.sampletable
    
  3. Podobné filtrované výsledky pre používateľa budú filtrované s inými aplikáciami, ktoré na prístup k databáze používajú overovanie Microsoft Entra. Ďalšie informácie nájdete v téme Overenie v spoločnosti Microsoft Entra ako alternatívu k overovania SQL v službe Microsoft Fabric.

4. Monitorovanie a spravovanie zabezpečenia na úrovni riadkov

Pravidelne monitorujte a aktualizujte politiky zabezpečenia na úrovni riadkov, ako sa vyvíjajú vaše požiadavky zabezpečenia. Sledujte priradenia rolí a uistite sa, že používatelia majú príslušný prístup.