Как повысить безопасность в системе автоматизации или что такое RLS (Record Level Security)?

Доступ на уровне записей

В данной статье Вы можете узнать, как повысить степень безопасности Вашей системы. Это важный вопрос, от него зависит дальнейшее будущее компании.

Как говорится в одной известной поговорке: «Не в свои сани не лезь». Так и мы будем исходить из того, что каждый сотрудник должен работать только с необходимой для него информацией.

Например, менеджеру по продажам незачем знать, что творится у финансового директора.

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

В этом нам поможет технология Record level security (RLS) – доступ на уровне записей. Термин технический, и в данной статье не ставится задача рассмотреть его с технической стороны. Поэтому оставим все рассуждения и переходим к практике.

Как в любом шпионском боевике будем использовать легенду.

Мы руководим двумя организациями: ООО «Парус» и ООО «Ромашка». Разумеется, все персонажи вымышленные, и любые совпадения случайны.

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

Далее мы внедряем у себя систему 1С:Комплексная автоматизация 8. Задача: разграничить доступ для сотрудников двух организаций.

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

Кассовые документы без RLS

И вроде хочется сказать: «Но можно же настроить отборы на организацию!» Конечно можно, и даже скроем информацию.

Правда возникает два неприятных момента:

  1. Придется облазить всю систему и включить их.
  2. Знающий пользователь их отключит :-)

Поэтому, наше спасение – это использование ограничение доступа на уровне записей (RLS). Что ж, рассмотрим, как это сделать.

Первым делом необходимо в системе включить данную возможность.

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

В 1С:Комплексная автоматизация 8 ред. 1.1. это можно сделать так.

В главном меню выберем: Сервис->Настройка доступа пользователей->Параметры доступа на уровне записей.

Параметры доступа на уровне записей

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

Примечание: в конфигурации 1С:Управление торговлей 8  ред. 10.3 данный механизм включается в Настройках параметра учета. А в конфигурации 1С:Зарплата и управление персоналом 8 ред. 2.5 – в Настройках программы.

Далее в главном меню выберем Сервис->Настройка доступа пользователей->Группы Пользователей

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

Теперь создадим новые группы для наших организаций (не забываем про легенду).

Для ООО «Парус»:

Группы пользователей

Добавим пользователей, входящих в данную группу сотрудников. Далее включаем возможность ограничения доступа: выставляем галочку около вида объекта доступа (простите за ругательство, но так это называется в системе) Организации.

Для ООО «Ромашка» повторяем аналогичные действия.

Далее в форме списка справочника Группы пользователей нажимаем на кнопку Настройка доступа.

А теперь начинается самое интересное.

Группы пользователей

В открывшемся окне начинаем настройку прав доступа:

  1. Выбираем группу доступа
  2. В правом окне жмем кнопку Добавить
  3. Добавляем объект доступа (в нашем случае конкретная организация)
  4. И, если мы хотим, чтобы для данной организации пользователи могли записывать данные, то ставим галочку в столбце Запись.
Настройка прав доступа

Проделываем эти действия для каждой организации.

Далее проверяем, что же получилось. Заходим в базу от имени сотрудника ООО «Парус»:

Кассовые документы, Парус

А теперь – сотрудником ООО «Ромашка»:

Кассовая книга, Ромашка

Как видите, теперь сотрудник своей компании видит только свои документы.

Причем, если даже сотрудник ООО «Ромашка» захочет включить отбор по организациям, то ему будет доступна только своя организация.

Резюме

В данной статье мы рассмотрели механизм ограничения доступа на уровне записей (RLS). Для примера была выбрана система 1С:Комплексная автоматизация 8 (хотя легко все это повторить и в других конфигурациях).

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