Live Chat Software by Kayako |
Настройка аутентификации для веб-публикаций информационных баз 1С через Indeed AM ADFS Extension.
Автор Mikhail Nikitin, Last modified by Denis Shelamov на 06 мая 2024 01:53 PM
|
|
Рассмотрим аутентификацию с применением Indeed AM ADFS Extension через реализацию OpenID connect (OIDC) с использованием функции AD FS для платформы 1С:Предприятия. Базовая настройка 1С и ADFS Базовая настройка 1С и ADFSПредварительные условия. В данном руководстве подразумевается что у Вас уже есть развернутая система Indeed AM, настроенный сервер ADFS и установлен MFA адаптер Indeed-Id, опубликована информационная база на веб-сервере 1C. Для работы сценария 1C-ADFS в Chrome и Edge необходимо, чтобы SSL сертификат ADFS содержал дополнительное имя субъекта DNS-имя=adfs.company.com. Установка и настройка.
Для использования аутентификации провайдера публикацией информационной базы 1С:Предприятие используются группы приложений (Application groups) AD FS. Непосредственное добавление группы выполняется в консоли управления AD FS После открытия консоли управления AD FS для добавления новой группы необходимо перейти к разделу «Группы приложений» («Application groups») и выбрать пункт в меню действий (Actions) значение «Добавить группу приложений…» («Add Application Group…») или аналогичный вариант контекстного меню. На первом шаге мастера добавления группы приложений необходимо выбрать шаблон (Template) и имя (Name) группы приложений. Имя можно задать произвольное, в качестве шаблона выбрать «Приложение с доступом с помощью web API» («Native application accessing a web API»). На следующем шаге необходимо скопировать (и желательно сохранить в текстовом файле) сгенерированный идентификатор клиента (Client identifier). На этом же этапе необходимо указать адрес перенаправления (Redirect URI) и нажать кнопку Добавить (Add). Адрес строится по следующему принципу: https://server-name/publication-name/authform.html, где server-name – это имя сервера, на котором расположен веб сервер, а publication-name – это имя публикации информационной базы. Если информационная база еще не опубликована, то необходимо сначала выполнить публикацию (см. Публикация информационной базы). Последняя часть публикации authform.html является автоматически генерируемой страницей аутентификации и добавляется всегда в адрес перенаправления, если используется OpenID connect аутентификация. Как только будет указан адрес перенаправления, можно переходить на следующий шаг, на котором нужно вставить скопированный ранее идентификатор (Identifier) в поле с соответствующим заголовком и нажать кнопку Добавить (Add). После этого необходимо перейти к следующему шагу «Выбор политики контроля доступа» («Choose Access Control Policy»). На данном этапе необходимо нажать кнопку далее и перейти к заключительному шагу настройки группы приложений, на котором необходимо отметить «Разрешенные области» («Permitted scopes»): openid и profile. Настройка AD FS практически завершена. Осталось разрешить кросс доменные запросы клиента на сервере AD FS с помощью команд:
Set-AdfsResponseHeaders -SetHeaderName "Access-Control-Allow-Origin" -SetHeaderValue https://<server-name>
Set-AdfsResponseHeaders -EnableCORS $true Set-AdfsResponseHeaders -CORSTrustedOrigins https:// <server-name> где server-name это имя компьютера, на котором расположен веб сервер.
Публикация информационной базы производится в соответствии с инструкцией [2] Настройка аутентификации OpenID Connect уже производится в файле публикации default.vrd. Необходимо открыть его в любом доступном текстовом редакторе и добавить следующий блок:
Параметры, которые необходимо изменить выделены полужирным шрифтом:
По факту заполнения правильных данных необходимо сохранить файл и попробовать снова запустить один из клиентов 1С:Предприятия. Вместо окна авторизации откроется окно выбора провайдера с возможность входа с помощью логина и пароля, указанного для провайдера. Дополнительные параметры для авторизации клиента: authenticationClaimName – имя поля, которое можно использовать в качестве идентификатора пользователя в ответе запроса к провайдеру. Доступные поля можно посмотреть в браузере по адресу https://<adfs-server-name>/adfs/.well-known/openid-configuration, в разделе «claims_supported». authenticationUserPropertyName – тип сопоставления идентификатора с внутренним идентификатором пользователя информационной базы. Существует два варианта:
В Конфигураторе 1С, в свойствах для целевых пользователей, включить «Аутентификацию операционной системы» и «Аутентификацию OpenID Connect». Ссылки:
https://its.1c.ru/db/metod8dev#content:5972:hdoc:ad_fs_provider
https://its.1c.ru/db/metod8dev#content:5977:hdoc Аутентификация OpenID Connect применима при использовании тонкого клиента, веб-клиента и мобильного клиента.
Пример конфигурирования ADFS, 1C и включение 2FA Indeed ADFS ExtensionВ примере используется:
Адрес перенаправления (Redirect URI):
Настройка со стороны 1С: Пример настройки конфигурационного файла C:\inetpub\wwwroot\DB1C_4\default.vrd <?xml version="1.0" encoding="UTF-8"?> <point xmlns="http://v8.1c.ru/8.2/virtual-resource-system" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" base="/DB1C_4" ib="Srvr="Srv1C.indeed.local";Ref="DB1C_4";"> <openidconnect> <providers> <![CDATA[[ { "name": "adfs_oidc", "title": "1C (ADFS)", "discovery": "https://dc-01.indeed.local/adfs/.well-known/openid-configuration", "authenticationClaimName": "unique_name", "authenticationUserPropertyName": "OSUser", "clientconfig": { "authority": "https://dc-01.indeed.local/adfs/", "client_id": "d8fc1386-dcc3-4913-af4f-db0eff1ad038", "redirect_uri": "https://srv1c.indeed.local/DB1C_4/authform.html", "scope": "openid", "response_type": "id_token token" "filterProtocolClaims": false, "loadUserInfo": false } } ]]]> </providers> <allowStandardAuthentication>true</allowStandardAuthentication> </openidconnect> </point> Убедимся, через конфигуратор, что доменный пользователь существует в системе 1С и у него установлены необходимые права. В настройках пользователя 1С необходимо указать способ аутентификации:
Проверяем успешный вход через web-браузер и через тонкий клиент в режиме работы «на веб сервере»
Предварительно убедитесь, что Indeed ADFS Extension настроен и можно осуществить вход например на тестовую страницу ADFS по 2FA:
Для включения 2FA в 1С, на стороне ADFS необходимо включить соответствующую настройку: После включения данной политики контроля доступа, проверяем успешный вход с двух-факторной аутентификацией, через web-браузер и через тонкий клиент в режиме работы «на веб сервере»
После успешного входа в 1С, через Indeed ADFS Extension, в консоли администрирования Indeed (management console), также увидим соответствующее событие: | |
|