Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 13251|Odpoveď: 0

[Zdroj] Oracle databázová kontrola oprávnení na úrovni stĺpca

[Kopírovať odkaz]
Zverejnené 11. 12. 2015 23:47:14 | | |
Zákazník má potrebu, tabuľku s viac ako 150 poľami, zákazník potrebuje, aby ľudia zo skenovacej spoločnosti videli len niektoré polia, túto požiadavku sa dá ľahko realizovať pohľadom, zákazník tiež žiada, tieto polia, skenovacia firma môže upravovať len jednotlivé polia, naozaj som sa s takou potrebou kontroly povolení na úrovni stĺpcov ešte nestretol, urobil som experiment, cítim sa veľmi zaujímavo, zaznamenám to

Zákazník ho máDopyt, tabuľke s viac ako 150 poliami, zákazník požiadal, aby ukázal len niektoré polia tým, ktorí spoločnosť skenovali, totoDopytDá sa to jednoducho implementovať pomocou pohľadu, a zákazník žiada, aby tieto polia mohla skenovacia spoločnosť upravovať len jednotlivé polia, naozaj som sa s takou potrebou kontroly oprávnení na úrovni stĺpcov ešte nestretol, urobil som experiment, cítim sa veľmi zaujímavo, zaznamenať toTestProces.

1. Vytvorte testovaciu tabuľku a vložte bodové testovacie údaje:

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

vlastník varchar2(50),TABLESPACE_NAME varchar2(50));

Stôl vytvorený.

SQL> vložiť do testu vybrať rownum,table_name,owner,

TABLESPACE_NAME z roku dba_tables;

Vytvorených 5490 riadkov.

SQL> commit;

Záväzok dokončený.

2. Vytvoriť testovacieho používateľa a dať základné oprávnenia:

SQL> CONN / AS SYSDBA

Prepojený.

SQL> vytváranie používateľského prúdu identifikovaného predvolenými používateľmi stolového priestoru prúdu;

Vytvorený používateľom.

SQL> grant connect, resource to stream;

Grant uspel.

3. Udeľte testovacím používateľom oprávnenia na úrovni stĺpca:

SQL> conn auth/auth

Prepojený.

SQL> grant update (id) pri testovaní na stream;

Grant uspel.

SQL> grant insert (table_name) na test to stream;

Grant uspel.

SQL>

SQL> udeliť výber pri testovaní na streamovanie;

Grant uspel.

4. Vyhľadajte informácie o nastaveniach na úrovni stĺpca:

SQL> Vyberte PRÍJEMCU, VLASTNÍKA, TABLE_NAME, COLUMN_NAME, GRANTOR, PRIVILEGE,

UDELENÉ od user_col_privs;

VLASTNÍK GRANTU TABLE_NAME COLUMN_NAME GRANTOR PRIVILEGE GRA

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

TEST AUTENTIFIKÁCIE V PRÚDE TABLE_NAME VLOŽIŤ ČÍSLO AUTENTIFIKÁCIE

AUT AUTH TEST ID AUTH VLOŽIŤ ČÍSLO

AUT AUTH TEST ID AKTUALIZÁCIA AUTENTIFIKÁCIE NIE

TEST AUTENTIFIKÁCIE STREAMU ID AKTUALIZÁCIA AUTENTIFIKÁCIE NIE

5. Používateľ testuje prihlásenie overuje oprávnenie SELECT:

SQL> conn stream/stream

Prepojený.

SQL> vyberte * z(vyberte * z auth.test order by 1), kde Rownum< =10;

ID TABLE_NAME VLASTNÍK STOLOVÉHO PRIESTORU

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

1 ICOL$ SYS SYSTÉM

2 IND$ SYS SYSTÉM

3 COL$ SYS SYSTÉM

4 CLU$ SYS SYSTÉM

5 TAB$ SYS SYSTÉM

6 LOB$ SYS SYSTÉM

7 COLTYPE$ SYS SYSTÉM

8 SUBCOLTYPE$ SYS SYSTÉM

9 NTAB$ SYS SYSTÉM

10 REFCON$ SYS SYSTÉM

Vybraných 10 riadkov.

6. Overiť kontrolu oprávnení UPDATE na úrovni stĺpca:

SQL> aktualizovať auth.test set owner='STREAM', kde id =1;

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

  *

CHYBA na riadku 1:

  ORA-01031: insufficient privileges

Je zrejmé, že hodnota poľa VLASTNÍK testovacej tabuľky nie je povolená na zmenu, report ORA-01031: Nedostatočné oprávnenie, keďže vyššie uvedené dáva používateľovi povolenie meniť pole ID v testovacej tabuľke, je možné pole ID upraviť.

SQL> aktualizovať auth.test set id=10 kde id=1;

1 riadok aktualizovaný.

SQL> rollback;

Návrat späť dokončený.

7. Overiť kontrolu oprávnení INSERT na úrovni stĺpca:

SQL> vložiť do auth.test values (1,'stream', 'stream', 'users');

vložiť do auth.test hodnôt (1,'stream', 'stream', 'users')

  *

CHYBA na riadku 1:

  ORA-01031: insufficient privileges

Keďže vyššie uvedené dáva používateľovi oprávnenie na vloženie TABLE_NAME poľa testovacej tabuľky, je možné vložiť TABLE_NAME pole, ale len ak ostatné polia nemajú ŽIADNE obmedzenia.

SQL> vložiť do auth.test(table_name) hodnôt ('stream');

Vytvorený 1 riadok.

SQL> rollback;

Návrat späť dokončený.






Predchádzajúci:Podrobný krok za krokom návod na inštaláciu Oracle 10G
Budúci:Po zapnutí Tencent Analytics je systém zaneprázdnený, skúste to neskôr znova
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com