Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемНаталья Евлахова
1 Разграничение доступа в ORACLE 10 Дмитрий Петренко
2 Идея разделения доступа Система одна – пользователей много Пользователи различаются по уровню привилегий Каждый пользователь имеет свои привилегии доступа к объектам системы Пользователь имеет право передавать свои права другим
3 Реализация идеи разделения доступа В СУБД создан специальный объект – пользователь Создан механизм предоставления и лишения прав доступа grant/revoke Grant/revoke – SQL операторы grant on to
4 Проблема Стандартная функциональность grant/revoke недостаточна Прямое соединение с СУБД - опасно
5 Задача Расширить функциональность grant/revoke Ограничить количество непосредственных соединений с БД Создать единообразный способ задания правил доступа
6 Решение Создать приложение со следующими возможностями Работа между пользователем и СУБД Задание правил доступа к объектам БД в стандартном виде grant/revoke Аутентификация пользователей Обработка правил доступа и модификация запросов пользователя Выдача пользователю результата запроса
7 Как это работает Администратор создает пользователей и задает им привилегии с помощью синтаксиса расширенного grant/revoke Правила распознаются системой, и метаинформация о доступе заносится в security DB. Пользователь, обращается к СУБД, но его запрос перехватывается модулем управления доступом и модифицируется в соответствии с правилами хранящимися в security DB. Модифицированный запрос отдается СУБД, а его результат - пользователю
8 Структура приложения Модуль управления доступом Модуль администрирования Клиентское приложение СУБД Метаданные Расширенный grant/revoke Правила Запросы SQL/данные Логический уровень Модифицированный SQL/данные
9 Модуль администрирования Авторизация пользователя Задание и синтаксический разбор правил Занесение полученной на основе разбора метаинформации в БД
10 Формат инструкции grant Grant on to [when P1] [where P2] [with grant option] [with check option] [rule list position]
11 Клиентский модуль Авторизация пользователя Формирование запросов к СУБД Пересылка запросов модулю управления Отображение результатов выполнения запроса
12 Модуль управления доступом Поступил SQL запрос пользователя Есть правила Определение текущего контекста (Имя пользователя, время) Выборка правил из базы метаданных в соответствии с контекстом Определение приоритета правил, выбор наиболее актуального Модификация пользовательского запроса и передача его СУБД завершение
13 Пример работы Grant select(name, salary сonvet_euro(salary), date_birth null) on employees to user where salary>100 when time()>10:20; NamePositionSalaryDate_birth SmitManager GatesTop Manager ShekspeareWriter NamePositionSalaryDate_birth SmitManager1660 GatesTop Manager Select * from employees
14 Вопросы?
15 Спасибо за внимание
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.