Бесшовная доменная аутентификация ОС при интеграции 1С:ERP и 1С:Документооборот

18.12.22

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

Доменная аутентификация ОС при бесшовной интеграции 1С:Документооборот 8 КОРП, редакция 2.1 (2.1.29.18) и 1С:ERP Управление холдингом (3.1.7.4) (в клиент-серверном режиме).

Скачать исходный код

Наименование Файл Версия Размер
Бесшовная доменная аутентификация ОС при интеграции 1С:ERP и 1С:Документооборот:
.zip 156,27Kb
9
.zip 1.0.0.0 156,27Kb 9 Скачать

После настройки, описанной в //infostart.ru/1c/articles/1451386/ кроме последнего пункта 4) Первый вход после перезапуска должен быть выполнен под системной учетной записью 1С.

Это всего лишь проверка, что доступ настроен правильно.

И проверить настройки доступа на опубликованной базе 1С:ДО 

 

 

Так как 1С:ERP агент сервера 1с запущен у меня под доменной учеткой 1cservise, значит, и авторизацию на 1С:ДО должен проходить как доменный пользователь \\мойдомен\1cservise с правами Администратора. Так как это пользователь для обмена, на нем нет и задач на согласование, и прочих сообщений.  Проверить интеграцию можно, создав-таки задачи, указав в качестве исполнителя пользователя 1cservise в 1С:ДО. 

Еще по желанию сделали настройку начальной страницы в 1С:ERP.

 

 

Это все работает из коробки. Хотя подскажите, почему пользователя не передают из коробки? Изменим эту ситуацию.

Далее в конфигураторе ЕРП добавляем в 

 

Содержание бит_п_СерверПовтИсп.ПолучитьИмяПользователя(

Функция ПолучитьИмяПользователя(Пользователь) Экспорт
    
    Возврат ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Пользователь, "Наименование");
    
КонецФункции 

 

После этого 1С:ДО будет ругаться на неизвестный параметр "byUserName".

В конфигураторе 1С:ДО изменить процедуру ОбработкаЗапросовXDTOБизнесПроцессыИЗадачи.ПолучитьСписокЗадач(....

 

 

Содержание процедуры СерверПовтИсп.ПолучитьПользователяПоРеквизиту(Условие_byUserName.value)

Функция ПолучитьПользователяПоРеквизиту(Значение, ИмяРек = "Наименование") Экспорт 

    ЗапросТекст = 
        "ВЫБРАТЬ ПЕРВЫЕ 1
        |    Пользователи.Ссылка КАК Ссылка
        |ИЗ
        |    Справочник.Пользователи КАК Пользователи
        |ГДЕ
        |    Пользователи.Наименование = &Значение
        |    И НЕ Пользователи.ПометкаУдаления";
    
    ЗапросТекст = СтрЗаменить(ЗапросТекст, "Наименование", ИмяРек); 
    Запрос = Новый Запрос(ЗапросТекст);
    Запрос.УстановитьПараметр("Значение", Значение);
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Возврат ?(ВыборкаДетальныеЗаписи.Следующий(), ВыборкаДетальныеЗаписи.Ссылка, Неопределено);

КонецФункции

 

На этом финиш. Сохранить/обновить и пользоваться.

Для отладки в 1С:ДО в расширении закомментировал/удалил строку. 

 

 

! внимательней с этими тэгами #Вставка #КонецВставки #КонецУдаления любой пробел может вызвать отказ подключения расширения на платформе 1С:Предприятие 8.3 (8.3.20.1549).

Использованы 

  • Документооборот 8 КОРП, редакция 2.1 (2.1.29.18)   далее по тексту 1сДО
  • 1С:ERP. Управление холдингом (3.1.7.4)                    далее по тексту 1сЕРП

История/план внедрения на заводе.

исходные: пользователей 1700 работают 1.5 года согласуют 2-3 вида документов, синхронизации пользователей нет, заводят руками в обеих базах, авторизация по паролю.  

1) Удалил дубли ФизЛиц в обоих базах.  (стандартной Обработка.ПоискИУдалениеДублей)

