Чем аутентификация средствами 1с предприятия отличается от аутентификации операционной системы
Возможно ли использовать Рутокен (РутокенWeb) для аутентификации пользователей 1С. Если да, то как?
- Алексей Несененко
- Посетитель
- Неактивен
Насколько нам известно система 1С поддерживает два вида аутентификации, которые могут использоваться в зависимости от конкретных задач, стоящих перед администратором информационной базы:
- аутентификация средствами 1С:Предприятия;
- аутентификация средствами Windows.
При выполнении аутентификации средствами Windows, от пользователя не требуется каких-либо действий по вводу логина и пароля. Система анализирует, от имени какого Windows-пользователя выполняется подключение к прикладному решению, и на основании этого определяет соответствующего пользователя 1С.
В свою очередь, аутентификация пользователя средствами Windows может быть осуществлена посредством смарт-карт и токенов и, в частности идентификаторов Рутокен, причем может быть как доменной (при развернутой в домене инфраструктуре открытых ключей), так и локальной (с использованием специального дополнительного ПО).
Организовать авторизацию входа пользователя на сервер без домена и центра сертификации можно с помощью установки дополнительного ПО.
Обратите внимание на разработки наших партнеров:
В самом 1С:Предприятии, начиная с версии 8.2, появилась возможность работы с объектом криптопровайдера средствами платформы.
Функционал реализован в решении на 1С, когда закрытый ключ хранится в реестра ОС.
Огромное спасибо за оперативный ответ.
В самом 1С:Предприятии, начиная с версии 8.2, появилась возможность работы с объектом криптопровайдера средствами платформы.
Функционал реализован в решении на 1С, когда закрытый ключ хранится в реестра ОС.
Где можно поподробнее уточнить про работу с криптопровайдером в 8.2? Может есть ссылки?
Еще вопрос: можно ли (теоретически) написать модуль внутри (т.е. в самой конфигурации) 1С который бы проверял наличие ключа, в частности через веб-интерфейс.
Т.е. пользователь заходит на сайт (веб-клиент 1С), вводит логин и пароль, далее 1С проверяет наличие ключа, его соответствие логину и паролю и либо "пропускает" пользователя, либо завершает работу 1С.
PS. Или вариант, сначала сайт проверяет наличие ключа, и если он есть, и все хорошо то "запускает" 1С и предлагает ввести логин и пароль, а если ключа нет, или "он не той системы" то до авторизации в 1С дело не доходит.
Аутентификация — это подтверждение, что пользователь действительно тот за кого себя выдает.
Средствами платформы аутентификация выполняется через проверку пароля пользователя.
Для включения аутентификации средствами платформы нужно в настройках пользователя установить флаг Аутентификация 1С:Предприятия:
Ниже можно указать пароль пользователя. Тогда для входа в программу нужно ввести логин и пароль:
Если у пользователя снят флаг Аутентификация 1С:Предприятия, то он не будет отображаться в списке выбора пользователей.
Аутентификация операционной системы
Аутентификация операционной системы работает только для Windows. Но если подключение выполняется через веб-сервер Apache, то аутентификация операционной системы не будет работать.
В настройках пользователя нужно установить флаг Аутентификация операционной системы и выбрать одного из пользователей операционной системы:
При запуске платформа запросит имя пользователя у операционной системы, затем проверит есть ли в списке пользователей 1С пользователь, у которого указана аутентификация операционной системы и указан текущий пользователь ОС. Если такой пользователь 1С есть, то программа будет запущена под ним без запроса логина и пароля. Если нет такого пользователя, то будет выведен стандартный диалог ввода логина и пароля (если установлен флаг Аутентификация 1С:Предприятия).
Для одного пользователя может быть одновременно включена и аутентификация средствами операционной системы и аутентификация 1С:Предприятия.
OpenID-аутентификация
OpenID-аутентификация позволяет использовать для аутентификации в 1С внешний OpenID-провайдер. OpenID-провайдером может быть как база на платформе 1С, так и внешняя система, которая реализует работу по протоколу OpenID Authentication 2.0 и расширение этого протокола, реализованное в платформе 1С.
Преимущество данной аутентификации в том, что один провайдер может использоваться для аутентификации в нескольких базах 1С. Достаточно аутентифицироваться в одной базе, чтобы в другие входить без ввода логина и пароля.
Алгоритм аутентификации через OpenID выглядит следующим образом:
Сначала опубликуем на веб-сервере OpenID-провайдер. Это будет база 1С с пустой конфигурацией:
Чтобы данную базу можно было использовать как OpenID-провайдер нужно на закладке OpenID установить флаг Использовать в качестве OpenID-провайдера и указать Время жизни аутентификации в секундах. После истечения этого времени нужно будет снова ввести логин и пароль при входе в 1С.
Аутентификация – проверка принадлежности предъявленного идентификатора (имени) конкретному пользователю системы, проверка подлинности. Система «1С:Предприятие» поддерживает несколько различных вариантов аутентификации, которые будут рассмотрены в следующих разделах.
1.1.1. Аутентификация средствами системы «1С:Предприятие»
Пользователь может быть аутентифицирован системой «1С:Предприятие» с помощью ввода его имени и пароля (в диалоге аутентификации, в виде параметров командной строки или строки соединения с информационной базой для внешнего соединения или automation-сервера). В этом случае проверка наличия пользователя и корректности ввода его пароля выполняет система «1С:Предприятие».
1.1.2. Аутентификация операционной системы
Пользователь может быть аутентифицирован неявно средствами операционной системы. Для этого пользователю должен быть поставлен в соответствие некоторый пользователь операционной системы. При старте системы, «1С:Предприятие» запрашивает у операционной системы пользователя, который аутентифицирован в системе в данный момент. Для этого в ОС Windows используется интерфейс SSPI, а в ОС Linux — GSS-API. Затем выполняется проверка, что данному пользователю операционной системы сопоставлен пользователь «1С:Предприятия». Если поиск заканчивается успешно – считается, что пользователь системы «1С:Предприятие» аутентифицирован успешно, и диалог аутентификации не отображается.
Примечание. Не поддерживается аутентификация пользователя средствами ОС в том случае, если клиентское приложение подключается к информационной базе через веб-сервер Apache, работающий под управлением ОС Windows.
Пользователь операционной системы указывается в формате: \\имя_домена\имя_пользователя.
Если необходимо принудительно выполнить аутентификацию средствами системы «1С:Предприятие», то в командной строке запуска клиентского приложения следует указать ключ командной строки -WA-. Соответственно, ключ командной строки –WA+ предназначен для принудительного применения аутентификации средствами операционной системы (действует по умолчанию).
1.1.3. Аутентификация с помощью OpenID
Примечание 1. Данный способ аутентификации не применим при обращении к веб-сервисам, опубликованным из «1С:Предприятия».
Примечание 2. В роли провайдера OpenID выступает информационная база «1С:Предприятия».
Общая схема работы выглядит следующим образом:
- Пользователь пытается выполнить вход в систему.
- Система определяет, что в информационной базе работает OpenID-аутентификация (по файлу публикации default.vrd).
- Провайдеру OpenID отправляется запрос на выполнение аутентификации.
- Если необходимо выполнить интерактивное действие (выполняется первая аутентификация для данного идентификатора или закончено время жизни признака аутентификации данного идентификатора), то провайдер сообщает системе о необходимости запросить имя и пароль пользователя. Система выполняет интерактивное действие и возвращает провайдеру OpenID запрошенные данные.
- Признак аутентифицированности пользователя хранятся в файлах cookie, которые размещаются в хранилище, индивидуальном для каждого веб-браузера. Тонкий клиент использует собственное хранилище.
- Если провайдер аутентифицирует пользователя, то системе возвращается признак того, что пользователь аутентифицирован.
В качестве OpenID-провайдера выступает информационная база системы «1С:Предприятие». В качестве OpenID-идентификатора используются имена пользователей информационной базы. Такая информационная база должна быть особым образом опубликована на веб-сервере (в файле публикации default.vrd расположен особый элемент) и доступна для информационной базы, которая желает выполнять аутентификацию с помощью OpenID.
В качестве OpenID-идентификатора пользователя выступает свойство Имя пользователя информационной базы OpenID-провайдера. Пароль пользователя также задается в информационной базе OpenID-провайдера. Пароль, заданный в информационной базе, которая является клиентом OpenID-провайдера, игнорируется при выполнении аутентификации с помощью OpenID.
Если необходимо принудительно выполнить аутентификацию с помощью OpenID, то в командной строке запуска клиентского приложения следует указать ключ командной строки -OIDA+ (действует по умолчанию). Соответственно, ключ командной строки –OIDA- предназначен для принудительного отключения аутентификации с помощью OpenID.
Подробнее о настройке веб-сервера для работы с OpenID-аутентификацией см. стр. 2.
Для того, чтобы система выполняла аутентификацию с помощью протокола OpenID необходимо, чтобы у пользователя был установлен флажок Аутентификация 1С:Предприятия и соответствующим образом была настроена публикация данной информационной базы на веб-сервере.
Читайте также: