Почему в 1С пропала роль «Полные права» при настройке профилей доступа?

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

Многие разработчики и администраторы 1С сталкиваются с ситуацией, когда при создании нового профиля групп доступа в конфигурации «Розница» (или любой другой типовой конфигурации на базе БСП) в списке доступных ролей невозможно найти роль Полные права. Давайте разберем, куда она делась, почему система ограничивает к ней доступ и как правильно выстраивать систему полномочий в современных версиях 1С.

Понимание архитектуры безопасности БСП

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

  1. Безопасность данных: Роль Полные права является привилегированной. Она не только открывает доступ ко всем метаданным, но и программно отключает механизмы ограничения доступа на уровне записей (RLS). Если предоставить эту роль пользователю, он сможет видеть и изменять абсолютно любые данные, даже если в системе настроены жесткие ограничения по организациям, складам или финансовым условиям.
  2. Целостность системы: Роль Полные права жестко закреплена за предопределенным профилем Администраторы. Логика БСП подразумевает, что этот профиль должен быть единственным способом получения полного контроля над системой. Попытки модифицировать стандартные роли через конфигуратор или пытаться их «обрезать» крайне нежелательны, так как при ближайшем обновлении конфигурации все ваши правки будут затерты, а поведение прав доступа станет непредсказуемым.
  3. Контроль доступа к функциям: Многие администраторы путают «Полные права» на чтение/запись данных с правами на «Администрирование» (такими как управление пользователями, регламентные задания, внешние отчеты). БСП предлагает разделять эти полномочия, создавая узкоспециализированные роли вместо использования «магической» роли Полные права.

Как правильно настроить права, если «Полных прав» нет?

Если вы столкнулись с необходимостью выдать пользователю максимально широкий набор полномочий, но не хотите давать ему роль Полные права, мы рекомендуем следовать стандартному подходу, предлагаемому разработчиками БСП:

  1. Создание специализированных профилей: Разработайте профиль, который включает в себя только те роли, которые действительно необходимы для выполнения конкретных задач (например, роль ДобавлениеИзменениеДокументовПродаж, ЧтениеФинансовыхУсловий и т.д.).
  2. Использование предопределенных профилей: Если пользователю требуются права администратора, используйте типовой профиль Администраторы. Помните, что предопределенные объекты в 1С нельзя редактировать, что гарантирует стабильность прав при обновлениях.
  3. Разделение административных функций: Если вам нужно, чтобы пользователь мог только, например, управлять пользователями или обновлять конфигурацию, не давайте ему полный доступ к данным. В 1С существуют отдельные роли для таких операций, которые не требуют наличия роли Полные права.

Важные рекомендации по проектированию ролей

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


// Пример проверки доступности роли в коде
Если РольДоступна("МояСпециальнаяРоль") Тогда
    // Выполняем действия, специфичные для этой роли
    ВыполнитьДействие();
Иначе
    // Обрабатываем отсутствие доступа
    ВызватьИсключение("У вас недостаточно прав для выполнения этой операции");
КонецЕсли;

Помните: Использование Полных прав для обычных пользователей — это «медвежья услуга» для безопасности вашей информационной системы. Вместо попыток обойти системные ограничения, мы советуем потратить время на корректную настройку Групп доступа и Профилей доступа. Это не только сделает систему защищенной, но и убережет вас от проблем при установке будущих обновлений конфигурации.

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

← На главную