Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 13251|Odpověď: 0

[Zdroj] Oracle databázová kontrola oprávnění na úrovni sloupců

[Kopírovat odkaz]
Zveřejněno 11.12.2015 23:47:14 | | |
Zákazník potřebuje tabulku s více než 150 poli, zákazník potřebuje, aby lidé skenovací firmy viděli jen některá pole, tento požadavek lze snadno realizovat pomocí pohledu, zákazník také žádá, tato pole může skenovací firma upravovat pouze jednotlivá pole, opravdu jsem se s takovou potřebou kontroly oprávnění na úrovni sloupců nikdy nesetkal, udělal jsem experiment, cítím se velmi zajímavě, zaznamenám to

Zákazník ji máPoptávka, tabulky s více než 150 poli, zákazník požádal, aby ukázal jen některá pole lidem, kteří firmu skenovali, a toPoptávkaLze to snadno implementovat pomocí pohledu a zákazník požaduje, aby tato pole mohla skenovat pouze jednotlivá pole, opravdu jsem se s takovou potřebou kontroly oprávnění na úrovni sloupců nikdy nesetkal, udělal jsem experiment, cítím se velmi zajímavě, zaznamenám toTestProces.

1. Vytvořte testovací tabulku a vložte bodová testovací data:

  SQL> vytvořit tabulku test(id číslo,table_name varchar2(50),

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

Tabulka vytvořena.

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

TABLESPACE_NAME z roku dba_tables;

Vytvořeno 5490 řádků.

SQL> commit;

Závazek dokončen.

2. Vytvořte testovacího uživatele a zadejte základní oprávnění:

SQL> CONN / AS SYSDBA

Propojení.

SQL> vytváření uživatelského proudu identifikovaného uživateli výchozího stolního prostoru streamu;

Uživatel vytvořil.

SQL> grant connect, resource to stream;

Grant uspěl.

3. Udělit testovacím uživatelům oprávnění na úrovni sloupců:

SQL> conn auth/auth

Propojení.

SQL> grant update (id) při testu na stream;

Grant uspěl.

SQL> grant insert (table_name) při testu pro stream;

Grant uspěl.

SQL>

SQL> při testu vybrat pro stream;

Grant uspěl.

4. Dotazujte se na informace o nastavení oprávnění na úrovni sloupců:

SQL> vyberte PŘÍJEMCE, VLASTNÍKA, TABLE_NAME, COLUMN_NAME, GRANTOR, PRIVILEGE,

UDĚLITELNÉ od user_col_privs;

DRŽITEL GRANTU TABLE_NAME COLUMN_NAME GRANTOR PRIVILEGE GRA

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

TEST AUTENTIZACE STREAMU TABLE_NAME VLOŽIT ČÍSLO AUTENTIFIKACE

AUT AUTH TEST ID AUTENT VLOŽIT ČÍSLO

AUT AUTH, TEST ID AUTENTIZACE AKTUALIZACE AUTENTIZACE

OVĚŘENÍ STREAMU TEST ID AKTUALIZACE AUTENTIZACE NE

5. Uživatel testuje přihlášení ověřuje oprávnění SELECT:

SQL> conn stream/stream

Propojení.

SQL> vyberte * from(select * from auth.test order by 1), kde rownum< =10;

TABULKOVÝ PROSTOR PRO VLASTNÍKA ID TABLE_NAME

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

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 řádků.

6. Ověřte řízení oprávnění UPDATE na úrovni sloupců:

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

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

  *

CHYBA na řádku 1:

  ORA-01031: insufficient privileges

Je vidět, že hodnota pole OWNER testovací tabulky není povolena měnit, report ORA-01031: Nedostatečné oprávnění, protože výše uvedené dává uživateli oprávnění upravovat pole ID testovací tabulky, je možné pole ID upravit.

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

Aktualizován 1 řádek.

SQL> rollback;

Návrat zpět dokončen.

7. Ověřte řízení oprávnění na úrovni sloupců INSERT:

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

vložte do auth.test hodnot (1,'stream', 'stream', 'users')

  *

CHYBA na řádku 1:

  ORA-01031: insufficient privileges

Protože výše uvedené dává uživateli povolení k vložení TABLE_NAME pole testovací tabulky, je možné vložit TABLE_NAME pole, ale pouze pokud ostatní pole nemají ŽÁDNÁ omezení.

SQL> vložit do auth.test(table_name) hodnot ('stream');

Vytvořen 1 řádek.

SQL> rollback;

Návrat zpět dokončen.






Předchozí:Podrobný krok za krokem instalační tutoriál pro Oracle 10G
Další:Po zapnutí Tencent Analytics je systém zaneprázdněný, zkuste to prosím později
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com