Как отследить или запретить сохранение отчетов из 1С во внешние файлы?

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

Вопрос информационной безопасности и предотвращения утечек данных является критически важным для любой современной организации. Одной из самых распространенных «дыр» в безопасности является возможность рядового сотрудника выгрузить конфиденциальную информацию (базу клиентов, прайс-листы, финансовые отчеты) во внешний файл формата Excel или PDF через стандартную функцию «Сохранить как». Разберем подробно, какие штатные и сторонние инструменты существуют для решения этой задачи.

Использование прав доступа и ролей

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

В конфигураторе для каждой роли можно настроить право Вывод (в некоторых версиях и контекстах оно называется ПравоВыводаИнформации или ВыводНаПринтерФайлБуферОбмена). Если это право у пользователя снято, то для него блокируются следующие действия:

  1. Копирование выделенных ячеек табличного документа в буфер обмена.
  2. Печать документа на любые принтеры (физические и виртуальные).
  3. Использование команды меню «Файл — Сохранить как».

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

Программная защита табличного документа

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

У объекта ТабличныйДокумент существует свойство Защита. Если установить его в значение Истина, пользователь не сможет редактировать таблицу и, что более важно в нашем контексте, копировать из нее данные. Посмотрим на пример кода при формировании отчета:


// Пример установки защиты для табличного документа
Результат = Новый ТабличныйДокумент;
// ... тут код формирования отчета ...
Результат.Защита = Истина;
Результат.ТолькоПросмотр = Истина;

Однако стоит учитывать, что свойство Защита само по себе не всегда блокирует пункт меню «Сохранить как», если у пользователя есть общие права на вывод. Поэтому для максимальной надежности этот метод нужно комбинировать с настройкой прав доступа.

Кастомизация командной панели отчетов

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

Разберем по шагам, как это сделать:

  1. В форме отчета мы отключаем стандартную командную панель (свойство АвтокоманднаяПанель).
  2. Создаем собственную команду «Печать» или «Экспорт».
  3. В обработчике этой команды мы сначала записываем событие в ЖурналРегистрации, фиксируя, кто, когда и какой объем данных пытается выгрузить.
  4. Только после записи лога вызываем программный метод Записать() для табличного документа.

Пример записи в журнал регистрации перед сохранением:


Процедура КомандаСохранитьОтчет(Команда)
    ЗаписьЖурналаРегистрации("Отчеты.ВыгрузкаДанных",
        УровеньЖурналаРегистрации.Предупреждение,
        ,
        ,
        "Пользователь " + Пользователи.ТекущийПользователь() + " инициировал сохранение отчета.");
    
    // Далее вызываем диалог сохранения файла
    ТабДок.ВыбратьФайлИЗаписать();
КонецПроцедуры

Использование внешних DLP-систем

Проанализируем ситуацию, когда средств самой 1С недостаточно. Служба безопасности часто требует не просто запрета, а детального аудита: что именно было в файле? Для этого применяются системы DLP (Data Loss Prevention). Эти системы работают на уровне операционной системы и сетевого трафика.

Возможности профессиональных систем защиты:

Ограничения на уровне системного администрирования

Если работа ведется в терминальном режиме (RDP), мы можем практически полностью исключить возможность выноса данных техническими средствами. Выясним основные методы настройки сервера:

  1. Запрет проброса дисков: в настройках RDP-подключения отключается возможность использования локальных дисков пользователя. Сохранять файлы становится просто некуда, кроме сетевых папок компании.
  2. Блокировка USB-портов: использование групповых политик (GPO) для запрета подключения любых накопителей.
  3. Контроль буфера обмена: ограничение объема данных, которые можно скопировать через буфер обмена из терминальной сессии на локальный компьютер.

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

Резюме и рекомендации

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

  1. Для рядовых сотрудников полностью отключите право Вывод в их ролях 1С.
  2. Для руководителей, которым необходимо работать с данными в Excel, внедрите систему терминального доступа без возможности выноса файлов на личные устройства.
  3. Для критически важных документов используйте свойство Защита = Истина и ведите аудит их формирования через ЖурналРегистрации.

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

← На главную