В какой-либо момент при внедрении продукта 1С может возникнуть вопрос о создании специфичных настроек входа для пользователей в систему, например, если потребуется повысить безопасность работы с базой данных.
В таких случаях библиотека стандартных подсистем предусматривает специальные «Настройки входа» для защиты от несанкционированного доступа к приложению. Они находятся в разделе: «Администрирование — Настройки пользователей и прав».
Этот функционал позволяет установить различные настройки политики паролей для пользователей, такие как «минимальная длина пароля», «максимальный срок действия пароля» и т.д.
Есть один нюанс: мы не имеем возможности из коробки установить индивидуальные настройки, если необходимо предусмотреть исключения из общей политики.
Приведу пример необходимости подобного функционала. Между двумя базами настроен обмен через универсальный формат посредством подключения через интернет (веб-сервис). Подключение происходит под определённым служебным пользователем, настройки подключения указаны в параметрах обмена. При заданном значении максимального срока действия паролей для пользователей обмен перестаёт работать из-за истечения срока действия пароля.
Возможность такой настройки предусмотрена платформой «1С:Предприятие».
Если необходимо назначать разным пользователям разные наборы политик, то следует использовать программные средства работы с политиками. В основе этой работы лежит объект «ПолитикаПаролейПользователей», который содержит свойства, полностью повторяющие свойства диалога редактирования параметров информационной базы. Дополнительно к этим свойствам объект «ПолитикаПаролейПользователей» обладает свойством «Имя», которое позволяет указать уникальное имя конкретной политики. Кроме того, данный объект позволяет использовать методы «Записать()» и «Удалить()» для выполнения одноимённых операций.
Подробнее можно ознакомиться на сайте 1С:ИТС в документации к соответствующей версии платформы.
Для назначения различных политик и создана обработка "Изменение политики паролей". Особенности обработки:
1) На форме обработки предусмотрена табличная часть для выбора пользователей, которым необходимо установить индивидуальную политику. Для сохранения настройки обязательно указать хотя бы одного пользователя.
2) Для ввода имени политики предусмотрено соответствующее поле «Имя политики». Для сохранения политики оно должно быть обязательно заполнено.
3) В левой части обработки реализован блок «Настройки политики». Этот блок определяет параметры политики и содержит следующие настройки:
- Максимальный срок действия паролей:
Тип: Число.
Численное значение максимального срока действия паролей в секундах. Максимальный срок действия паролей не может быть меньше минимального.
Значение должно быть в интервале от 0 до 4294967295.
- Минимальный срок действия паролей:
Численное значение минимального срока действия паролей в секундах. Минимальный срок действия паролей не может превышать максимальный.
Значение должно быть в интервале от 0 до 4294967295.
- Минимальная длина паролей:
Тип: Число.
Численное значение минимальной длины паролей пользователей.
Значение минимальной длины должно быть в диапазоне 0…99. Если включена проверка сложности паролей, то значение должно быть в интервале 7…99.
- Ограничение повторения паролей среди других:
Тип: Число.
Численное значение ограничения повторения паролей пользователей среди последних.
Значение должно быть в интервале от 0 до 99.
- Проверка раскрытия паролей:
Тип: Булево.
Определяет наличие проверки раскрытия паролей пользователей.
- Проверка сложности паролей:
Тип: Булево.
Определяет наличие проверки сложности паролей пользователей.
- Срок предупреждения об истечении срока действия паролей:
Тип: Число.
Срок предупреждения об истечении срока действия паролей в секундах.
Значение должно быть в интервале от 0 до 4294967295.
4) При изменении наименования выполняется поиск существующих политик с автоматическим заполнением их свойств и уведомлением пользователя.
5) Команда «Сохранить политику» предназначена для сохранения индивидуальной политики для пользователей, указанных в соответствующей табличной части, с заданным наименованием.
6) Команда «Удалить политику» предназначена для удаления политики по её имени.
Ниже представлен фрагмент кода по созданию новой политики паролей:
ЕстьОшибки = Ложь;
УстановитьПривилегированныйРежим(Истина);
ПолитикаПаролейДляСлужебныхПользователей = ПолитикиПаролейПользователей.НайтиПоИмени(ИмяПолитики);
Если ПолитикаПаролейДляСлужебныхПользователей = Неопределено Тогда
ПолитикаПаролейДляСлужебныхПользователей = ПолитикиПаролейПользователей.СоздатьПолитику();
ПолитикаПаролейДляСлужебныхПользователей.Имя = ИмяПолитики;
КонецЕсли;
ПолитикаПаролейДляСлужебныхПользователей.ДействиеПриНесоответствииПаролейТребованиямПриАутентификации
= ДействиеПриНесоответствииПароляТребованиямПриАутентификации.ПредложитьСменуПароля;
ЗаполнитьЗначенияСвойств(ПолитикаПаролейДляСлужебныхПользователей, ЭтотОбъект);
Попытка
ПолитикаПаролейДляСлужебныхПользователей.Записать();
Исключение
ОбщегоНазначения.СообщитьПользователю(ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()),,,, ЕстьОшибки);
Возврат;
КонецПопытки;
Для Каждого ЭлементСписка Из Объект.СписокПользователей Цикл
НужныйПользователь = Пользователи.НайтиПоСсылке(ЭлементСписка.Пользователь);
НужныйПользователь.ИмяПолитикиПаролей = ПолитикаПаролейДляСлужебныхПользователей.Имя;
Попытка
НужныйПользователь.Записать();
Исключение
ОбщегоНазначения.СообщитьПользователю(ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()),,,, ЕстьОшибки);
КонецПопытки;
КонецЦикла;
Если Не ЕстьОшибки Тогда
ОбщегоНазначения.СообщитьПользователю(НСтр("ru ='Политика паролей успешно сохранена'"),,,, ЕстьОшибки);
КонецЕсли;
Для работы с политикой используется объект встроенного языка "ПолитикиПаролейПользователей " (МенеджерПолитикПаролейПользователей). С помощью метода "НайтиПоИмени" происходит попытка подбора уже существующей политики, если ее не существует создается новая.
После создания новой политики она назначается пользователю в специальное свойство "ИмяПолитикиПаролей".
Проверено на следующих конфигурациях и релизах:
- Управление нашей фирмой, редакция 3.0, релизы 3.0.4.45
- Бухгалтерия предприятия, редакция 3.0, релизы 3.0.191.38
Вступайте в нашу телеграмм-группу Инфостарт