Уровни доступа пользователей
На этапе анализа предметной области кроме функций системы, классов объектов предметной области, их связей также должны быть определены потенциальные пользователи автоматизированной информационной системы и БД.
Для баз данных выделяют следующие категории пользователей.
1 Проектировщики БД. В функции проектировщиков БД входит анализ предметной области, формирование требований к разрабатываемой БД; выбор методов, моделей, средств для проектирования БД. Сферой их деятельности является разработка информационной модели предметной области, разработка логической и физической структур базы данных.
2 Администратор данных (АД). Администратор данных должен разбираться в данных и понимать нужды предприятия на уровне высшего руководства предприятием. В обязанности администратора данных входит принятие решений о том, какие данные необходимо вносить в БД в первую очередь; обеспечение поддержки порядка при обслуживании данных после их занесения в БД. Например, он должен указывать, кто, при каких условиях, над какими данными и какие операции может выполнять. Таким образом, администратор данных должен формировать политику безопасности данных. Администратор данных работает как управляющий БД, он может не быть специалистом по техническим вопросам, хотя он должен иметь хорошее представление о возможностях баз данных на техническом уровне.
3 Администратор базы данных (АБД). Это технический специалист, ответственный за реализацию решений администратора данных и проектировщиков БД. АБД должен быть профессиональным специалистом в области информационных технологий. Работа АБД заключается в установке и настройке среды СУБД, создании БД, её администрировании и техническом контроле. Администратор базы данных физически, средствами СУБД реализует политику безопасности данных.
4 Прикладные программисты. Они отвечают за написание прикладных программ, использующих БД. Для этих целей применимы все современные языки высокого уровня. Прикладные программы выполняют над данными все стандартные операции через соответствующие запросы к БД в рамках прав определенных АД и назначенных АБД. Функции прикладных программ — поддержка работы конечного пользователя.
5 Конечные пользователи. Это пользователи, которые непосредственно работают с БД через прикладную программу или в режиме диалога, используя встроенный интерфейс СУБД. Права доступа в рамках решаемой задачи им выделяет прикладной программист. Различают опытных конечных пользователей, которые могут создать и реализовать SQL или QBE запросы, и наивных конечных пользователей, которые иногда даже и не представляют о том, что работают с базой данных.
При определении уровней доступа пользователей выделяют 3 понятия:
— субъект (пользователь), который выполняет операцию доступа;
— объект операции доступа (данные – объекты БД, в частности таблицы, поля, записи);
— вид операции доступа: операции над данными – чтение Read (R), добавление Insert (I), обновление – Update (U), удаление – Delete (D), выполнение хранимых данных процедур – Execute (E).
В теории БД выделяют следующие уровни доступа.
1) для разных категорий пользователей:
а) неограниченный доступ ко всем объектам БД и их поколениям;
б) неограниченный доступ к группе объектам БД и их поколениям;
в) ограниченный доступ к группе объектов БД и их поколениям;
2) на уровне реляционной таблицы различают следующие виды доступа:
а) вся таблица доступна для всех операций;
б) вся таблица закрыта для всех операций;
в) только чтение всей таблицы;
г) чтение всей таблицы, изменение только части;
д) чтение с изменением только одной записи;
е) чтение только одной записи;
ж) чтение и изменение отдельных столбцов;
з) чтение отдельного столбца;
и) одни столбцы читать, другие изменять;
к) вышеуказанные способы доступа с ограничением по времени;
л) вышеуказанные способы доступа при выполнении определенных условий;
м) выполнение вычислительных операций над данными без права их чтения и изменения.
Для разработки небольших баз данных, как правило, определяют следующих пользователей и уровни доступа.
1 Администратор БД. Является фактическим владельцем БД и имеет полный доступ на создание БД и объектов БД; добавление, обновление, удаление, просмотр данных. Его привилегией также является реализация выдачи прав другим пользователям БД.
2 Прикладной программист. Имеет полный доступ к объектам БД на уровне подсхемы БД. Подсхему создает АБД в схеме БД для решения поставленной задачи и выделяет необходимый доступ к подсхеме прикладному программисту. Как правило, это полный доступ к подсхеме. В ней прикладной программист создает необходимые для решения задачи объекты БД.
3 Конечный пользователь. Работает с БД через приложение, разработанное прикладным программистом, либо непосредственно в среде СУБД. Наделяется правами прикладным программистом, если он на это уполномочен АБД, либо непосредственно администратором БД.
Определение уровней доступа пользователей может быть формализовано уже на этапе анализа предметной области. На дальнейших этапах проектирования БД уровни доступа уточняются и затем реализуются АБД средствами СУБД. В таблице 8 приведены примеры описания уровней доступа пользователей подсистемы «Управление персоналом» (на уровне классов объектов).
Таблица 8 — Уровни доступа пользователей подсистемы "Управление персоналом"
Класс объектов | Пользователи | |||||
При- кладной прог-раммист | Конечные пользователи | |||||
Инспектор отдела кадров | Руководи— тель отдела кадров | Сотрудник планового отдела | Руководи— тель планового отдела | Руководи— тель предпри— ятия | ||
Структурная единица предприятия | RIUDE | R | R | RIU | R | R |
Категория должности | RIUDE | R | R | RIU | R | R |
Должность | RIUDE | R | R | RIU | R | R |
Физическое лицо | RIUDE | RIU | R | R | R | R |
КАДРОВЫЙ ПРИКАЗ | RIUDE | RIU | R | R | R | R |
ЗАПИСЬ КАДРОВОГО ПРИКАЗА | RIUDE | RIU | R | R | R | R |
ТИП ПЕРЕМЕЩЕНИЯ | RIUDE | R | R | RIU | R | R |
В таблице использованы сокращения основных операций над данными.
Существуют некоторые особенности определения и реализации уровней доступа пользователей, осуществляющих обработку данных на основе статистических методов, особенно при получении агрегированных данных о больших подмножествах БД. При применении одной и той же функции несколько раз для разных составов подмножеств БД можно получить интересующие данные путем сравнения результатов запросов. В таких случаях, для более тонкого разграничения уровней доступа отдельных пользователей, получающих права на выполнение чтения данных с использованием различных методов, возможно планирование и реализация следующих мероприятий:
— ограничение на структуру запроса;
— разрешение поиска по части ключа;
— разрешение реализации определенного количества запросов;
— установление минимального числа записей участвующих в запросах;
— ведение протоколов выполнения запросов.
Таким образом, уже на этапе анализа предметной области должны быть определены уровни доступа всех потенциальных пользователей разрабатываемой БД.