Muistiinpano
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää kirjautua sisään tai vaihtaa hakemistoa.
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää vaihtaa hakemistoa.
Rivitason turvallisuus (RLS) on OneLake-tietoturvan ominaisuus, joka mahdollistaa rivitason datarajoitusten määrittämisen OneLakeen tallennetulle taulukkodatalle. Käyttäjät voivat määrittää OneLakessa rooleja, jotka sisältävät sääntöjä tietorivien suodattamisesta kyseisen roolin jäsenten osalta. Kun RLS-roolin jäsen siirtyy kyselylle näistä tiedoista, RLS-säännöt arvioidaan ja vain sallitut rivit palautetaan. OneLakessa määriteltyjä RLS-sääntöjä valvotaan johdonmukaisesti Fabric-moottoreiden ja valtuutettujen kolmansien osapuolten moottoreiden välillä OneLake-rajapintojen kautta, varmistaen, että yksi politiikkamääritelmä soveltuu kyselymoottorista riippumatta.
Ennakkovaatimukset
- Tieto, joka tukee OneLake-turvallisuutta. Listan tuetuista tuotetyypeistä löydät kohdasta Aloita OneLake-tietoturvan kanssa.
- Tutustu tunnetut rajoitukset -osioon.
Ymmärrä rivitason tietoturva
OneLake-suojauksen rivitason suojausta käytetään kahdella tavalla:
- Suodatetut taulukot Fabric-moottoreissa: Kyselyt tuettujen Fabric-moottoreiden luetteloon, kuten Spark-muistikirjat, seurauksena käyttäjä näkee vain rivit, jotka he saavat nähdä RLS-sääntöjen mukaisesti.
- Estetty pääsy tauluihin: Taulukoita, joihin sovelletaan RLS-sääntöjä, ei voi lukea kuin tuettujen Fabric-moottoreiden tai valtuutettujen kolmannen osapuolen moottoreiden kautta, jotka valvovat OneLake-turvallisuutta. Pääsy on estetty luvattomilta moottoreilta.
Suodatetuissa taulukoissa käytetään seuraavia toimintoja:
- Rivitason suojauksen säännöt eivät rajoita käyttöoikeuksia järjestelmänvalvoja-, jäsen- ja osallistujaroolien käyttäjiltä.
- Jos rivitason suojauksen säännösessä on ristiriita sen määritetyn taulukon kanssa, kysely epäonnistuu eikä rivejä palauteta. Jos esimerkiksi RLS-sääntö viittaa sarakkeeseen, joka ei ole osa taulukkoa.
- RLS-taulukoiden kyselyt epäonnistuvat, ja käyttäjä on osa kahta eri roolia, ja toisella rooleista on saraketason suojaus (CLS).
- RLS-sääntöjä voidaan pakottaa vain objekteille, jotka ovat Delta-parquet-taulukoita.
- RLS-säännöt, joita käytetään muissa kuin Delta-taulukon objekteissa, estävät sen sijaan pääsyn koko taulukkoon roolin jäseniltä.
- Taulukon käyttö saattaa olla estetty, jos RLS-lauseke sisältää syntaksivirheitä, jotka estävät sen arvioinnin.
Pääsy valtuutettujen moottoreiden tietoihin
tuetut Fabric moottorit voivat käyttää taulukoita, joihin sovelletaan RLS-sääntöjä.
Vinkki
- Jos haluat käyttää dataa SQL-analytiikkapäätepisteestä, ota käyttöön OneLake-turvallisuus SQL-analytiikkapäätepisteelle.
- Semanttisen mallin datan saamiseksi semanttisen mallin täytyy käyttää Direct Lake on OneLake.
Valtuutetut kolmannen osapuolen moottorit voivat hakea tehokkaat käyttöoikeusmääritelmät, mukaan lukien RLS-predikaatit, valtuutettujen moottorirajapintojen kautta. OneLake palauttaa moottorista riippumattoman, esilasketun tehokkaan pääsyn pyytävälle käyttäjälle, ja valtuutettu moottori valvoo politiikkoja kyselyn aikana. OneLake on edelleen ainoa totuuden lähde turvallisuuspolitiikassa.
Lisätietoja löytyy kohdasta Kolmannen osapuolen moottorin integroiminen OneLake-turvallisuuteen.
Rivitason suojaussääntöjen määrittäminen
Voit määrittää rivitason suojaussääntöjä minkä tahansa OneLake-käyttöoikeusroolin osana, joka myöntää oikeuden taulukon tietoihin Delta-parquet-muodossa. Rivit ovat vain taulukkomuotoisiin tietoihin liittyvä käsite, joten RLS-määrityksiä ei sallita muille kuin taulukoiden kansioille tai jäsentämättömille tiedoille.
RLS-säännöt käyttävät SQL-syntaksia määrittämään rivit, jotka käyttäjä voi nähdä. Tämä syntaksi on SQL SELECT -lausekkeen muodossa ja RLS-säännöt on määritetty WHERE-lauseessa. RLS-säännöt tukevat vain SQL-kielen alijoukkoa, joka on määritetty syntaksisäännöissä . Jos kyselyt sisältävät virheellisen RLS-syntaksin tai RLS-syntaksin, joka ei vastaa pohjana olevaa taulukkoa, käyttäjille ei näytetä rivejä tai kyselyvirheitä SQL-analytiikan päätepisteessä.
Parhaana käytäntönä on välttää epämääräisten tai liian monimutkaisten rivitason suojauksen lausekkeiden käyttöä. Vahvasti tyypitetyt lausekkeet, joissa on kokonaisluku- tai merkkijonohakuja "=", ovat turvallisimpia ja helpoimmin ymmärrettäviä.
Määritä RLS-säännöt seuraavien vaiheiden avulla:
Siirry Lakehouse-luoksesi ja valitse Manage OneLake security.
Valitse aiemmin luotu rooli, jolle haluat määrittää taulukon tai kansion suojauksen, tai luo uusi rooli valitsemalla Uusi.
Roolitiedot -sivulla valitse lisää vaihtoehtoja (...) taulukon vierestä, johon haluat määritellä RLS:n, ja valitse sitten Riviturva.
Kirjoita SQL-lauseke sen määrittämiseksi, mitä rivejä haluat käyttäjien näkevän koodieditorissa. Katso ohjeet Syntax rules -osiosta.
Vahvista rivin suojaussäännöt valitsemalla Tallenna.
Syntaksisäännöt
Kaikki rivitason suojaussäännöt ovat seuraavassa muodossa:
SELECT * FROM {schema_name}.{table_name} WHERE {column_level_boolean_1}{column_level_boolean_2}...{column_level_boolean_N}
Esimerkki:
SELECT * FROM Sales WHERE Amount>'50000' AND State='CA'
Rivitason suojaussäännön merkkien enimmäismäärä on 1 000.
Tuetut operaattorit
Rivitason suojaussäännöt tukevat seuraavaa operaattoreiden ja avainsanojen luetteloa:
| Operaattori | Kuvaus |
|---|---|
| = (yhtä suuri kuin) | Antaa tulokseksi true, jos nämä kaksi arvoa ovat samaa tietotyyppiä ja tarkat vastaavuudet. |
| <> (eri suuri kuin) | Antaa tulokseksi true, jos nämä kaksi arvoa eivät ole samaa tietotyyppiä eivätkä täysin vastaavuuksia. |
| > (suurempi kuin) | Antaa tulokseksi true, jos sarakkeen arvo on suurempi kuin arviointiarvo. Merkkijonoarvojen osalta tämä operaattori käyttää bittitasolla vertailua selvittääkseen, onko yksi merkkijono suurempi kuin toinen. |
| >= (suurempi tai yhtä suuri kuin) | Antaa tulokseksi true, jos sarakkeen arvo on suurempi tai yhtä suuri kuin arviointiarvo. Merkkijonoarvojen osalta tämä operaattori käyttää bittitasolla vertailua määrittääkseen, onko yksi merkkijono suurempi vai yhtä suuri kuin toinen. |
| < (pienempi kuin) | Antaa tulokseksi true, jos sarakkeen arvo on pienempi kuin arviointiarvo. Merkkijonoarvojen osalta tämä operaattori käyttää bittitasolla vertailua selvittääkseen, onko yksi merkkijono pienempi kuin toinen. |
| <= (pienempi kuin tai yhtä suuri kuin) | Antaa tulokseksi true, jos sarakkeen arvo on pienempi tai yhtä suuri kuin arviointiarvo. Merkkijonoarvojen osalta tämä operaattori käyttää bittitasolla vertailua määrittääkseen, onko yksi merkkijono pienempi vai yhtä suuri kuin toinen. |
| IN | Antaa tulokseksi true, jos jokin arviointiarvoista on samaa tietotyyppiä ja vastaa tarkasti sarakkeen arvoa. |
| EI | Antaa tulokseksi true, jos jokin arviointiarvo ei ole samaa tietotyyppiä tai ei ole tarkka vastaavuus sarakkeen arvolle. |
| JA | Yhdistää edellisen lausekkeen ja sitä seuraavan lausekkeen käyttämällä totuusarvo-JA-toimintoa. Molempien lausekkeiden on totettava, jotta koko predikaatti on tosi. |
| TAI | Yhdistää edellisen lausekkeen ja sitä seuraavan lausekkeen käyttämällä totuusarvo OR-toimintoa. Yhden väittämän on oltava tosi, jotta koko predikaatti on tosi. |
| TOSI | Totuusarvolauseke tosi. |
| VÄÄRÄ | Epätosi-ehtolauseke. |
| TYHJÄ | Tyhjä tietotyyppi, jota voidaan käyttää IS-operaattorin kanssa. Esimerkki: row IS BLANK. |
| TYHJÄ | Tyhjäarvoinen tietotyyppi, jota voidaan käyttää IS-operaattorin kanssa. Esimerkki: row IS NULL. |
Yhdistä rivi- ja saraketason suojaus
Rivitason ja saraketason suojausta voidaan käyttää yhdessä rajoittamaan käyttäjän pääsyä taulukkoon. Näitä kahta käytäntöä on kuitenkin otettava käyttöön käyttäen yksittäistä OneLake-käyttöoikeusroolia. Tässä skenaariossa tietojen käyttö on rajoitettu yhteen rooliin määritettyjen sääntöjen mukaan.
OneLake-suojaus ei tue kahden tai useamman roolin yhdistelmiä, joissa toinen sisältää RLS-sääntöjä ja toinen CLS-sääntöjä. Käyttäjät, jotka yrittävät käyttää taulukoita, jotka ovat osa rooliyhdistelmää, jota ei tueta, saavat kyselyvirheitä.