Как ограничить права пользователей на пометку элементов справочника на удаление в БГУ 2.0?

Системный администратор 1С v8.3 (Управляемые формы) Бухгалтерский учет IT и автоматизация бизнеса
← На главную

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

Анализ проблемы и принципы безопасности

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

Шаг 1: Пересмотр структуры прав

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

В конфигурации БГУ 2.0 на базе БСП (Библиотеки стандартных подсистем) управление доступом построено на Профилях групп доступа и Группах доступа. Вместо прямого назначения ролей пользователю, действуйте следующим образом:

  1. Создайте Профиль, в который включите только необходимые роли (например, Базовые права, Чтение справочников и роли, отвечающие за Редактирование сведений об организациях для ответственных лиц).
  2. Создайте Группу доступа и свяжите её с созданным профилем.
  3. Включайте пользователей в соответствующие группы доступа.

Шаг 2: Решение проблем с «косвенным включением»

Если при попытке изменить права пользователя система сообщает о невозможности исключения из группы из-за «косвенного включения», это означает, что пользователь находится в иерархической группе или в другой группе пользователей, которая связана с целевой группой доступа. Чтобы исправить это:

  1. Перейдите в раздел Администрирование — Пользователи.
  2. Проверьте принадлежность пользователя к Группам пользователей.
  3. Исключите пользователя из родительской группы, которая косвенно наделяет его избыточными правами.
  4. После этого удалите назначенные административные роли или полные права.

Шаг 3: Техническое ограничение интерактивных действий

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

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

Рассмотрим пример логики, которую можно реализовать в расширении:


Процедура ЗапретПометкиНаУдалениеПередУдалением(Источник, Отказ)
    Если Не РольДоступна(Метаданные.Роли.ПолныеПрава) Тогда
        Если Источник.ПометкаУдаления = Ложь Тогда
            Отказ = Истина;
            ВызватьИсключение "У вас нет прав на пометку элементов на удаление!";
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры

Рекомендации по созданию новых профилей

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

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

← На главную