Как предоставить или убрать доступ у пользователя к подключению по Web в 1С:Бухгалтерия 8.3

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

Возможность работы с программой «1С:Бухгалтерия 8.3» через веб-браузер (веб-клиент) — это крайне удобный инструмент для удаленных сотрудников. Однако перед системными администраторами и специалистами по безопасности часто встает задача жесткого контроля каналов подключения. Например, требуется запретить конкретным пользователям или целым отделам заходить в базу из дома через обычный браузер, обязав их использовать только защищенный тонкий клиент или корпоративную сеть. При необходимости автоматизации действий таких сотрудников в интерфейсе без использования API применяется платформа для создания программных роботов RPA.

В этой статье мы подробно разберем, как устроен механизм разграничения прав для веб-клиента в платформе «1С:Предприятие 8.3», проанализируем стандартные методы настройки и рассмотрим более гибкие и безопасные альтернативные варианты, которые уберегут вашу конфигурацию от снятия с поддержки. Для регулярного сопровождения типовых конфигураций на поддержке предусмотрена программа для автоматического обновления и архивирования 1С.

Принцип работы ограничения доступа по Web на уровне ролей

В платформе 1С право на запуск того или иного клиента определяется метаданными. Для этого в свойствах каждой роли в Конфигураторе предусмотрены специальные флаги запуска:

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

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

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

Давайте пошагово разберем, как решить эту задачу различными путями.

Способ 1. Изменение ролей в Конфигураторе (Классический метод)

Этот способ напрямую обсуждался на форуме. Он подходит для баз, которые уже сняты с поддержки, либо для самописных конфигураций.

Выполним следующие шаги для настройки ограничений:

  1. Запустите базу «1С:Бухгалтерия» в режиме Конфигуратор с правами администратора.
  2. Откройте дерево метаданных (сочетание клавиш Ctrl + Shift + C) и разверните ветку Общие -> Роли.
  3. Найдите роль, которую вы хотите изменить (например, созданную вами пользовательскую роль или типовую роль, назначенную вашему сотруднику). Обратите внимание: редактирование типовой роли потребует включения возможности изменения конфигурации, что усложнит последующие обновления.
  4. Дважды кликните по роли, чтобы открыть окно настройки прав.
  5. В дереве объектов метаданных выберите самый верхний элемент (корневой элемент конфигурации).
  6. В правой части окна в списке прав найдите строку Веб-клиент и снимите с нее флажок.
  7. Сохраните конфигурацию базы данных (клавиша F7).

Проанализируем ситуацию с ролью Полные права. Если вы решите снять флаг веб-клиента у этой роли, вам придется полностью перевести конфигурацию в режим редактирования. Мы настоятельно не рекомендуем этого делать для типовой «1С:Бухгалтерии 8.3», так как процедура регулярного обновления превратится в трудоемкий процесс ручного сравнения и объединения форм.

Способ 2. Программное ограничение через расширение (Рекомендуемый метод)

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

Создадим расширение и реализуем логику проверки по шагам:

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

Напишем программный код, который будет проверять тип клиента при запуске. Если программа обнаруживает, что запуск происходит через веб-браузер, она проверяет, входит ли пользователь в список разрешенных, либо проверяет наличие специальной роли, созданной нами внутри расширения.

Посмотрим на пример такого кода:


&После("ПередНачаломРаботыСистемы")
Процедура Расш_ПередНачаломРаботыСистемы(Отказ)
    
    #Если ВебКлиент Тогда
        
        // Проверяем, назначен ли пользователю доступ к Веб-клиенту.
        // Для этого мы можем создать в расширении свою роль "РазрешитьДоступЧерезВеб"
        // и проверять ее наличие у текущего пользователя.
        
        Если НЕ РольДоступна("РазрешитьДоступЧерезВеб") Тогда
            Отказ = Истина;
            ВызватьИсключение "Вход в систему через Web-интерфейс заблокирован администратором. Пожалуйста, используйте Тонкий клиент 1С.";
        КонецЕсли;
        
    #КонецЕсли
    
КонецПроцедуры

Этот код абсолютно безопасен. Он перехватывает событие запуска еще до инициализации основного интерфейса. Если запуск идет из браузера, а у пользователя (даже с полными правами!) нет роли РазрешитьДоступЧерезВеб, система выдаст понятное предупреждение и корректно завершит сеанс. Основная конфигурация при этом остается полностью типовой и обновляется без лишних трудозатрат.

Способ 3. Ограничение на уровне публикации веб-сервера (IIS / Apache)

Поскольку для работы веб-клиента база 1С обязательно должна быть опубликована на веб-сервере (например, Microsoft IIS или Apache HTTP Server), мы можем ограничить доступ административными средствами самой сетевой инфраструктуры. Для быстрой настройки веб-доступа и управления публикацией на сервере можно использовать обработку для публикации информационных баз на IIS и Apache.

Рассмотрим два сценария такой настройки:

  1. Ограничение по IP-адресам. Если ваши сотрудники должны работать с базой только из офиса, вы можете зайти в консоль управления веб-сервера (например, IIS) и в разделе «Ограничения IP-адресов и доменов» настроить белый список. В этот список вносятся только внутренние подсети офиса. В результате, даже если злоумышленник или уволенный сотрудник попытается открыть страницу авторизации 1С из дома, веб-сервер выдаст ошибку доступа 403 (Forbidden).
  2. Авторизация через домен (Active Directory). На веб-сервере IIS можно отключить анонимный доступ и включить Windows-авторизацию. В этом случае браузер запросит у пользователя доменные данные авторизации компьютера. Доступ к публикации 1С получат только те учетные записи Windows, которые включены в соответствующую группу безопасности в Active Directory.

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

Способ 4. Настройка через Профили групп доступа в режиме 1С:Предприятие

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

Разберем по шагам, как настроить ограничения для рядового персонала:

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

Важно помнить, что этот способ сработает только для тех сотрудников, у которых в системе нет административных или полных прав. Для полноценного контроля администраторов используйте программное перехватывание через расширение (Способ №2) или фильтрацию веб-сервера (Способ №3).

← На главную