2) Удалил дубли Пользователей.             (стандартной Обработка.ПоискИУдалениеДублей)

3) Заменил ГУИДЫ пользователей в 1сДО

  3.1 в 1сЕРП выгрузить ПользователиГУИДы.epf  скопировать текст

  3.1 в 1сДО вставить текст ПользователиГУИДы.epf  загрузить

 

 

получились дубли пользователей с равными ГУИД между базами и у них ноль документов в основном (оказалось, что есть уже равные ГУИДЫ видимо когда-то синхронизация работала).

Добавил кнопку "Всем Выбрать Основной элемент" ПоискИУдалениеДублей_УстановитьНовые.epf

 

 

Если элемент не действующий или помечен на удаление, он не будет основным, но если на нем ноль объектов то будет.

Убедиться можно, скопировав ссылку элемента пользователя и попытаться открыть ее в обоих базах. Если не открылась метим ее на удаление в 1сДО. 

Далее как обычно. Удалил дубли Пользователей.

4) Настроил синхронизацию. Необходимо только копировать пользователей из 1сЕРП в 1сДО в одну сторону.

Переписал правила для обеих баз. 1сДО ничего не отдает, а 1сЕРП только Пользователей, ФизЛиц, Подразделения.

 

 

ПравилаРегистрации ДО для ЕРП  ОтказВсео.xml                     для 1сДО

Правила регистрации ЕРП для ДО_ТолькоПользователи.xml     для 1сЕРП

! Для прямого доступа к 1сДо требуется руками заполнить пароль и логин. У нас тонким клиентом только админы пользуются.

 

 

Также запретил руками создавать пользователей в 1сДО 

&Перед("ПередЗаписью")
Процедура иаОС_ПередЗаписью(Отказ)
	//Справочники.Пользователи.НайтиПоНаименованию("Уведомления 1С").УникальныйИдентификатор() = Новый УникальныйИдентификатор("b3f1b75b-2ac7-11ed-aba5-00505688e13d")

	Если ОбменДанными.Загрузка Тогда
		Возврат;
	КонецЕсли;
	
	Если Ссылка.Пустая() И
		НЕ Пользователи.ТекущийПользователь().УникальныйИдентификатор() = Новый УникальныйИдентификатор("b3f1b75b-2ac7-11ed-aba5-00505688e13d")
		И НЕ ДополнительныеСвойства.Свойство("ОтключитьМеханизмБесовнойИнтерацииПоГУИДАМ") Тогда
		
		ОбщегоНазначения.СообщитьПользователю(СтрШаблон("Новых Пользователей разрешено создавать только в ERP! ТекПользователь= %1",Пользователи.ТекущийПользователь()),,,,Отказ);	  
	КонецЕсли;	 
	
КонецПроцедуры

"Уведомления 1С" пользователь под которой работает сервер/фоновые задачи. Только с его ГУИД можно создавать пользователей.

5) несколько кругов и тестов с синхронизаций и удаление новых дублей пользователей.

6) устанавливаю расширения

 

 

7) включил авторизацию ОС

 

 

8) пользователям необходимо перезапустить 1сЕРП и удалить логин с паролем.

 

 

Финиш.

Итого. Пользователей заводят в одном месте и у них одинаковый ГУИД, что позволяет избавится от запросов поиска по наименованию. Аутентификация ОС работает. 

Минус. Если у пользователя настроен прямой доступ в 1сДО. Указана Аутентификация операционной системы 

 

 

и он умеет писать WEB запросы, то можно согласовать документы за любого пользователя.

 

Новости от 01.12.2022

Обновили до 1С:ERP Управление холдингом (3.1.9.1)  изменились названия модулей добавил в архив новое расширение ИнтеграцияАвторизОС_БП (1СERP Управление холдингом (3.1.9.1)) в3.cfe.

Обнаружил, что РЛС не отрабатывает в бесшовной интеграции хотя ПараметрыСеанса.ТекущийПользователь установлен с ограниченными правам, а в тонком клиенте все ок. исправил..

