Запрещаем администратору системы заходить в конфигуратор (внешнее управление сеансами)

08.01.21

Администрирование - Информационная безопасность

Используем функционал внешнего управления сеансами для запрета входа в конфигуратор рабочей базы пользователя с правом администрирования.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Запрещаем администратору системы заходить в конфигуратор (Внешнее управление сеансами):
.cf 78,35Kb ver:1.0.0
11
11 Скачать (1 SM) Купить за 1 850 руб.

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

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

Ознакомимся с информацией от вендора: 2.2.4.4. Внешнее управление сеансами и 5.3.2. Внешнее управление сеансами, ознакомимся также с наработками сообщества: Готовая конфигурация по примеру...Брандмауэр для сервера 1С...Внешнее управление сеансами

Создадим пустую конфигурацию. Добавим в нее справочник - "НастройкиВхода", название базы для контроля сеансов будем задавать в наименовании элемента справочника. Добавим табличную часть - "РазрешенныеПользователиКонфигуратора", с единственным реквизитом - "ИмяПользователя".

Дальше создаем XDTO пакет импортом схемы с ИТС (вышеупомянутая глава 5.3.2. Внешнее управление сеансами)

Получаем пакет описания типов веб-сервиса:

Создаем веб-сервис "SessionControl" с указанием только что созданного пакета XDTO:

Реализуем операции веб-сервиса и параметры операций, для описания параметров используем ту же статью ИТС.

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

Ну и реализуем обработчик операции "onStartSession":

Напишем такой код:

Функция onStartSession(CallNo, ClusterID, ClusterName, InfoBaseName, SessionID, SessionNumber, UserID, UserName, ClientIPAddress, AppID, Zone, LanguageCode, ErrorDescription)
	
    ErrorDescription = "";
	
    Если AppID <> "Designer" Тогда
        Возврат 0;
    КонецЕсли;
	
    НастройкиВхода = Справочники.НастройкиВхода.НайтиПоНаименованию(InfoBaseName, Истина);
    Если НастройкиВхода.Пустая() Тогда
        Возврат 0;
    КонецЕсли;
	
    ПараметрыОтбора = Новый Структура("ИмяПользователя", UserName);
    Если НЕ ЗначениеЗаполнено(НастройкиВхода.РазрешенныеПользователиКонфигуратора.НайтиСтроки(ПараметрыОтбора)) Тогда
        ErrorDescription = СтрШаблон("Пользователю '%1' не разрешен вход в конфигуратор", UserName);
        Возврат 1;
    Иначе
        Возврат 0;
    КонецЕсли;
	
КонецФункции

Из всего обилия параметров веб-сервиса мы используем только "AppID" - вид приложения, "InfoBaseName" - имя информационной базы, "UserName" - имя пользователя.

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

Опубликуем наш веб-сервис в веб:

И пропишем в настройках серверной базы адрес веб-сервиса:

Единственное отступление от инструкции на ИТС - мне пришлось явно указать версию веб-сервиса ("wsver=3") и добавить параметр "ErrorDescription". Получилась следующая строка, где localhost - это имя веб-сервера (у меня тестовый конечно), Control - имя публикации (базы), SessionControl - имя веб-сервиса: 

wsdl=http://localhost/Control/ws/SessionControl?wsdl;ns=http://v8.1c.ru/SessionManagement;srvc=SessionControl;port=SessionControlSoap;wsver=3;ErrorDescription=""

База, в которой будем ограничивать вход пользователей, называется RPA (привет тем, кто знает!). Пусть вход в конфигуратор разрешен только пользователю "АдминистраторКонфигуратора".

Сделаем нужную запись в конфигурации - держателе веб-сервиса.

Попробуем. Работает! Пользователю "АдминистраторКонфигуратора" можно заходить в конфигуратор, остальным нет, причем остальные получают понятное сообщение об ошибке.

Получилось быстро и просто.

К публикации приложена выгрузка конфигурации. Все действия проводились на платформе 8.3.18.1208

Внешнее управление сеансами консоль конфигуратор

См. также

Информационная безопасность Системный администратор Программист Платные (руб)

AUTO VPN (portable) - автоматизация подключения пользователей к удаленному рабочему месту или сети посредством создания автоматического VPN (L2TP или L2TP/IPSEC и т.д.) подключения без ввода настроек пользователем (с возможностью скрытия этих настроек от пользователя). Программа автоматически выполняет подключение к VPN серверу и после успешного коннекта , если необходимо, подключение к серверу удаленных рабочих столов (RDP).

