Защита документов 1С от копирования: роли, расширение, RDP и аудит
Содержание
Отдельного флажка «запретить копирование» в 1С нет. Команда Скопировать (клавиша F9) создаёт новый документ, поэтому платформа проверяет у пользователя право «Добавление». Забрать только копирование, оставив создание, можно двумя путями: расширением конфигурации, которое отменяет открытие формы-копии, или запретом на уровне ролей вместе с созданием.
Если же задача шире — не дать вынести данные из базы через буфер обмена, печать и файлы, — нужны другие инструменты: право «Вывод», терминальный доступ с отключённым буфером и аудит. Всё это работает в 1С:Предприятии 8.3 с интерфейсом «Такси»; пути меню ниже даны для БП 3.0, ЗУП 3.1 и УТ 11 — они построены на одной библиотеке (БСП), и раздел прав у них устроен одинаково.
Что именно вы хотите запретить: копию документа или вынос данных
Под «защитой от копирования» в 1С понимают две разные задачи. Перепутать их — значит потратить день на настройку, которая ничего не закрывает.
| Задача | Чем решается | Где настраивается | Ограничение |
|---|---|---|---|
| Сотрудник не должен создавать документ копированием | Расширение с проверкой копирования | Конфигуратор, расширение | Нужен программист или администратор с навыками |
| Сотрудник вообще не создаёт документы этого вида | Профиль без права «Добавление» | Администрирование → Настройки пользователей и прав | Запрещает и копию, и новый документ |
| Нельзя копировать таблицы и выгружать списки | Без права «Вывод» | Роли профиля | Ломает печать для этого пользователя |
| Нельзя унести данные на свой компьютер | RDP без перенаправления буфера и дисков | Групповые политики Windows Server | Внутри сеанса копирование остаётся |
| Нужно знать, кто что скопировал | Журнал регистрации, история изменений | Администрирование → Обслуживание | Не запрещает, а фиксирует |
| Защита от фото экрана и пересылки файлов | DLP-система | Отдельный продукт | Платная, требует внедрения |
Права и роли: как запретить копирование документов через группы доступа
В типовых конфигурациях права выдаются не ролями напрямую, а через профили групп доступа. Профиль — набор ролей. Группа доступа — профиль плюс список пользователей и, при необходимости, ограничения по организациям.
Прав на документ у платформы несколько: «Чтение», «Добавление», «Изменение», «Удаление», «Проведение», «Вывод» и их интерактивные варианты. Права «Копирование» среди них нет. Копия — это новый объект, значит без «Добавления» её не создать.
Порядок настройки профиля в БП 3.0, ЗУП 3.1, УТ 11
- Откройте
Администрирование → Настройки пользователей и прав → Профили групп доступа. - Найдите профиль, который сейчас назначен сотруднику. Поставляемые профили менять нельзя — выделите его и скопируйте командой
Скопировать. - Дайте копии понятное имя, например «Бухгалтер без создания актов».
- На вкладке ролей найдите роль, которая даёт право добавлять нужный документ. Обычно имя роли содержит слово «Добавление» или «Изменение» и название объекта. Снимите флажок.
- Запишите профиль. Откройте
Группы доступа, создайте группу с новым профилем и перенесите туда пользователя из старой группы. - Зайдите под этим пользователем и проверьте: кнопок
СоздатьиСкопироватьв списке документов быть не должно.
Роли в типовых конфигурациях часто «широкие»: одна роль даёт права сразу на несколько документов. Сняв её, вы можете отобрать у сотрудника лишнее. Проверьте после настройки весь его рабочий день, а не только один документ.
Если подходящей роли нет, профили тут не помогут. Создайте собственную роль в расширении: в ней права на документ, кроме «Добавления», и подключите её к профилю.
Ограничение по организациям и складам
Часто цель не «запретить копировать», а «запретить видеть чужие документы». Для этого в БП 3.0 есть флажок Ограничивать доступ на уровне записей в разделе Администрирование → Настройки пользователей и прав. После его включения в группе доступа можно указать, с какими организациями работает сотрудник. Документы других фирм он не увидит — значит, и не скопирует.
Ограничение на уровне записей заметно нагружает базу при больших списках. Включайте его, когда пользователей с ограничениями действительно много, а не ради одного человека.
Программная блокировка: отмена копирования в расширении
Это главный приём, когда сотрудник должен создавать документы, но не копией. Механизм простой. Когда пользователь копирует документ, платформа открывает форму нового объекта и передаёт в параметр формы ЗначениеКопирования ссылку на исходный документ. При обычном создании этот параметр пустой.
Значит, достаточно проверить параметр при создании формы и отменить её открытие.
Пошагово
- Откройте конфигуратор:
Конфигурация → Расширения конфигурации, создайте новое расширение. - В дереве основной конфигурации найдите нужный документ, его основную форму документа, и добавьте её в расширение через контекстное меню.
- В модуле заимствованной формы создайте обработчик события
ПриСозданииНаСерверес аннотацией&Перед. - Вставьте код ниже, сохраните расширение и обновите конфигурацию базы данных.
- В режиме 1С:Предприятие проверьте копирование под обычным пользователем и под администратором.
&НаСервере
&Перед("ПриСозданииНаСервере")
Процедура ЗапретКопирования_ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если ЗначениеЗаполнено(Параметры.ЗначениеКопирования)
И Не РольДоступна("ПолныеПрава") Тогда
Отказ = Истина;
ОбщегоНазначения.СообщитьПользователю(
"Копирование документов этого вида запрещено. Создайте новый документ.");
КонецЕсли;
КонецПроцедуры
Что делает код: если форма открывается как копия, а у пользователя нет роли полных прав, форма не открывается, и он видит сообщение. Администратор копировать по-прежнему может.
У некоторых документов несколько форм объекта. Если копия открывается в другой форме, заимствуйте и её. Проверьте, что в списке и в самом документе команда копирования ведёт к одной и той же форме.
Что ещё стоит знать про программный запрет
- 🔹 Вместо роли — своё условие. Можно разрешить копирование конкретной группе пользователей: создайте в расширении пустую роль «РазрешеноКопирование» и проверяйте
РольДоступна("РазрешеноКопирование"). - 🔹 Копирование кодом этот способ не ловит. Обработка, которая вызывает метод
Скопировать()у документа, форму не открывает. У модуля объекта есть событиеПриКопировании, но параметра отказа в нём нет — остановить копию там можно только исключением, а это ломает и типовые механизмы, которые копируют документы для себя. - 🔹 Скрыть кнопку мало. Пользователь сам может убрать кнопку через
Ещё → Изменить форму, но и вернуть её тем же путём. Сокрытие команды — косметика, проверка в коде — защита. - 🔹 Расширение не слетает при обновлении. Типовая конфигурация обновляется, расширение остаётся. Если форма в новом релизе сильно изменилась, платформа сообщит о проблеме при применении расширения.
Буфер обмена, печать и выгрузка списков: право «Вывод»
Сотрудник, который не может скопировать документ , всё ещё может выделить список клиентов, нажать Ctrl+C и вставить в Excel. Или вывести список в табличный документ и сохранить файлом.
За это отвечает право «Вывод» на объекты метаданных. По описанию платформы оно разрешает печать, запись в файл и копирование в буфер обмена. Без него команды вывода списка и копирования из таблицы для этого объекта не работают.
В конфигурациях на БСП есть отдельная роль с правом вывода на принтер, в файл и в буфер обмена. Найдите её в списке ролей профиля поиском по слову «буфер» и решите, нужна ли она сотруднику.
| Что отбираем | Что пропадает у пользователя | Побочный эффект |
|---|---|---|
| Роль вывода в принтер, файл и буфер | Ctrl+C из списков, сохранение, печать | Не напечатает даже свой счёт |
| Право «Вывод» на конкретный справочник | Выгрузка только этого справочника | Нужна своя роль в расширении |
| Интерактивное открытие внешних обработок | Запуск чужих обработок выгрузки | Не откроет и полезные внешние печатные формы |
Не отбирайте вывод у всех подряд — бухгалтер без печати не закроет месяц. Обычно запрет нужен менеджерам с доступом к базе клиентов и стажёрам.
Отдельно проверьте право на интерактивное открытие внешних отчётов и обработок. Через внешнюю обработку можно выгрузить что угодно в файл в обход любых настроек форм. В БСП есть роль на открытие внешних обработок — у рядового пользователя её быть не должно.
Терминальный доступ и RDP: запрет буфера на уровне сервера
Права 1С защищают данные внутри программы. Но если копирование в Excel внутри сеанса разрешено, файл уйдёт по почте или на флешку. Надёжнее держать базу на терминальном сервере и не выпускать оттуда буфер обмена.
Что настроить на Windows Server 2016 и новее
- Откройте редактор групповых политик (
gpedit.mscили доменная политика для сервера). - Перейдите:
Конфигурация компьютера → Административные шаблоны → Компоненты Windows → Службы удалённых рабочих столов → Узел сеансов удалённых рабочих столов → Перенаправление устройств и ресурсов. - Включите политику «Не разрешать перенаправление буфера обмена».
- Там же включите «Не разрешать перенаправление дисков», чтобы пользователь не записал файл на свой компьютер.
- Обновите политики командой
gpupdate /force.
Политики применяются к новым подключениям. Активные сеансы получат их после переподключения пользователя. Применяйте вне рабочего времени или предупредите сотрудников, что им придётся перезайти.
Хороший вариант — публиковать 1С как RemoteApp. Пользователь видит только окно программы, без рабочего стола сервера, проводника и браузера. Опубликуйте приложение запуска 1cestart.exe или конкретный 1cv8.exe нужной версии платформы.
Что этот способ не закрывает:
- 📸 фото экрана телефоном;
- ⌨️ ручное переписывание данных;
- 🖨️ печать, если принтер перенаправлен — отключите и его в той же ветке политик;
- 📧 отправку почты из самой 1С, если она настроена в базе.
Аудит и мониторинг: кто и когда скопировал документ
Запрет без контроля — половина дела. Копия в журнале выглядит как обычное создание нового документа: отдельного события «копирование» нет. Поэтому ищите новые документы нужного вида и сравнивайте их с исходниками.
Журнал регистрации
- Откройте
Администрирование → Обслуживание → Журнал регистрации. - Установите отбор: период, пользователь, событие добавления данных, метаданные — нужный документ.
- Посмотрите, какие документы создал сотрудник и сколько.
В конфигураторе через Администрирование → Настройка журнала регистрации проверьте уровень: для аудита нужна регистрация хотя бы информации, а не только ошибок.
История изменений объектов
В БП 3.0 и ЗУП 3.1 можно включить версионирование: в разделе Администрирование → Общие настройки найдите настройку истории изменений. После этого у каждого документа видно, кто и какие реквизиты менял после создания. Если сотрудник скопировал документ и подменил контрагента или сумму, это будет в версиях.
Версионирование увеличивает размер базы. Включайте его только для тех видов документов, которые реально нужно контролировать, — это задаётся в той же настройке.
Для контроля выгрузок полезен отбор журнала по событию запуска внешних обработок: если рядовой пользователь вдруг открыл чужую обработку, это повод разобраться.
DLP-системы: когда штатных средств 1С мало
Если данные — коммерческая тайна, а риск утечки — реальная угроза бизнесу, смотрите в сторону DLP. Эти системы ставят агент на рабочее место или терминальный сервер и контролируют буфер обмена, печать, флешки, почту и мессенджеры. На российском рынке это, например, InfoWatch, SearchInform, Falcongaze, Staffcop.
| Возможность | Права 1С | RDP-политики | DLP |
|---|---|---|---|
| Запрет копии документа | ✅ | ❌ | ❌ |
| Запрет Ctrl+C из списков | ✅ (без «Вывода») | частично | ✅ |
| Запрет выноса файла на ПК | ❌ | ✅ | ✅ |
| Контроль почты и мессенджеров | ❌ | ❌ | ✅ |
| Снимки экрана и запись действий | ❌ | ❌ | ✅ |
| Стоимость | бесплатно | бесплатно | от нескольких тысяч рублей на рабочее место в год, ориентировочно |
Отдельный юридический момент. Чтобы привлечь сотрудника к ответственности за разглашение, режим коммерческой тайны должен быть введён по правилам закона «О коммерческой тайне»: перечень сведений, ознакомление под подпись, гриф на документах. Сами по себе настройки 1С этот режим не создают.
Пределы защиты и как сохранить настройки после обновлений
Ни одна настройка не защищает от пользователя с полными правами. Администратор базы, программист с доступом в конфигуратор и тот, у кого есть резервная копия базы в формате .dt, обойдут любые ограничения. Поэтому:
- 🔐 держите полные права у двух-трёх человек и проверяйте список раз в квартал;
- 🔐 закройте доступ к каталогу базы и к резервным копиям на уровне файловой системы или сервера СУБД;
- 🔐 отключите внешнее соединение и COM для обычных пользователей — через них данные читаются без интерфейса.
Что происходит с настройками при обновлении типовой конфигурации:
| Где сделана настройка | Переживает обновление? |
|---|---|
| Свой профиль групп доступа | Да, но новые роли релиза в него не добавятся сами |
| Поставляемый профиль | Изменить нельзя, обновится вместе с релизом |
| Расширение с запретом копирования | Да, проверьте после обновления |
| Правка основной конфигурации | Придётся сравнивать и объединять при каждом обновлении |
После обновления зайдите под ограниченным пользователем и повторите проверку: копирование, Ctrl+C из списка, печать. Новый релиз может добавить в форму команду, которой раньше не было.
Свой профиль, собранный из поставляемого, не получает новые роли из релиза автоматически. Если после обновления сотрудник жалуется, что «пропал раздел», сравните его профиль с поставляемым.
Частые вопросы
Можно ли запретить копирование только одного вида документа?
Работает ли запрет в файловой базе?
Пользователь копирует документ через «Ввести на основании». Это тоже копия?
Как запретить копирование для всех пользователей, кроме главного бухгалтера?
Защищает ли запрет копирования от выгрузки в XML через обработки обмена?
Источники
- Федеральный закон от 29.07.2004 № 98-ФЗ «О коммерческой тайне»