(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Изучаем метки доступа к строкам в Oracle: задание свойств столбца доступа в таблице

Владимир Пржиялковский

предыдущая статья серии

"Я за свечку,
Свечка - в печку!
Я за книжку,
Та - бежать ..."
Корней Чуковский, "Мойдодыр"

Аннотация

Эта статья является непосредственным продолжением статьи "Изучаем метки доступа к строкам: специальные привилегии для избранных", и рассматривает некоторые возможности управления правкой полей записей, защищенных метками доступа средствами Label Security в Oracle в соответствии с мандатным доступом.

Подразумеваемые в статье состояние базы и сценарные файлы соответствуют концу предыдущей статьи.

Правка обычных полей

Раньше мы рассмотрели некоторые возможности правки меток, задающих секретность строк (и возможности в виде исключения обходить запреты на правку). А что касается возможностей править обычные поля таблицы, строки которой защищены метками секретности?

Свойство доступа к обычным полям (не к служебному полю секретности строки), ранее использованное, называлось READ_CONTROL. Уточним поведение этого свойства. Выдадим:

@userprivilege employee ''

@phonepolicyoptions 'read_control'

Продолжим:

SQL> CONNECT employee/employee
Connected.
SQL> @phones

ENAME PNO
- -
ALLEN 882-3154
WARD 610-1718
MARTIN 103-1983
BLAKE  
CLARK  
KING  
TURNER 293-1398
JAMES 932-6728
MILLER 865-6706

9 rows selected.

SQL> UPDATE scott.phone
  2  SET pno = pno
  3  WHERE
  4  empno
  5  = ( SELECT empno FROM scott.emp WHERE ename = 'ALLEN' );

1 row updated.

SQL> save updateallenpnumber
Created file updateallenpnumber.sql

SQL> @updateallen OPEN

1 row updated.

SQL> @updateallen LIMITED

1 row updated.

SQL> @updateallen OPEN

0 row updated.

SQL> @updateallenpnumber

0 row updated.

Пока ничего нового относительно меток (пользователю EMPLOYEE, как это и было раньше, позволено "играть" только "на повышение" секретности), а что касается обычных полей разрешенных ему строк, то правка, как показывает пример, возможна.

Однако в нашем распоряжении имеются и другие свойства меток в конкретной таблице, например:

  • INSERT_CONTROL,
  • UPDATE_CONTROL,
  • DELETE_CONTROL,
  • WRITE_CONTROL.

Рассмотрим для примера свойство UPDATE_CONTROL. Выдадим:

@phonepolicyoptions 'update_control'

Повторим проверку:

SQL> CONNECT employee/employee
Connected.
SQL> @phones

ENAME PNO
- -
ALLEN 882-3154
WARD 610-1718
MARTIN 103-1983
BLAKE 193-3112
CLARK 310-2673
KING 542-6672
TURNER 293-1398
JAMES 932-6728
MILLER 865-6706

9 rows selected.

SQL> @updateallen OPEN

1 row updated.

SQL> @updateallenpnumber

1 row updated.

SQL> @updateallen LIMITED

1 row updated.

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

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

Факт налицо: включение UPDATE_CONTROL не изменило наши возможности по изменению метки , однако ж обычные поля запретных для него строк он править уже не в состоянии. Заметьте, что это коснулось только правки, но не чтения. Чтобы вновь защитить обычные поля от прочтения, достаточно выдать:

@phonepolicyoptions 'update_control, read_control'

Доказательство:

SQL> CONNECT employee/employee
Connected.
SQL> @phones

ENAME PNO
- -
ALLEN 882-3154
WARD 610-1718
MARTIN 103-1983
BLAKE   
CLARK   
KING   
TURNER 293-1398
JAMES 932-6728
MILLER 865-6706

9 rows selected.

Свойства INSERT_CONTROL и DELETE_CONTROL аналогичны рассмотренному UPDATE_CONTROL. Свойство же WRITE_CONTROL введено для удобства и обозначает INSERT_CONTROL + UPDATE_CONTROL + DELETE_CONTROL. Это легко обнаруживается следующим образом. Продолжим:

SQL> @showoptions

POLICY_NAME SCHEMA_NAME TABLE_NAME TABLE_OPTIONS
-
EMPSEC_POLICY SCOTT EMP READ_CONTROL,
LABEL_DEFAULT
EMPSEC_POLICY SCOTT PHONE  READ_CONTROL,
UPDATE_CONTROL 

А теперь выдадим:

@phonepolicyoptions 'write_control, read_control'

Снова проверим свойства ("особенности") применения нашей политики к конкретным таблицам:

SQL> @showoptions

POLICY_NAME SCHEMA_NAME TABLE_NAME TABLE_OPTIONS
-
EMPSEC_POLICY SCOTT EMP READ_CONTROL,
LABEL_DEFAULT
EMPSEC_POLICY SCOTT PHONE  READ_CONTROL,
INSERT_CONTROL,
UPDATE_CONTROL,
DELETE_CONTROL
 

следующая статья серии

Ссылки по теме



 Распечатать »
 Правила публикации »
  Обсудить материал в конференции Oracle »
Написать редактору 
 Рекомендовать » Дата публикации: 29.08.2005 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Oracle Database Standard Edition 2 Processor License
Oracle Database Personal Edition Named User Plus License
Oracle Database Personal Edition Named User Plus Software Update License & Support
Oracle Database Standard Edition 2 Named User Plus License
ESET NOD32 Cyber Security for MAC  - лицензия для 1 ПК на 1 год
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
Corel DRAW - от идеи до реализации
Краткие описания программ и ссылки на них
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
Обсуждения в форумах
Рабочее зеркало букмекера 1win (1)
Сегодня в случае недоступно официального сайта есть рабочие зеркала БК 1win...
 
Автомобиль (4)
Доброй ночи. Планируем приобрести авто, рассматриваем б.у варианты, как проще всего подобрать...
 
Новости спорта - все послдение события в одном месте (1)
Пользователи, которые увлекаются ставками на спорт, должно следить за последними изменениями в...
 
Как выводить деньги в лучших казино? (1)
Порой игрок казино из рейтинга 2021 https://casino2021.net/ все сделал точно, заявка на вывод...
 
Русификация рамки IDEF0 BPWin4 (44)
Возможно ли русифицировать рамку диаграмм в BPWin4?
 
 
 



    
rambler's top100 Rambler's Top100