Назначение
Система ограничения доступа к БД АДИС используется для дифференциации полномочий пользователей.
Средства ограничения доступа
Регулирование доступа пользователей к информации, хранящейся в базе данных, реализуется путем задания набора "прав".
Права, которыми администратор системы наделяет оператора, определяют список действий, разрешенных данному пользователю АДИС. В основном, ограничения касаются доступа к БД и реализуются в программе просмотра БД.
Права доступа к базе данных могут быть ограничены определенными разделами базы данных.
Права, установленные для пользователя без привязки к конкретному разделу (псевдониму) базы данных, именуются общими правами.
Для наделения правами используется программа управления пользователями.
Для ограничения доступа к отдельным объектам базы данных используются фильтры. При этом критерием отбора записей является содержимое определенных полей этих записей.
Структурированный доступ к базе данных
Раздел базы данных включает все сегменты с определенным номером базы.
Для пользователя или группы пользователей могут быть установлены дополнительные права на действия в определенном разделе базы данных.
Чтобы расширить список разрешенных действий пользователя или группы пользователей в том или ином разделе базы данных, добавьте права на раздел для данного пользователя или группы.
Чтобы ограничить права пользователя или группы на раздел, необходимо уменьшить не только права на раздел, но и изменить общие права пользователя или группы и добавить изъятые из общих прав позиции в права для остальных разделов.
Права доступа к перечню разделов базы данных могут быть унифицированы с использованием произвольного псевдонима, объединяющего эти разделы.
Система прав
Права и роли
Существует четыре категории пользователей БД АДИС, объединенных следующими ролями:
Наделение пользователя ролью равносильно наделению его всеми правами, присущими этой роли.
Среди пользователей также присутствует администратор системы.
Администратор системы наделен неограниченными и неизменяемыми правами. Администратор вводит и удаляет других пользователей, наделяя их необходимыми правами.
Набор прав пользователя может быть ограничен произвольным образом. В таком случае права пользователя определяются не ролью, а установленным перечнем разрешенных действий.
Полный перечень прав, которые могут быть даны пользователю или отняты у него, приведен в таблице:
Право | Admin | Expert | Operator | User | Наименование права в программе управления пользователями |
ffreclist | + | + | + | + | Просмотр списка кандидатов карта-карта |
fplist | + | + | + | + | Просмотр дактилокарт |
lfreclist | + | + | + | + | Просмотр списка кандидатов след-карта и карта-след |
llreclist | + | + | + | + | Просмотр списка кандидатов след-след |
lmlist | + | + | + | + | Просмотр следов |
fpedit | + | + | + | - | Обновление дактилокарт |
fppassp | + | + | + | - | Паспортные данные дактилокарт |
fpselect | + | + | + | - | Выборка дактилокарт |
lmedit | + | + | + | - | Обновление карты следа |
lmpassp | + | + | + | - | Паспортные данные карточки следа |
lmselect | + | + | + | - | Выборка карточек следа |
photo | + | + | + | - | Фото лица и особых примет |
printreport | + | + | + | - | Печать |
rldelete | + | + | + | - | Удаление из списка кандидатов |
fpdelete | + | + | - | - | Удаление дактилокарты |
fpexport | + | + | - | - | Экспорт дактилокарты |
fpfilteroff | + | + | - | - | Просмотр дактилокарт без фильтрации |
lmdelete | + | + | - | - | Удаление карточки следа |
lmexport | + | + | - | - | Экспорт карточки следа |
lmfilteroff | + | + | - | - | Просмотр следов без фильтрации |
rlpositive | + | + | - | - | Перенос в список идентификаций |
searchquery | + | + | - | - | Формирование запросов на поиск |
EnPriority | + | + | - | - | Формирование литерных запросов |
querysendl | + | + | - | - | Пакетная рассылка для формирования запросов следов |
querysendf | + | + | - | - | Пакетная рассылка для формирования запросов дактилокарт |
scansendl | + | + | - | - | Пакетная рассылка для формирования сканирования следов |
scansendf | + | + | - | - | Пакетная рассылка для формирования сканирования дактилокарт |
codesendl | + | + | - | - | Пакетная рассылка для формирования кодирования следов |
codesendf | + | + | - | - | Пакетная рассылка для формирования кодирования дактилокарт |
security | + | - | - | - | Просмотр особых дактилокарт |
SearchPolyphem | + | - | - | - | Поиск по БД "Полифем" |
SearchCardIndex | + | - | - | - | Поиск по БД "Картотека" |
Группы пользователей
В целях упрощения администрирования доступа пользователей могут быть заданы групповые права на раздел (псевдоним) базы данных для произвольного состава группы.
Пользователь может входить одновременно в несколько групп, но, при изменении групповых прав на раздел, общие права пользователя (как на данный раздел, так и на всю базу данных) останутся неизменными. Поэтому, прежде чем лишить группу какого либо права, убедитесь, что в общих правах пользователей данной группы, это право отсутствует. В противном случае, пользователь, имеющий общее право на всю базу данных, не потеряет его и относительно данного раздела.
Установка прав пользователей
Установки прав пользователей и групп находятся в следующих конфигурационных файлах системы:
Указанные выше конфигурационные файлы создаются и редактируются автоматически, средствами программы управления пользователями, запускаемой из контрольной панели администратора системы.
Изменения, касающиеся прав доступа к БД, вступают в силу после перезапуска программы view_c7 на машине пользователя (достаточно выйти из программы просмотра БД и снова запустить ее).
Доступ к "чужим" объектам в "разрешенных" сегментах
"Чужими" следами и дактилокартами называются объекты, первоначально введенные в базу данных с серийным номером, отличающимся от номера АДИС подразделения пользователя. Также "чужими" являются следы, изъятые другим подразделением, если это было отражено в запросе при вводе в базу данных.
Доступ к "чужим" следам и картам в "своих" сегментах регулируется системой фильтров.
Фильтры не ограничивают доступ к информации тех пользователей, которые наделены правами fpfilteroff и lmfilteroff.
Все остальные пользователи смогут увидеть карты только двух категорий:
Ограничения, наложенные фильтрами на карты и следы, действуют и на рекомендательные списки.
Система фильтров
Виды фильтров
В базу данных АДИС устанавливается до трех фильтров, один - для дактилокарт и один или два - для следов:
finger.firstdb | - | фильтр для дактилокарт по номеру БД - "родителя" |
latent.firstdb | - | фильтр для следов по номеру БД - "родителя" |
latent.depl | - | фильтр для следов по органу УВД, изъявшему след |
Имена фильтров
Имя фильтра состоит из двух частей, разделенных точкой:
Первая часть имени указывает тип фильтруемых данных:
finger | - | дактилокарты |
latent | - | следы |
Вторая часть указывает название поля, по значению которого фильтруются данные:
firstdb | - | "номер БД-родителя", т.е., номер базы данных, в которую первоначально был введен след или карта |
depl | - | наименование органа внутренних дел, изъявшего след. |
Файлы
К системе фильтров относятся следующие файлы:
$PPLN/conf/<Имя_Фильтра>.fls | - | исходный текст фильтра |
$PPLN/conf/<Имя_Фильтра>.flt | - | компилированный текст фильтра |
$PPLN/conf/filters | - | список фильтров |
$PPLN/conf/<Имя_Фильтра>.msk | - | список масок |
*.w/<Имя_Фильтра>.dat | - | собственно фильтры для каждого сегмента |
Файлы с исходными текстами фильтров создаются вручную при установке АДИС. Все остальные файлы создаются на основе исходных текстов, путем запуска специальных утилит.
Утилиты
Есть три утилиты для работы с фильтрами:
p7fltadd | - | программа компиляции исходного текста |
p7fltbld | - | программа построения фильтров |
p7fltdiag | - | программа диагностики фильтров |
Настройка фильтров
Администратор АДИС может вносить изменения в систему фильтров путем редактирования исходных текстов и последующим построением новых фильтров. Для того, чтобы изменения вступили в силу, необходимо перезапустить программу view_c7 на машине пользователя. Достаточно выйти из программы просмотра БД и снова запустить ее.
Исходные тексты. Формат файлов <Имя_Фильтра>.fls
Файл с исходным текстом фильтра должен иметь следующий формат:
[Тип_Фильтруемых_Данных] | # Такая строка - только одна в каждом фильтре, |
# и она должна быть первой. | |
Field=Название_Поля | # Такая строка - только одна в каждом фильтре. |
Пользователь=Значение_Поля | # Таких строк может быть несколько, но |
# в каждой из них может быть упомянут только | |
# один пользователь и только одно значение поля. |
Здесь:
Тип_Фильтруемых_Данных | - | Finger или Latent; |
Название_Поля | - | FirstDB или DepL; |
Пользователь | - | Номер базы данных или имя станции (см. примечание); |
Значение_Поля | - | Одно из конкретных значений, или символ "*", что означает - "любое значение", то есть, снятие ограничений на значение указанного поля для указанного пользователя. |
Пример 1. Исходный текст простейшего фильтра.
Допустим, серийный номер базы данных вашей АДИС 01fb.
Вам необходимо предоставить всем локальным пользователям доступ ко всем дактилокартам. Текст фильтра будет следующим.
Файл finger.firstdb.fls:
[Finger] | # Фильтр для дактилокарт. |
Field=FirstDB | # Фильтр по полю FirstDB 01fb=*. |
Пример 2. Построение более сложных фильтров.
Допустим, серийный номер базы данных вашей АДИС 01fb.
Есть также удаленные АДИС с номерами БД 005a и 0108, пользователям которых необходим ограниченный доступ к вашей БД.
Вам необходимо, например, обеспечить:
локальной станции ab | - | доступ ко всем картам и следам; |
станции aa удаленной АДИС 005a | - | доступ ко всем картам и следам, созданным в вашей АДИС; |
всем станциям удаленной АДИС 0108 | - | доступ к следам, поступившим в АДИС из Северного ОВД; |
станции ca удаленной АДИС 005a | - | доступ только к "своим" картам и следам, т.е., введенным в АДИС 005a и попавшим в вашу АДИС посредством импорта; |
локальной станции dd | - | доступ только к картам и следам, введенным непосредственно в вашей АДИС. |
Последние два условия выполняются по умолчанию, поэтому нет необходимости описывать их в фильтре. Для трех других условий необходимо построить фильтры. Последовательность действий следующая:
Первые две строчки в каждом фильтре - это заголовок фильтра. Последующие строчки определяют условия доступа.
Файл finger.firstdb.fls:
[Finger] | # Фильтр для дактилокарт. |
Field=FirstDB | # Фильтр по полю FirstDB. |
ab=* | # Станции ab предоставить доступ ко всем картам. |
005a_aa=01fb | # Для станции aa удаленной АДИС 005a выбрать карты, |
# введенные здесь, в АДИС 01fb. |
Файл latent.firstdb.fls:
[Latent] | # Фильтр для следов. |
Field=FirstDB | # Фильтр по полю FirstDB. |
ab=* | # Станции ab предоставить доступ ко всем следам. |
005a_aa=01fb | # Для станции aa удаленной АДИС 005a выбрать следы, |
# введенные здесь, в АДИС 01fb. |
Файл latent.depl.fls:
[Latent] | # Фильтр для следов. |
Field=DepL | # Фильтр по полю DepL. |
0108=Северный ОВД | # Всем станциям АДИС 0108 показывать следы, |
# поступившие из Советского РОВД. |
p7fltadd -p /papillon1 finger.firstdb.fls latent.firstdb.fls latent.depl.fls
Программу p7fltadd можно запустить без параметра -p, из любой точки файловой системы, указав полный путь к любому из исходных текстов фильтра:
p7fltadd /papillon1/conf/finger.firstdb.fls
p7fltbld -p /papillon1
Новая система фильтров построена.