Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a cikk dokumentálja a sorszintű biztonsági (RLS) szabályok meghatározásának szintaxisát a OneLake biztonságban. Az RLS szabály alkalmazásához táblázatra lásd: Létrehozni és kezelni OneLake biztonsági szerepeket.
Az RLS-szabályok SQL-szintaxissal határozzák meg a felhasználók által látható sorokat. A szintaxis SQL SELECT állítás formájában jelenik meg, az RLS szabályokat a záradékban WHERE definiálva. Az RLS szabályai csak az ebben a cikkben meghatározott SQL részhalmazt támogatják. Ha az RLS szintaxisa értelen vagy nem egyezik meg az alapul szolgáló táblával rendelkező RLS szintaxissal rendelkező lekérdezések, nem mutatnak sorokat a felhasználóknak, vagy lekérdezési hibákat okoznak az SQL analitikai végponton.
Amikor RLS kifejezéseket írsz, tartsd szem előtt a következő legjobb gyakorlatokat:
- Kerüld a homályos vagy túlzottan összetett RLS kifejezéseket.
- Az erősen típusított kifejezések, amelyek egész számokat vagy string lekérdezéseket használnak, és "=" -t használnak, a legbiztonságosabbak és legkönnyebben érthetőek.
- Egész számoszlopokat használj a rendezéshez, valamint a nagyobb-mint vagy kisebb műveletekhez.
- Kerüld a stringekvivalenciákat, ha nem ismered a bemeneti adatok formátumát, különösen a Unicode karakterek vagy az akcentusérzékenység esetén.
A sorszintű biztonság a láncsor-adatokat nagybetű-érzékenynek értékeli, a rendezéshez és összehasonlításhoz a következő összeállítást alkalmazva: Latin1_General_100_CI_AS_KS_WS_SC_UTF8.
Syntax
A sorszintű biztonsági szabályban szereplő karakterek maximális száma 1000.
Az összes sorszintű biztonsági szabály a következő formában van:
SELECT * FROM {schema_name}.{table_name} WHERE {column_level_boolean_1}{column_level_boolean_2}...{column_level_boolean_N}
Például:
SELECT * FROM Sales WHERE Amount > 50000 AND State='CA'
| Placeholder | Description |
|---|---|
| {schema_name} | A {table_name} rendszert tartalmazó séma neve. Ha az elem támogatja a sémákat, akkor be kell illesztened a {schema_name}-t. |
| {table_name} | Az a tábla neve, amelyre az RLS predikátum vonatkozik. Ennek az értéknek pontosan egyeznie kell a tábla nevével, különben az RLS nem mutat sorokat. Használjon négyzet [] zárójelet a táblanevek speciális karakterekkel való kikerüléséhez. Például: SELECT * FROM [dbo].[Secret.Table]. |
| {column_level_boolean} | Logikai utasítás, amely a következő összetevőket tartalmazza: * Oszlop neve: Egy oszlop neve a {table_name} betűben, ahogy az a Delta napló sémájában szerepel. Az oszlopneveket formázhatod {column_name} vagy {table_name} formátumra. {column_name}. * Operátor: Az egyik támogatott operátor , amely az oszlop nevét és értékét egy Boolean értékre értékeli. * Érték: Egy statikus érték vagy értékhalmaz, amelyet értékelni lehet. Több logikai utasítást is elválaszthat egymástól az ÉS vagy a VAGY használatával. |
Támogatott operátorok
A sorszintű biztonsági szabályok a következő operátorokat és kulcsszavakat támogatják:
| Operator | Description |
|---|---|
= (egyenlő) |
Igaznak értékelődik, ha a két érték azonos adattípusú, és teljesen megegyezik. |
<> (nem egyenlő) |
Igaz értéket ad vissza, ha a két érték nem azonos adattípus, és nem pontos egyezés. |
> (nagyobb, mint) |
Igaz értéket ad vissza, ha az oszlop értéke nagyobb, mint a kiértékelési érték. A sztringértékek esetében ez az operátor bitenkénti összehasonlítást használ annak megállapításához, hogy az egyik sztring nagyobb-e a másiknál. |
>= (nagyobb vagy egyenlő) |
Igaz értéket ad vissza, ha az oszlop értéke nagyobb vagy egyenlő a kiértékelési értékkel. A sztringértékek esetében ez az operátor bitenkénti összehasonlítást használ annak megállapításához, hogy az egyik sztring nagyobb-e, mint a másik. |
< (kisebb) |
Igaz értéket ad vissza, ha az oszlop értéke kisebb, mint a kiértékelési érték. A sztringértékek esetében ez az operátor bitenkénti összehasonlítást használ annak megállapításához, hogy az egyik sztring kisebb-e a másiknál. |
<= (kisebb vagy egyenlő) |
Igaz értéket ad vissza, ha az oszlop értéke kisebb vagy egyenlő a kiértékelési értékkel. A sztringértékek esetében ez az operátor bitenkénti összehasonlítást használ annak megállapításához, hogy az egyik sztring kisebb-e, mint a másik. |
IN |
Igaz értéket ad vissza, ha a kiértékelési értékek bármelyike megegyezik az adattípussal, és pontosan egyezik az oszlop értékével. |
NOT |
Igaz értéket ad vissza, ha a kiértékelési értékek nem azonos adattípusúak, vagy nem egyeznek meg pontosan az oszlopértékekkel. |
AND |
Egyesíti az előző és a későbbi állítást egy Boolean AND művelet segítségével. Mindkét állításnak igaznak kell lennie ahhoz, hogy a teljes predikátum igaz legyen. |
OR |
Az előző és a következő utasítást egy Boolean OR művelettel kombinálja. Az egyik állításnak igaznak kell lennie ahhoz, hogy a teljes predikátum igaz legyen. |
TRUE |
A "true" értéket jelentő logikai kifejezés. |
FALSE |
A "hamis" logikai kifejezés. |
BLANK |
Az üres adattípus, amit az IS operátorral használhatsz. Például: row IS BLANK. |
NULL |
A null adattípus, amit az IS operátorral használhatsz. Például: row IS NULL. |