Как определить, какие права позволяют пользователю открывать Конфигуратор и Толстый клиент?

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

При работе с крупными конфигурациями, такими как ERP 2.2 или Комплексная автоматизация, администраторы часто сталкиваются с ситуацией, когда пользователю назначено огромное количество ролей (иногда счет идет на десятки). В таких условиях становится сложно контролировать безопасность: пользователь внезапно получает возможность зайти в Конфигуратор или запустить Толстый клиент, хотя в его основном профиле эти возможности не предусмотрены. Разберем детально механизмы платформы «1С:Предприятие 8.3», которые управляют этими доступами.

Принцип суммирования прав в 1С

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

Рассмотрим ситуацию: вы проверили 72 роли, и там все корректно, но в одной «забытой» или вспомогательной роли (например, для запуска какой-то специфической обработки) стоит флаг Толстый клиент. В этом случае пользователь беспрепятственно зайдет в систему под толстым клиентом.

Какие права отвечают за вход в Конфигуратор?

Многие ошибочно полагают, что для входа в Конфигуратор нужна роль с названием «Администратор». На самом деле, название роли в дереве метаданных может быть любым. Возможность запуска режима разработки и администрирования определяется набором общих прав внутри роли. Выясним, какие именно флаги позволяют войти в этот режим:

  1. Администрирование (Administration): Это ключевое право. Оно дает пользователю доступ ко всем функциям административной части, включая управление списком пользователей, просмотр журнала регистрации и, самое главное, запуск базы в режиме Конфигуратора.
  2. Администрирование системы (System Administration): Это право расширяет возможности администрирования и также подразумевает доступ к Конфигуратору.
  3. Обновление конфигурации базы данных (Data Base Configuration Update): Если пользователю разрешено обновлять конфигурацию, он обязан иметь доступ к Конфигуратору.
  4. Администрирование расширений конфигурации: В современных версиях платформы 8.3 это право также является «пропуском» в Конфигуратор, так как работа с расширениями происходит именно там.

Важный нюанс: зайти в Конфигуратор и иметь возможность редактировать код — это разные вещи. Для редактирования структуры метаданных и программных модулей должно быть активно право Сохранение данных конфигурации или Редактирование конфигурации. Если у пользователя есть только Администрирование, он сможет зайти в Конфигуратор, запустить тестирование и исправление, но дерево конфигурации может быть для него недоступно для изменений.

Как ограничить запуск Толстого клиента?

Запуск Толстого клиента регулируется отдельным флагом в свойствах роли. Проанализируем список доступных видов клиентов в окне редактирования роли на вкладке «Общие»:

Если вы хотите, чтобы пользователь работал исключительно через Тонкий клиент (что является стандартом для ERP), необходимо убедиться, что во всех его 73 ролях флаг Толстый клиент снят. В режиме Толстого клиента 1С выполняет код непосредственно на компьютере пользователя, что дает больше возможностей для использования внешних компонент и прямых COM-соединений, но создает дополнительные риски безопасности и увеличивает нагрузку на сеть.

Пошаговый поиск «лишних» прав с помощью отчета

Чтобы не перебирать 73 роли вручную, проанализируем встроенные инструменты Конфигуратора. Самый эффективный способ — использование Отчета по правам доступа. Разберем пошагово, как это сделать:

  1. Запустите базу в режиме Конфигуратор.
  2. Перейдите в меню Администрирование — Пользователи.
  3. Найдите нужного пользователя в списке и нажмите на кнопку «Отчет по правам доступа» (обычно находится в верхней панели списка или в контекстном меню).
  4. В открывшемся окне отчета выберите интересующее вас право, например, Толстый клиент или Администрирование.
  5. Система мгновенно сформирует таблицу, где будет четко указано, через какую именно роль (или роли) пользователь получает данное разрешение.

Этот метод позволяет сэкономить массу времени и точно определить ту самую «лишнюю» роль, которую нужно подправить.

Программный способ проверки прав

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


Для Каждого РольПользователя Из ПользователиИнформационнойБазы.ТекущийПользователь().Роли Цикл
    Если ПравоДоступа("ТолстыйКлиент", Метаданные, , РольПользователя) Тогда
        Сообщить("Внимание! Роль '" + РольПользователя.Имя + "' разрешает запуск Толстого клиента.");
    КонецЕсли;
    Если ПравоДоступа("Администрирование", Метаданные, , РольПользователя) Тогда
        Сообщить("Внимание! Роль '" + РольПользователя.Имя + "' разрешает Администрирование (вход в Конфигуратор).");
    КонецЕсли;
КонецЦикла;

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

Особенности типовых конфигураций (БСП и ERP)

В конфигурации ERP 2.2 управление ролями обычно происходит не напрямую, а через Профили групп доступа. Проанализируем эту структуру:

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

Также помните, что право на Интерактивное открытие внешних обработок часто идет «рука об руку» с толстым клиентом. В тонком клиенте запуск внешних обработок требует их предварительной загрузки в справочник Дополнительные отчеты и обработки, в то время как толстый клиент позволяет открывать их напрямую через меню «Файл - Открыть».

Заключение

Подведем итог. Чтобы закрыть доступ к Конфигуратору и Толстому клиенту, мы должны убедиться, что ни в одной из назначенных ролей у пользователя нет флагов Администрирование и Толстый клиент соответственно. Использование Отчета по правам доступа является самым быстрым и надежным способом решения этой задачи.

← На главную