Периодическая смена паролей учетных записей — распространенное требование корпоративной безопасности. Разберем, как программно установить новый пароль пользователю информационной базы средствами встроенного языка 1С, какие нюансы платформы необходимо учитывать и какие штатные механизмы безопасности лучше использовать на практике.
Для управления учетными записями платформы предназначен менеджер ПользователиИнформационнойБазы. Свойство Пароль конкретного пользователя доступно только для записи. Это означает, что мы не можем прочитать сохраненный пароль (платформа хранит его в виде необратимого хеша), но можем перезаписать новым строковым значением.
Рассмотрим по шагам, как найти нужного пользователя и сменить ему пароль:
АутентификацияСтандартная, иначе платформа проигнорирует заданный пароль при входе.Пароль.Записать(), чтобы зафиксировать изменения в базе данных.Посмотрим на пример программного кода:
УстановитьПривилегированныйРежим(Истина);
ИмяПользователя = "ИвановИИ";
НовыйПароль = "P@ssw0rd2024!";
ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоИмени(ИмяПользователя);
Если ПользовательИБ <> Неопределено Тогда
ПользовательИБ.АутентификацияСтандартная = Истина;
ПользовательИБ.Пароль = НовыйПароль;
Попытка
ПользовательИБ.Записать();
Исключение
ЗаписьЖурналаРегистрации("СменаПароля", УровеньЖурналаРегистрации.Ошибка,,, ОписаниеОшибки());
КонецПопытки;
КонецЕсли;
Проанализируем технические нюансы, с которыми сталкивается разработчик при автоматизации смены паролей:
Администрирование или АдминистрированиеДанных). При выполнении кода в фоновом или регламентном задании обязательно включаем УстановитьПривилегированныйРежим(Истина).Пользователи. Прямая перезапись пароля в обход стандартных модулей может нарушить внутренние механизмы контроля безопасности или историю смены паролей. В типовых решениях рекомендуется задействовать методы соответствующих общих модулей подсистемы управления пользователями.Генерация паролей на стороне сервера и их отправка открытым текстом по электронной почте считается уязвимым подходом: пароли сохраняются в почтовых ящиках, клиентах и журналах серверов. Выясним, какие альтернативы предлагает платформа и инфраструктура:
АутентификацияОС) полностью снимает задачу управления паролями с 1С. Политика смены паролей, их сложность и блокировки централизованно управляются системным администратором в контроллере домена, исключая необходимость рассылок по почте.