Отправляет email-рассылки с помощью сервиса Sendsay

1С и электронная коммерция

  Все выпуски  

1С и электронная коммерция Разграничение доступа к данным в V7




1С и электронная коммерция    Рассылка сайта Системная интеграция + 1С и
Центр "Православный подвижник" - поможет вашему сайту в наполнении и поддержке

Среда, 04 Февраля 2009 года (1881 год – Родился Климент Ворошилов, коммунист, герой Гражданской воны, советский полководец, Председатель Президиума Верховного Совета СССР.)

Внимание! Если хотите, чтобы мы посвятили рассылку Вам или вашему сайту, то пишите на почту: odin-s@bk.ru

Разграничение доступа к данным в V7

Вопрос защиты информации – достаточно серьёзный вопрос на предприятии. Решение вопроса лежит в объединении и административных, и технических мер. Без решения в комплексе вся затея выльется в бессмысленно потраченные ресурсы.

Часто возникают вопросы защиты конфигурации от "внешних" врагов. Но известно, что самый страшный враг – "внутренний". А самый "злобный" враг – пользователь ;-).

Я хочу затронуть тему реализации системы безопасности на V7. Эта задача иногда бывает востребована.

По настройке доступа к базе данных и по защитам конфигурации есть достаточное количество статей. Это такие средства, как терминал, SQL, PGP, внешние компоненты, ключи защиты с кодом. Жаль, что и сама V7 имеет некоторое количество уязвимостей (калькулятор, табло, пункты меню "Файл", "Сервис" и т.д.), которые возможно закрыть от пользователя только патчем движка.

Я хочу рассмотреть задачу разграничения доступа различных групп пользователей к различным данным в самой конфигурации.

В V7 есть механизм настройки прав в конфигураторе, но он не является достаточно гибким. Например, нельзя работать с доступом к конкретным объектам – документам, справочникам, счетам. Разграничение доступа производится на уровне объектов метаданных, а нам нужно разграничить доступ к отдельным экземплярам этих объектов.

Я реализовывал систему разделения доступа к данным для бухгалтерской компоненты. Реализацию таких же идей можно увидеть и в некоторых партнерских конфигурациях. Скажу сразу – тяжело и долго. И поглощает определенные ресурсы. Поэтому, если проблему можно решить чисто административными мерами – так и надо поступать.

Каждый пользователь в системе выполняет определенную роль, согласно своим должностным обязанностям. Доступ к объектам может быть настроен как по ролям, так и по конкретным пользователям. Так же доступ к объектам может быть различным: "закрыт", "просмотр", "редактирование" и т.д.

Проработка положения, какому пользователю присвоить какую роль, а какая роль имеет какие типы доступа к каким объектам по умолчанию – типичная аналитическая задача. Хотя в 95% случаев положение будет составлять "1С:программист" (а раз так, то и назовем его бизнес-аналитиком ;-).

Пара слов о технической реализации. Решений много. Приведу несколько интересных.

При начале работы пользователя, его необходимо идентифицировать. И делать это не только стандартными средствами, но и прописывать дополнительный механизм авторизацию в самой конфигурации, с запросом пароля и определением его прав и интерфейсов. Информацию о пользователях, ролях, типах доступа можно хранить в справочниках.

У объектов типа "документ" и "справочник" логично хранить информацию об авторе (создателе документа) и корректоре (последнем пользователе, который редактировал/перепроводил документ).

Для определения доступа роли к объекту можно использовать служебный справочник. Там же, при необходимости, можно хранить информацию, какой роли или даже пользователю разрешен доступ к конкретному объекту.

При различных действиях с объектами в конфигурации необходимо прописать проверку на разрешение выполнения этих действий.

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

Для документов нужно не открывать "закрытый" документ, так же не открыть операцию этого документа. Журнал операций – проводки "закрытого" документа не отображать. Так же можно добавить закладки (похоже на отборы) и реализовать проверку доступа к закладкам. Разнесение документов по закладкам может быть различным – и по группам видов документов, и по различным признакам.

Для ручной операции можно ввести похожие функции, как для документа, а можно её просто заменить "дублирующим" документом.

Журнал проводок – я закрыл его вообще. Считаю, что это пережиток от V6, неудобный и ненужный.

С отчетами посложнее. Для плана счетов можно так же использовать разделение доступа. В отчетах можно реализовать "закрытость" по счетам, а можно по аналитике.

Я использовал ещё такое решение: если при формировании, например, карточки счета встречается "закрытое" значение, то отчет просто прерывает своё формирование.

Пользователям необходимо прописать разрешения на работу с внешними файлами и обработками. Внешние отчеты можно вызывать программно, из встроенных отчетов.

Иногда есть смысл реализации "периодического" значения роли для пользователя. Например, при повышении в должности, пользователь не должен "видеть" данные по своему предшественнику.

Автор: Сергей Лебедев


Вы можете добавить свою новость или статью по адресу (необходимо зарегистрироваться): www.anobis.ru
По вопросам размещения Ваших статей и информации в наших рассылках - пишите нам: odin-s@bk.ru

Подпишитесь на другие наши рассылки

Рассылки Subscribe.Ru
Секреты рекламы и создания интернет-магазинов
Скидки, подарки, призы...
1С и электронная коммерция
Серверы, сетевое оборудование, тесты, характеристики, советы
Рукопашный бой для девушек – выживание, психология, самозащита!
Милосердие. Чем ты можешь помочь ближнему.
Православные знакомства.
Здоровый образ жизни.

В избранное