Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 13251|Válasz: 0

[Forrás] Oracle adatbázis-szintű jogosultsági vezérlés

[Linket másol]
Közzétéve 2015. 12. 11. 23:47:14 | | |
Az ügyfélnek van szüksége, egy több mint 150 mezőből álló táblázat, az ügyfélnek csak néhány mezőt kell látnia a szkennelő cég munkatársai, ez a követelmény könnyen megvalósítható egy nézet segítségével, az ügyfél is kéri, ezeket a mezőket a szkennelő cég csak egyedi mezőket tud módosítani, én még sosem találkoztam ilyen igénysel az oszlop szintjén, végeztem egy kísérletet, nagyon érdekesnek érzem magam, rögzítsem

Az ügyfélnek van egyKereslet, egy asztal, ahol több mint 150 mező volt, az ügyfél azt kérte, hogy csak néhány mezőt mutasson azoknak, akik átvizsgálták a céget, ezKeresletKönnyen megvalósítható egy nézettel, és az ügyfél kéri, hogy ezek a mezők, a szkennelő cég csak egyedi mezőket módosíthat, én még sosem találkoztam ilyen igénysel az oszlopszintű engedélyvezérlésre, végeztem egy kísérletet, nagyon érdekesnek érzem magam, rögzítsdTesztfolyamat.

1. Készíts teszttáblát, és helyezkedj be pont tesztadatokat:

  SQL> create table test(id number,table_name varchar2(50),

tulajdonos Varchar2(50),TABLESPACE_NAME Varchar2(50));

Táblázat létrehozva.

SQL> insert into test select rownum,table_name,owner,

TABLESPACE_NAME dba_tables-től;

5490 sor létrejött.

SQL> commit;

Kötelezd el a teljes kötelezettséget.

2. Hozz létre egy tesztfelhasználót, és adj meg alapvető jogosultságokat:

SQL> CONN / AS SYSDBA

Kapcsolódva.

SQL> létrehozza a felhasználói áramot, amelyet alapértelmezett táblázat felhasználók azonosítanak;

Felhasználó létrehozta.

SQL> grant connect, resource to stream;

Grantnek sikerült.

3. Oszlopszintű jogosultságok biztosítása a tesztfelhasználóknak:

SQL> conn auth/auth

Kapcsolódva.

SQL> grant update (id) a teszt to stream-en;

Grantnek sikerült.

SQL> grant insert (table_name) teszt to streamen;

Grantnek sikerült.

SQL>

SQL> grant select teszten streamelni;

Grantnek sikerült.

4. Kérdezze le oszlopszintű jogosultsági beállítási információkat:

SQL> válaszd a GRANTEE,OWNER,TABLE_NAME,COLUMN_NAME,GRANTOR,PRIVILEGE,

GRANTABLE user_col_privs-től;

TULAJDONOS TABLE_NAME COLUMN_NAME JOGOSULTSÁG GRA

------- ----- ---------- ----------- ------- --------- ---

STREAM HITELESÍTÉSI TESZT TABLE_NAME HITELESÍTÉS BEADÁSA NEM

AUT AUTH TEST ID AUTH INSERT NO

AUT AUT TEST ID HITELESÍTÉS FRISSÍTÉS NEM

STREAM AUT TEST ID HITELESÍTÉS FRISSÍTÉS NO

5. A bejelentkezési teszt felhasználó ellenőrizi a SELECT engedélyt:

SQL> conn stream/stream

Kapcsolódva.

SQL> válassz * from(select * from auth.test order by 1) ahol rownum< =10;

ID TABLE_NAME TULAJDONOS TABLESPACE

---------- -------------------- ---------- ----------

1 ICOL$ RENDSZERRENDSZER

2 IND$ RENDSZERRENDSZER

3 COL$ RENDSZERRENDSZER

4 CLU$ RENDSZERRENDSZER

5 TAB$ RENDSZERRENDSZER

6 LOB$ RENDSZERRENDSZER

7 COLTYPE$ RENDSZERRENDSZER

8 SUBCOLTYPE$ RENDSZERRENDSZER

9 NTAB$ SYS RENDSZER

10 REFCON$ RENDSZERRENDSZER

10 sor kiválasztott.

6. Oszlopszintű FRISSÍTÉS jogosultsági vezérlés ellenőrzése ellenőrzése:

SQL> frissítés auth.test set owner='STREAM', ahol id =1;

update auth.test set owner='STREAM', ahol id =1

  *

HIBA az 1. sornál:

  ORA-01031: insufficient privileges

Látható, hogy a teszttábla OWNER mezőjének értéke nem módosítható, jelentés ORA-01031: Nincs megfelelő engedély, mivel a fentiek engedélyezik a tesztfelhasználónak az ID mező módosítására, lehetséges az ID mező módosítása.

SQL> update auth.test set id=10, ahol id=1;

1 sor frissítve.

SQL> visszahúzás;

Visszahúzás befejeződött.

7. Ellenőrizd az oszlopszintű INSERT engedélyvezérlést:

SQL> insert be a auth.test values(1,'stream','stream','users');

insert into auth.test values(1,'stream','stream','users')

  *

HIBA az 1. sornál:

  ORA-01031: insufficient privileges

Mivel a fentiek megadják a tesztfelhasználónak a beillesztési jogot a teszttábla TABLE_NAME mezőjének módosítására, lehetséges TABLE_NAME mezőt beilleszteni, de csak akkor, ha a többi mezőnek nincsenek SEMMILYEN korlátai.

SQL> insert into auth.test(table_name) értékeket ('stream');

1 sor jött létre.

SQL> visszahúzás;

Visszahúzás befejeződött.






Előző:Részletes, lépésről lépésre történő telepítési útmutató az Oracle 10G-hez
Következő:Miután a Tencent Analytics bekapcsolva van, a rendszer elfoglalt, kérjük, próbálja meg újra később
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com