Настройка аутентификации для веб-публикаций информационных баз 1С через Indeed AM ADFS Extension.
Автор Mikhail Nikitin, Last modified by Mariya Vorozhba на 01 марта 2024 09:59 PM

Рассмотрим аутентификацию с применением  Indeed AM ADFS Extension через реализацию OpenID connect (OIDC) с использованием функции AD FS для платформы 1С:Предприятия. 


Предварительные условия.

В данном руководстве подразумевается что у Вас уже есть развернутая система Indeed AM, настроенный сервер ADFS и установлен MFA адаптер Indeed-Id, опубликована информационная база на веб-сервере 1C.

Для работы сценария 1C-ADFS в Chrome и Edge необходимо, чтобы SSL сертификат  ADFS содержал дополнительное имя субъекта DNS-имя=adfs.company.com.

Установка и настройка.

  1. [1] 4.2.1. Публикация группы приложений в качестве провайдера аутентификации

Для использования аутентификации провайдера публикацией информационной базы 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 с помощью команд:

  • для Microsoft Windows Server 2016

Set-AdfsResponseHeaders -SetHeaderName "Access-Control-Allow-Origin" -SetHeaderValue https://<server-name>

  • для Microsoft Windows Server 2019

Set-AdfsResponseHeaders -EnableCORS $true

Set-AdfsResponseHeaders -CORSTrustedOrigins https:// <server-name>

где server-name это имя компьютера, на котором расположен веб сервер.

  1. [1] 4.2.1. Настройка аутентификации OpenID Connect

Публикация информационной базы производится в соответствии с инструкцией [2] 

Настройка аутентификации OpenID Connect уже производится в файле публикации default.vrd. Необходимо открыть его в любом доступном текстовом редакторе и добавить следующий блок:

<openidconnect>
	<providers>
    	<![CDATA[
     	[
        	{
            	"name": "adfs_oidc",
            	"title": "OIDC 1C (ADFS)",
            	"discovery": "https://<adfs-server-name>/adfs/.well-known/openid-configuration",
            	"authenticationClaimName": "unique_name",
            	"authenticationUserPropertyName": "OSUser",
            	"clientconfig": {
            	"authority": "https://<adfs-server-name>/adfs/",
            	"client_id": "<client-id>",
            	"redirect_uri": "http://<web-server-name>/<publication-name>/authform.html",
                	"scope": "openid",
           	     "response_type": "id_token token",
                	"filterProtocolClaims": false,
                	"loadUserInfo": false
            	}
        	}
    	]]]>
	</providers>
	<allowStandardAuthentication>true</allowStandardAuthentication>
</openidconnect>

Параметры, которые необходимо изменить выделены полужирным шрифтом:

  • <adfs-server-name> - адрес сервера функций AD FS.
  • <client-id> - идентификатор клиента группы приложений, который был указан при регистрации в консоли управления AD FS.
  • <web-server-name> - имя сервера, на котором выполнена публикация информационной базы на веб сервере.
  • <publication-name> - имя публикации информационной базы.

По факту заполнения правильных данных необходимо сохранить файл и попробовать снова запустить один из клиентов 1С:Предприятия. Вместо окна авторизации откроется окно выбора провайдера с возможность входа с помощью логина и пароля, указанного для провайдера.

Дополнительные параметры для авторизации клиента:

authenticationClaimName – имя поля, которое можно использовать в качестве идентификатора пользователя в ответе запроса к провайдеру. Доступные поля можно посмотреть в браузере по адресу https://<adfs-server-name>/adfs/.well-known/openid-configuration, в разделе «claims_supported».

authenticationUserPropertyName – тип сопоставления идентификатора с внутренним идентификатором пользователя информационной базы. Существует два варианта:

  • name – проверка идентификатора пользователя в качестве имени пользователя информационной базы;
  • OSUser – проверка идентификатора пользователя в качестве имени доменного пользователя информационной базы.

В Конфигураторе 1С, в свойствах для целевых пользователей, включить «Аутентификацию операционной системы» и «Аутентификацию OpenID Connect».

Ссылки:

  1. Совместное использование провайдеров маркеров доступа учетных данных и платформы 1С:Предприятие

https://its.1c.ru/db/metod8dev#content:5972:hdoc:ad_fs_provider

  1. Публикация информационных баз на веб-сервере IIS под Windows с использованием шифрования (HTTPS)

https://its.1c.ru/db/metod8dev#content:5977:hdoc

(0 голос(а))
Эта статья полезна
Эта статья бесполезна

Комментарии (0)
Добавить новый комментарий
 
 
Полное имя:
Email:
Комментарии: