Работа с системой 1С:Предприятие требует особого внимания к разграничению доступа — особенно когда речь идет о полных правах, которые по умолчанию получают администраторы или ключевые пользователи. Неконтролируемое использование таких прав может привести к случайному удалению данных, изменению конфигурации или даже утечке конфиденциальной информации. Согласно статистике 1С, более 60% инцидентов безопасности в корпоративных базах связаны именно с избыточными правами доступа.
В этой статье мы разберем 7 проверенных способов ограничить полные права в 1С 8.3 и 1С 8.2, включая настройку ролей, использование механизмов RLS (Row-Level Security), а также администрирование через Консоль администрирования сервера 1С. Вы узнаете, как грамотно распределить доступ между отделами, не блокируя при этом критические бизнес-процессы, и какие скрытые настройки конфигуратора позволяют ограничить даже права администратора базы.
Особое внимание уделим типичным ошибкам: почему простое удаление галочки"Полные права" в настройках пользователя часто не работает, как обойти ограничения через Режим отладки, и что делать, если после изменений пользователи потеряли доступ к необходимым функциям. Все инструкции сопровождаются скриншотами и примерами кода для 1С:Управление торговлей, 1С:Бухгалтерия и 1С:Зарплата и управление персоналом.
1. Почему полные права в 1С опасны: реальные кейсы утечек данных
Предоставление полных прав в 1С сравнимо с выдачей универсального ключа ко всем дверям компании. Рассмотрим несколько ситуаций, с которыми сталкиваются администраторы:
- 🔓 Случайное удаление данных: Бухгалтер с полными правами вместо проводки удалил все документы за квартал — восстановить их удалось только из резервной копии, потеряв 3 рабочих дня.
- 💸 Мошенничество: Кладовщик изменил остатки товаров в 1С:Управление торговлей, списав дефицитный товар"в утиль", а затем продал его через сторонний канал.
- 🖥️ Взлом через уязвимости: Злоумышленник, получив доступ к учетной записи с полными правами, подключился к базе через
ODataи выгрузил все данные клиентов. - ⚙️ Нарушение конфигурации: Программист-стажер случайно обновил типовую конфигурацию, не сохранив изменений — система перестала запускаться.
По данным 1С-ЦРМ, в 2026 году 42% компаний, столкнувшихся с инцидентами безопасности, использовали стандартные настройки прав без дополнительных ограничений. При этом 89% утечек произошло не из-за внешних атак, а по вине внутренних пользователей с избыточными правами.
⚠️ Внимание: В версиях 1С:Предприятие 8.3.20+ механизмRLS(ограничение доступа на уровне записей) работает иначе, чем в более ранних релизах. Если вы используете управляемые формы, проверьте совместимость ограничений с текущей версией платформы вСправке → О программе.
2. Способ 1: Настройка ролей — базовый уровень защиты
Самый очевидный, но часто недооцененный метод — корректировка ролей. По умолчанию в 1С есть роль ПолныеПрава, которую можно как модифицировать, так и заменить на кастомные варианты. Рассмотрим пошаговую инструкцию:
- Откройте конфигуратор в режиме
1С:Предприятие(не путать с пользовательским режимом!). Перейдите вАдминистрирование → Пользователи. - Выберите пользователя, у которого нужно убрать полные права, и нажмите
Изменить. - В разделе
Ролиснимите галочку сПолныеПрава. Система предложит альтернативные роли — выберите те, что соответствуют должностным обязанностям (например,Бухгалтер,Кладовщик). - Для тонкой настройки нажмите
Дополнительнои вручную отредактируйте права на объекты (документы, справочники, отчеты).
Важно: Если после сохранения пользователь жалуется на отсутствие доступа к критическим функциям, проверьте:
- 🔍 Наличие роли
ИнтерактивноеОткрытиеФорм(без нее пользователь не сможет открывать некоторые окна). - 📋 Права на
ЖурналыДокументов— без них невозможно просмотреть историю операций. - 🔄 Права на
РегламентныеЗадания(если используются фоновые процессы).
У пользователя есть роль для его отдела (Бухгалтер/Менеджер/Кладовщик)
Права на просмотр справочников (Контрагенты, Номенклатура) не заблокированы
Добавлена роль"ИнтерактивноеОткрытиеФорм"
Проверены права на печатные формы документов-->
Для автоматизации процесса можно использовать скрипт на 1С-встроенном языке, который массово назначает роли пользователям по должностям:
Процедура НазначитьРолиПоДолжностям
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Пользователи.Ссылка КАК Пользователь,
| Пользователи.Должность КАК Должность
|ИЗ
| Справочник.Пользователи КАК Пользователи";
Результат = Запрос.Выполнить;
Выборка = Результат.Выбрать;
Пока Выборка.Следующий Цикл
ПользовательОбъект = Выборка.Пользователь.ПолучитьОбъект;
Если Выборка.Должность = Перечисление.Должности.Бухгалтер Тогда
ПользовательОбъект.Роли.Добавить(Справочники.Роли.Бухгалтер);
ПользовательОбъект.Роли.Удалить(Справочники.Роли.ПолныеПрава);
КонецЕсли;
ПользовательОбъект.Записать;
КонецЦикла;
КонецПроцедуры
3. Способ 2: Ограничение доступа на уровне записей (RLS)
Механизм RLS (Row-Level Security) позволяет ограничивать доступ не только к объектам меты (справочникам, документам), но и к конкретным записям. Например, менеджер по продажам будет видеть только своих клиентов, а не всю базу. Настройка осуществляется через:
Конфигуратор → Объекты → [Выбранный объект, например"Справочник.Контрагенты"] → Права.- Включите опцию
Ограничение доступа на уровне записей. - Напишите условие ограничения. Пример для менеджеров:
Отбор.Добавить("Менеджер", ТекущийПользователь);
- Сохраните конфигурацию и обновите базу.
RLS поддерживает сложные условия с использованием:
- 🔗 Связанных справочников: Например, доступ только к контрагентам, прикрепленным к текущему подразделению пользователя.
- 📅 Дат: Ограничение просмотра документов за последний месяц.
- 💰 Сумм: Скрытие документов с суммой выше определенного порога (актуально для бухгалтерии).
⚠️ Внимание: В 1С:Управление торговлей 11.5+ при использовании RLS для документовЗаказКлиентаиРеализацияТоваровУслугможет возникнуть конфликт с механизмомКонтрольОстатков. Перед применением ограничений протестируйте сценарий на копии базы!
| Объект | Пример условия RLS | Для какой роли подходит |
|---|---|---|
Справочник.Контрагенты |
Отбор.Добавить("Подразделение", ТекущийПользователь.Подразделение); |
Менеджеры по продажам |
Документ.ПоступлениеТоваров |
Отбор.Добавить("Дата", НачалоДня(ТекущаяДата) - 30); |
Кладовщики (доступ за 30 дней) |
Справочник.Номенклатура |
Отбор.Добавить("Группа", Перечисление.ГруппыНоменклатуры.Товары); |
Логисты (только товары, без услуг) |
Документ.ПлатежноеПоручение |
Отбор.Добавить("СуммаДокумента", 100000, ВидСравнения.Меньше); |
Бухгалтера (до 100 000 руб.) |
RLS (ограничение на уровне записей)|Настройка ролей|Групповая политика 1С|Не использую ограничения|Другой вариант-->
4. Способ 3: Групповая политика — управление правами для отделов
Если в компании более 20 пользователей, настройка прав для каждого вручную становится неэффективной. Здесь поможет групповая политика, доступная в 1С:Предприятие 8.3.18+. Она позволяет:
- 🏢 Создавать шаблоны прав для отделов (например,"Отдел продаж","Бухгалтерия").
- 🔄 Автоматически применять изменения при добавлении нового сотрудника в группу.
- 📊 Контролировать исключения (например, дать руководителю отдела расширенные права).
Алгоритм настройки:
- Перейдите в
Администрирование → Групповая политика. - Создайте новую политику, указав название (например,
ПолитикаДляБухгалтеров). - Добавьте роли, которые должны быть у всех пользователей группы (например,
Бухгалтер,ПросмотрОтчетов). - В разделе
Исключенияукажите пользователей, для которых нужно расширить или сузить права. - Примените политику к группе пользователей из Active Directory или локального справочника
Пользователи.
Преимущество групповой политики — централизованное управление. Например, если в отделе продаж появится новый менеджер, ему автоматически назначатся все права, прописанные в политике ПолитикаДляПродаж, без ручного вмешательства администратора.
Если в вашей компании используется Active Directory, синхронизируйте группы пользователей в 1С с AD-группами. Это позволит управлять правами из Windows Server, не заходя в конфигуратор 1С.
5. Способ 4: Ограничение прав администратора базы
Даже администратор 1С не должен иметь неконтролируемых полномочий. В типовой конфигурации роль Администратор часто включает ПолныеПрава, но это можно исправить. Вот как ограничить администратора:
- Создайте новую роль (например,
АдминистраторОграниченный) вКонфигуратор → Общие → Роли. - Скопируйте права из стандартной роли
Администратор, но удалите:- 🚫 Право на
Администрирование сервера 1С(если не нужно управлять кластером). - 🚫 Право на
Изменение конфигурации(если администратор не является программистом). - 🚫 Право на
Удаление помеченных объектов(чтобы избежать случайного очищения базы).
- 🚫 Право на
- Назначьте новую роль пользователю с правами администратора, удалив старую роль
ПолныеПрава. - 🔐 Разделите обязанности: Один пользователь управляет правами, другой — настройками сервера, третий — конфигурацией.
- 📜 Ведите журнал изменений: Включите аудит в
Администрирование → Журналы регистрации. - 🔄 Используйте двухфакторную аутентификацию для учетных записей администраторов (начиная с 1С:Предприятие 8.3.21).
- 👁️ Скрывать конфиденциальные поля (например, зарплаты в 1С:ЗУП).
- 🔒 Блокировать кнопки (например,"Удалить документ" для рядовых пользователей).
- 📱 Адаптировать формы под мобильные устройства, убирая лишние элементы.
Для дополнительной защиты:
⚠️ Внимание: В 1С:Бухгалтерия 3.0 рольАдминистраторпо умолчанию имеет право наИзменение данных за закрытые периоды. Если в вашей компании действует правило"закрытый месяц не редактируется", обязательно удалите это право из кастомной роли администратора.
6. Способ 5: Использование механизма"Права доступа" в управляемых формах
В управляемых формах (используемых в 1С 8.3) можно гибко настраивать видимость и доступность элементов интерфейса в зависимости от ролей пользователя. Это позволяет:
Пример настройки для формы документа РеализацияТоваровУслуг:
- Откройте форму в
Конфигуратор → Объекты → Документ.РеализацияТоваровУслуг → Формы. - Выберите элемент формы (например, кнопку
Печать) и в палитре свойств найдите разделПрава. - Укажите, какие роли имеют право видеть/использовать этот элемент. Например:
Видимость = Ложь;
Если ТекущийПользователь.Роли.Найти("Бухгалтер") <> Неопределено Тогда
Видимость = Истина;
КонецЕсли;
Для массовой настройки используйте шаблоны прав:
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если НЕ ЗначениеЗаполнено(ПараметрыСеанса.ТекущийПользователь.Роли.Найти("Администратор")) Тогда
ЭлементыФормы.КнопкаУдалить.Видимость = Ложь;
ЭлементыФормы.РеквизитЗарплата.Доступность = Ложь;
КонецЕсли;
КонецПроцедуры
7. Способ 6: Ограничение через консоль администрирования сервера 1С
Для кластерных установок 1С:Предприятие (например, при работе с 1С:Сервером) можно ограничивать права на уровне сервера через Консоль администрирования. Это актуально, если:
- 🖥️ Нужно ограничить доступ к определенным базам данных в списке.
- 🔌 Требуется заблокировать внешние подключения (например, через
ODataилиHTTP-сервисы). - 📡 Необходимо разграничить права на фоновые задания.
Инструкция:
- Откройте
Консоль администрирования сервера 1С(доступна по путиПуск → 1С Предприятие → Администрирование сервера 1С). - Подключитесь к кластеру серверов.
- Перейдите в раздел
Пользователи и права. - Выберите пользователя и настройте:
- 📋 Доступные базы данных (отметьте только те, которые нужны пользователю).
- 🔌 Разрешенные протоколы (например, запретите
HTTP, оставив толькоTCP). - 🕒 Ограничение по времени (можно задать интервалы, когда пользователь может подключаться).
- 📜 Журналы регистрации: Фиксируют все действия пользователей (включение/отключение в
Администрирование → Журналы регистрации). - 🔍 Отчеты по правам: Показывают, какие роли назначены пользователям (
Администрирование → Отчеты → Права пользователей). - 🚨 Уведомления о подозрительных действиях: Настраиваются через
Регламентные задания(например, оповещение при попытке изменить конфигурацию).
Для автоматизации можно использовать PowerShell-скрипты (актуально для Windows Server):
Пример скрипта для ограничения доступа к базе"Бухгалтерия" для пользователя"ivanov"
$cluster = Get-Item"1C:Cluster\localhost\DefaultCluster"
$user = $cluster.Users | Where-Object { $_.Name -eq"ivanov" }
$user.Databases.Clear
$user.Databases.Add("Бухгалтерия")
$user.Save
8. Способ 7: Аудит и мониторинг изменений прав
Ограничение прав — это только половина задачи. Не менее важно отслеживать, как эти права используются. В 1С для этого предусмотрены:
Пример настройки аудита:
- Включите журнал регистрации в
Администрирование → Журналы регистрации → Настройка. - Отметьте события для логирования:
- 🔹
Изменение данных(для критичных справочников). - 🔹
Удаление объектов. - 🔹
Изменение прав пользователей.
- 🔹
Для анализа логов можно использовать внешние инструменты, такие как 1С:Лог эксперт или ELMA BPM, которые умеют парсить журналы 1С и визуализировать подозрительную активность.
Регулярный аудит прав (раз в квартал) позволяет выявлять"забытые" учетные записи с избыточными правами, созданные для временных задач (например, для миграции данных или тестирования).
FAQ: Частые вопросы по ограничению прав в 1С
Как проверить, какие права есть у пользователя?
Перейдите в Администрирование → Пользователи, выберите пользователя и нажмите Права. Система покажет все назначенные роли и explicit-права. Для детального анализа используйте отчет Права пользователей в разделе Администрирование → Отчеты.
Можно ли ограничить права на уровне полей документа (например, скрыть сумму в накладной)?summary>
Да, для этого используйте механизм прав доступа в управляемых формах (см. Способ 5). Альтернативно — настройте RLS с условием на конкретное поле. Например, для поля СуммаДокумента в документе РеализацияТоваровУслуг можно добавить проверку:
Если НЕ ТекущийПользователь.Роли.Найти("Руководитель") Тогда
Возврат Ложь; // Скрыть поле
КонецЕсли;
RLS с условием на конкретное поле. Например, для поля СуммаДокумента в документе РеализацияТоваровУслуг можно добавить проверку:
Если НЕ ТекущийПользователь.Роли.Найти("Руководитель") Тогда
Возврат Ложь; // Скрыть поле
КонецЕсли;
Что делать, если после ограничения прав пользователь не видит нужные документы?
Вероятные причины и решения:
- Не хватает ролей: Добавьте роль
ПросмотрДокументовили аналогичную. - Конфликт RLS: Проверьте условия ограничения на уровне записей в конфигураторе.
- Кэш меты данных: Обновите кэш через
Администрирование → Обслуживание → Очистка кэша.
Для диагностики используйте Тестовый режим (Отладка → Тестирование и исправление) с имитацией прав пользователя.
Как ограничить права на запуск внешних обработок?
В 1С 8.3.16+ это настраивается через роль ЗапускВнешнихОбработок. Чтобы заблокировать запуск:
- Откройте роль пользователя в конфигураторе.
- В разделе
Прочие праваснимите галочку сЗапускВнешнихОбработокИОтчетов. - Сохраните изменения и обновите базу.
Для дополнительной защиты добавьте в RLS условие на каталог с обработками:
Отбор.Добавить("ПутьКФайлу","C:\1C\ExternalReports\", ВидСравнения.НеСодержит);
Можно ли ограничить права администратора на изменение конфигурации?
Да, для этого:
- Создайте новую роль (например,
АдминистраторБезИзменений). - Скопируйте в нее все права из стандартной роли
Администратор, кромеИзменениеКонфигурациииАдминистрированиеСервера. - Назначьте эту роль администратору вместо
ПолныеПрава.
⚠️ Внимание: В 1С:Управление торговлей 11 даже без права на изменение конфигурации администратор может редактировать некоторые настройки черезАдминистрирование → Настройки программы. Для полной блокировки используйтеRLSна объектеКонстанты.