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é:
- Pracovný priestor služby Fabric s aktívnou kapacitou alebo skúšobnou kapacitou.
- Koncový bod analýzy Fabric Warehouse alebo SQL na lokalite Lakehouse.
- 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
- 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).
- 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
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.
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
Nahraďte
YourSecurityPolicy
ho názvomtvf_securitypredicate
politiky názvom funkcie predikátu,sampleschema
názvom schémy asampletable
názvom cieľovej tabuľky.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ďteUserName_column
ho stĺpcom v tabuľke, ktorý obsahuje mená používateľov.Nahraďte
WHERE @UserName = USER_NAME();
ju klauzulouWHERE
, ktorá zodpovedá požadovanému filtru zabezpečenia na základe predikte. Napríklad filtruje údaje, kdeUserName
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íkladBatchProcess@contoso.com
.
- Voliteľne príkaz
Ak je to potrebné, zopakujte tieto kroky a vytvorte politiky zabezpečenia pre iné tabuľky.
3. Testovanie zabezpečenia na úrovni riadkov
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()
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
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.