Процедура ДобавитьУсловияИзРЛС(Запрос, ЗапросТекст)
	
	Попытка
		
		ТекущийПараметрСеанса = ПараметрыСеанса.ПараметрыСеансаСинхронизацииДанных.Получить();
		
		byUserAktivGUID = ТекущийПараметрСеанса.Получить("byUserAktivGUID");
		
		Если byUserAktivGUID = Неопределено Тогда 
			
			Возврат;
			
		КонецЕсли;
		
	Исключение
		
		Возврат;
		
	КонецПопытки;
	
	// РЛС должен взять параметры из ПараметрыСеанса.ТекущийПользователь, но не в моей платформе... 
	// поэтому добавляю условия из Роли. ЧтениеШаблоновПроцессов
	
	Запрос.УстановитьПараметр("ТекущийПользователь", byUserAktivGUID);
	
	мЗапросТекст = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(СтрЗаменить(ЗапросТекст, "ПодходящиеНастройки", "ПодходящиеНастройкиИсх"));
	
	мЗапросТекст.Добавить("
	|
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|             ТекущаяТаблица.Объект,
	|             ТекущаяТаблица.ПоОрганизации,
	|             ТекущаяТаблица.Шаблон,
	|             ТекущаяТаблица.Условие
	|ПОМЕСТИТЬ ПодходящиеНастройки
	|ИЗ
	|             ПодходящиеНастройкиИсх КАК ТекущаяТаблица");
	
	мЗапросТекст.Добавить(ПолучитьУсловияРЛС_ЧтениеШаблоновПроцессов());
	
	ЗапросТекст = СтрСоединить(мЗапросТекст,"");
	
КонецПроцедуры

 

См. также

AUTO VPN (portable)

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

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

1200 руб.

24.03.2020    14465    22    32    

33

Настройка аутентификации в 1С с использованием стандарта RFC 7519 (JWT)

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

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

27.02.2024    3041    PROSTO-1C    9    

32

Device flow аутентификация, или туда и обратно

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

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

1 стартмани

27.10.2023    1701    platonov.e    1    

23

Анализатор безопасности базы сервера 1С

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

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

5 стартмани

24.04.2023    5543    17    soulner    7    

29

Двухфакторная аутентификация в 1С через Telegram и Email

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

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

2 стартмани

08.12.2022    6076    33    Silenser    12    

23

История одного взлома или проверьте вашу систему на безопасность

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

От клиента клиенту, от одной системы к другой, мы вновь и вновь встречаем одни и те же проблемы и дыры в безопасности. На конференции Infostart Event 2021 Post-Apocalypse Виталий Онянов рассказал о базовых принципах безопасности информационных систем и представил чек-лист, с помощью которого вы сможете проверить свою систему на уязвимость.

26.10.2022    9387    Tavalik    46    

113
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. sapervodichka 6799 16.09.22 19:45 Сейчас в теме
+1 заморачивался с ней в прошлом году, не решил, спасибо, нужная вещь
+
2. ardn 627 16.09.22 22:17 Сейчас в теме
Ок, список задач по пользователю получили. А выполнение задачи будет от того же служебного пользователя?
+
3. fvr2000 11 17.09.22 01:07 Сейчас в теме
А как выполнять задачи? А как запускать на согласование интегрированные документы? Ну и много чего есть в БИД, это везде допиливать предлагается?
+
4. oleg21592 20 19.09.22 12:15 Сейчас в теме
(3) обычно программисты одинаковый код выносят в отдельную процедуру. Поэтому необходимо конкретный пример, что не работает?
+
5. leonvlas 06.10.22 09:44 Сейчас в теме
У нас работает так.
Посылается запрос в документооборот на получение авторизации.
Получаем пользователя и пароль (в хеше) и авторизуем по этим данным.

Все пользователи синхронизированы между базами и прилетают автоматом из ЗУП при приеме.
+
6. makaron24 17.02.23 12:52 Сейчас в теме
(5) Могли бы рассказать подробнее как у Вас это реализовано...
+
Оставьте свое сообщение