Базы данных Oracle - статьи



              

Изменение метки в качестве исключения из правила - часть 2


Проверка действия привилегии WRITEDOWN:

SQL> CONNECT head/head Connected. SQL> @updateallen LIMITED

1 row updated.

SQL> @updateallen OPEN

1 row updated.

SQL> @updateallen LIMITED

UPDATE scott.phone * ERROR at line 1: ORA-12406: unauthorized SQL statement for policy EMPSEC_POLICY

... ... ... ...

Пользователь HEAD в виде исключения получил право понижать секретность, но не повышать.

Выдадим:

@userprivilege head 'writeacross'

Проверка действия привилегии WRITEACROSS:

SQL> CONNECT head/head Connected. SQL> @updateallen LIMITED

1 row updated.

SQL> @updateallen OPEN

1 row updated.

SQL> @updateallen LIMITED

1 row updated.

В отличие от своих возможных коллег по доступу к ограниченной информации, пользователь HEAD теперь может как повышать, так и понижать секретность строки.

Следующий запрос позволяет проверить наличие привилегий преодоления запрета изменять метки:

SQL> COLUMN USER_NAME FORMAT A15 SQL> COLUMN USER_PRIVILEGES FORMAT A20 SQL> SELECT * FROM DBA_SA_USER_PRIVS;

USER_NAME POLICY_NAME USER_PRIVILEGES --------------- ------------------------------ -------------------- HEAD EMPSEC_POLICY WRITEACROSS

Для того, чтобы изъять у пользователя привилегию, потребуется не выдать привычную команду REVOKE, а опустить значение (проставить NULL) в параметре PRIVILEGES процедуры SET_USER_PRIVS. Продолжим:

SQL> SAVE showprivs Created file showprivs.sql

SQL> @userprivilege head '' Connected.

PL/SQL procedure successfully completed.

SQL> @showprivs

no rows selected

SQL> CONNECT head/head Connected. SQL> @updateallen LIMITED

1 row updated.

SQL> @updateallen OPEN

UPDATE scott.phone * ERROR at line 1: ORA-12406: unauthorized SQL statement for policy EMPSEC_POLICY

... ... ... ...

Пользователь HEAD лишился возможности изменять метку - при наличии у таблицы режима LABEL_UPDATE работы с метками.

В нашем примере WRITEACROSS, казалось бы, заменяет WRITEUP + WRITEDOWN, но в общем случае (например, при структурной метке) все три привилегии самодостаточны. В общем случае возможно и приобретает смысл комбинирование привилегий WRITEUP, WRITEDOWN и WRITEACROSS, не сводящееся к выбору какой-нибудь одной из них.




Содержание  Назад  Вперед