1200 руб.

24.03.2020    15374    25    32    

35

Информационная безопасность Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

2400 руб.

29.08.2016    30059    9    1    

10

Информационная безопасность Пароли Платформа 1С v8.3 Бесплатно (free)

Все еще храните пароли в базе? Тогда мы идем к вам! Безопасное и надежное хранение секретов. JWT авторизация. Удобный интерфейс. Демо конфигурация. Бесплатно.

30.05.2024    6237    kamisov    17    

60

Информационная безопасность Программист Платформа 1С v8.3 Бесплатно (free)

Рассмотрим в статье более подробную и последовательную настройку аутентификации в 1С с использованием распространенной технологии JWT, которая пришла в программу в платформе версии 8.3.21.1302.

27.02.2024    7367    PROSTO-1C    10    

39

Информационная безопасность Программист Платформа 1С v8.3 Абонемент ($m)

Интеграционные решения стали неотъемлемой частью нашей жизни. Правилом хорошего тона в современных приложениях является не давать интегратору доступ к чувствительным данным. Device flow позволяет аутентифицировать пользователя, не показывая приложению чувствительные данные (например: логин и пароль)<br> Рассмотрим Device flow аутентификацию, в приложении, на примере OpenID провайдера Yandex.

1 стартмани

27.10.2023    2420    platonov.e    1    

23

Информационная безопасность Системный администратор Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Продукты на основе решений 1С уверенной поступью захватывают рынок учётных систем в стране. Широкое распространение программ всегда порождает большой интерес к ним со стороны злоумышленников, а пользователь 1С это одна из дверей в защищённый информационный контур предприятия. Обработка позволяет быстро и комплексно оценить настройки безопасности конкретной базы и возможности пользователя этой базы на сервере. Также можно оценить некоторые аспекты сетевой безопасности предприятия со стороны сервера 1С.

5 стартмани

24.04.2023    6263    20    soulner    8    

32

Информационная безопасность Системный администратор Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 Абонемент ($m)

1С, начиная с версии платформы 8.3.21, добавили в систему возможность двойной аутентификации. Как это работает: в пользователе информационной базы появилось свойство «Аутентификация токеном доступа» (АутентификацияТокеномДоступа во встроенном языке), если установить этот признак и осуществить ряд манипуляций на встроенном языке, то появляется возможность при аутентификации отправлять HTTP запросы, которые и реализуют этот самый второй фактор. Данное расширение позволяет организовать двухфакторную аутентификацию с помощью электронной почты или мессенджера Telegram.

2 стартмани

08.12.2022    7291    50    Silenser    12    

24
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. SapientiEst 08.01.21 11:04 Сейчас в теме
Работа проделана большая и квалифицированная...

Но в конфигурациях с которыми работаю лично я есть роль "Администратор" и "Администратор системы" которые вроде должны решать эту задачу (не менять метаданные)...

Или я не прав?
sapervodichka; ardn; +2 Ответить
2. ardn 658 08.01.21 14:41 Сейчас в теме
(1)
На самом деле работа заняла пару-тройку часов с чтением документации (ИТС на самом деле помогает).
Действительно, стандарты разработки предписывают иметь в конфигурации обязательные роли «Полные права» и «Администратор системы», в которых используются права "Администрирование данных" и "Администрирование" соответственно (тут подробно Стандартные роли)
Однако в БСП есть предопределенный элемент "Администратор" справочника "ПрофилиГруппДоступа", и довольно жестко прописано использование обоих ролей, если база - не фрешеподобная:
(тут должен был быть показан скрин)
И тут возникает вопрос - менять конфигурацию (расширением, конечно), создавать свои профили групп доступа или изучить новую для себя технологию.
3. SapientiEst 08.01.21 17:28 Сейчас в теме
(2)
(тут должен был быть показан скрин)

Не грузиться
4. ardn 658 13.01.21 10:47 Сейчас в теме
5. SapientiEst 29.01.21 09:59 Сейчас в теме
6. milanse 38 29.04.22 19:47 Сейчас в теме
С правами в БСП, конечно, не гибко получается, может что-то изменят со временем. Ну и жаль, конечно, что многие фишки есть только в Корп функционале.
Оставьте свое сообщение