русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Как это работает?


Дата добавления: 2015-07-09; просмотров: 440; Нарушение авторских прав


Вот очень простой пример, иллюстрирующий, как работает Oracle Label Security. Мы создали и заполнили таблицу с четырьмя записями, которая называется documents, и определили для нее два уровня защиты: PUBLIC и INTERNAL. Каждому уровню также присваивается числовое значение: 1000 или 2000. Затем мы назначим уровень каждой строке в таблице. Ниже показан простой оператор SELECT для таблицы:

SQL> SELECT * FROM documents;

 

DOCID DOCNAME LEVEL DOC_LABEL

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

1 SHARE_WARE PUBLIC 1000

2 WEST_PAYROLL INTERNAL 2000

3 EAST_SALES INTERNAL 2000

4 COMP_PAYROLL INTERNAL 2000

Теперь допустим, что имеется два пользователя нашей базы данных: EMP и MGR. Уровни доступа этим пользователям мы назначаем следующим образом:

Пользователю EMP назначается уровень PUBLIC (только для чтения).

Пользователю MGR назначаются уровни INTERNAL и PUBLIC (чтение-запись).

Когда эти пользователи обращаются к таблице, EMP может читать только строку 1, тогда как MGR имеет полный доступ для чтения-записи ко всем четырем строкам.

Что происходит внутри базы данных, когда этот пользователь обращается к таблице documents? Предположим, что этот запрос выполняет пользователь EMP:

SELECT * FROM documents;

База данных Oracle производит синтаксический анализ запроса и определяет, что таблица находится под защитой с помощью меток. Oracle Label Security добавляет к запросу фразу WHERE, чтобы гарантировать, что пользователь EMP видит только строки, отмеченные меткой доступа PUBLIC:

SELECT * FROM documents

WHERE doc_label = 1000;

Ниже приводится то, что пользователь EMP увидит после выполнения запроса:

DOCID DOCNAME LEVEL DOC_LABEL

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

1 SHARE_WARE PUBLIC 1000

Вы могли бы задать вопрос: "Почему бы не создать представление, которое ограничивало бы доступ, базируясь на некотором значении столбца?" И в самом деле, если вашему приложению требуется всего лишь несколько уровней, и нет никаких специальных требований по защите, которые нужно учесть, то методы добавления к вашей таблице столбца защиты и использования приложений будут адекватными.



Но предположим, что ваши системные требования изменились, и теперь вы должны в нескольких организациях управлять несколькими иерархиями пользователей, с настраиваемыми разрешениями на чтение/запись для изменяющихся наборов данных. Кроме того, контролируемые организации находятся в различных странах, в каждой из которых действует собственное законодательство и ограничения в области защищенности. Такие требования намного труднее реализовать, если вы используете только представления.

К счастью, Oracle Label Security разработана специально для масштабирования; поэтому реализация этого типа защиты приложений более проста, чем вы могли бы ожидать.

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



<== предыдущая лекция | следующая лекция ==>
Oracle Database Vault | Уязвимости Oracle 10g


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.11 сек.