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

         

Жесткий запрет на изменение метки


Другой режим использования метки в TABLE_OPTIONS еще более ограничителен. Он вовсе запрещает изменять значение метки, не важно в сторону ли увеличения или понижения ее секретности. Выдадим:

@phonepolicyoptions 'read_control, label_update'

Проверяем:

SQL> CONNECT employee/employee Connected. 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

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

SQL> @updateallen OPEN

1 row updated.

SQL> CONNECT head/head Connected. 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

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

Пример пока лишь доказывает, что метку нельзя сделать более «секретной». Но возможно, разрешено «играть на понижение» секретности ? Проверям снова:

CONNECT lbacsys/lbacsys Connected. SQL> @updateallen LIMITED

1 row updated.

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

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

Что и требовалось доказать: режим LABEL_UPDATE использования метки, заданный для таблицы PHONE в рамках нашей политики, не позволяет обычным пользователям изменять значение меток доступа в строках таблицы.



Содержание раздела