Права доступа в 1С и безопасность


Права доступа в 1С

Как изменить (ограничить) права доступа для пользователей в 1С?

Как ограничить права доступа в 1СВ этой статье я расскажу, и покажу как создать для пользователя 1С, права доступа только чтение. Разграничение прав доступа, будет рассматриваться на примере конфигурации 1С Бухгалтерия предприятия 2.0.

В отличии от старой версии платформы 1С Предприятие 7.7, где для ограничения прав доступа было достаточно поставить несколько галочек в режиме конфигуратора, в 1С 8.1, 8.2, 8.3 для реализации поставленной задачи, необходимо произвести несколько дополнительных телодвижений, но обо всем по порядку.

Когда-то в прошлой жизни давным давно, я писал дипломную работу на тему «Информационная система калькуляции себестоимости готовой продукции», которую в последующем сдал на отлично.

Программную часть я реализовал на Delphi, СУБД Paradox 7.0, базу данных создавал с помощью компоненты Database Desktop, а по просьбе доброго куратора, мне пришлось за одну неделю полностью переписать всю программу, заменив Paradox 7.0 на Microsoft Access и весь стандартный код обработки БД на SQL запросы из Delphi.

Ну да ладно, любой опыт, особенно не запланированный, есть ничто иное, как good!

Для создания калькуляционной таблицы, мне были необходимы реальные данные, за которыми я и отправился на одно предприятие.

Немного забегая вперед, скажу, что системный администратор той конторы, явно переоценивал чувство собственной важности, и в доказательство тому, создал специально для меня пользователя с максимально ограниченными правами на терминальном сервере Windows 2003.

Говоря простыми словами, админ решил мне полностью перекрыть воздух заблокировать доступ к серверу.

Соответственно, мой пользователь 1С Предприятия, имел права только просмотр, т. е. чтение.

С такой постановкой, я в общем не имел возможности путешествовать за пределы своего удаленного рабочего стола, но…

Права доступа в 1С и безопасность сервера

Буквально через несколько минут, я мог просматривать документы, изображения, вызвать консоль Windows: cmd.exe, а что дальше?

Format С: /q ?

Получив доступ к командной строке, в зависимости от знаний и навыков, можно внести серьезные изменения в работу операционной системы, например, сбросить пароль администратора Windows.

Все это конечно шутки, но в любой шутке есть свой контекст, т. е. почва для размышлений, а к этой теме я еще вернусь. 😉

В те далекие и от части немного хмурые 🙂 времена, когда я учился в институте и изучал (практиковал) программирование, мною было прочитано много книг и различных мануалов по информационной безопасности (ИБ), с тех пор я усвоил одно правило:

Основой любого (не обязательно информационного) успешного проекта, является безопасность, а все великое и большое, состоит из малого и ничтожного.

Ограничение прав доступа в 1С

 Задача: Создать группу пользователей 1С с правами только чтение.

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

Мне не удалось создать такую группу с помощью стандартного функционала 1С.

Доступ к конфигурации Бухгалтерия предприятие может получить только пользователь входящий в группу бухгалтер или администратор. Это четко прописано в модуле Управление пользователями, который входит в состав общего модуля 1С.

На этом лирическая теоретическая часть заканчивается, и начинается практика.

Открываем в конфигураторе Бухгалтерию предприятия, и  заходим в меню Конфигурация => Поддержка => Настройка поддержки.

Жмем на кнопку: Включить возможность изменения.

Ставим радио бокс на Редактируется с сохранением поддержки.

Открываем конфигурацию:  Общие => Роль => Добавить.

Придумываем название для будущей группы роли (ReadOnly или ЧтениеТолько) главное потом не запутаться.

Создать роль в 1С

Даем новой роли права только просмотр, (чекбокс на чтение ставиться автоматом)  для разделов: Константы, Справочники, Документы, Журналы документов, Планы видов характеристик, Планы счетов, Регистры бухгалтерии.

Разрешаем просмотр и использование разделов: Отчеты, Обработки.

 Нет прав на запуск требуемого вида клиента!

Для устранения этого сообщения необходимо для корневого раздела Бухгалтерия Предприятия поставить галочку в параметре Толстый клиент.

В целом, это зависит от способа подключения пользователей к конфигурациям и версии 1С Предприятия.  Например, когда я устанавливал сервер 1С 8.2 на Linux, пользователи подключались к конфигурации управление торговлей через веб интерфейс. Следовательно, в этом случае необходимо дать права (поставить галочку) Веб-клиенту.

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

Это действительно так. Поэтому заходим в раздел: Общие открываем вкладку Общие модули и находим там модуль: Управление пользователями в котором черным по белому написано: Отказать! 🙂

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

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

Поэтому нужно немного дополнить условие процедуры: ПроверитьВозможностьРаботыПользователя, добавив в него нашу новую роль: ЧтениеТолько.

Стоит обратить внимание на то, что после обновления конфигурации, все внесенные изменения в код модулей будут заменены на оригинальные, т. е. администратору или программисту нужно будет снова добавить строчку кода: И НЕ РольДоступна ("ЧтениеТолько") в условие модуля Управление пользователями, или дочитать статью до конца и узнать, как сделать обновление в полуавтоматическом режиме без последующего внесения изменений в код редактируемого модуля.

В завершении работы по созданию новой роли, открываем вкладку Параметры сеанса,  которая находиться в разделе Общие, и выставляем право (получение).

После чего в этой вкладке ищем параметры ТекущийПользователь и ОбщиеЗначения, которым выставляем права (получение, установка).

Для отображения полноценного интерфейса программы и возможности путешествия по каталогам сервера, нужно включить интерфейсы. Раздел: Общие => Интерфейсы => Получение.

1С 8.3 интерфейс

Сохраняем конфигурацию Ctrl+S и обновляем F7.

Теперь в конфигураторе 1С, для всех пользователей (Администрирование = > Пользователи) должна появиться новая роль с правами только (просмотр) чтение. 😉

Обновление конфигурации 1С на поддержке с возможностью изменения

После того, как вы включили возможность вносить изменения в конфигурацию, ее обновление будет проходить в полуавтоматическом режиме, т. е. в тот момент когда во время обновления появиться окно:  Обновление Основная конфигурация — Новая конфигурация поставщика 

Обновление конфигурации 1С на поддержке с возможностью  редактирования

Нужно открыть вкладку Общие модули, и найти там модуль Управление Пользователями, в котором открыть Свойства => Модуль и нажатием на кнопочку поиск открыть окно Настройка объединения модулей.

В открывшимся окне снимаем галочку с процедуры Проверить Возможность Работы Пользователя и нажимаем Ok. Продолжаем обновление нажатием на кнопку Выполнить.

После объединения жмем F7 и обновляем конфигурацию базы данных.