Перейти к основному содержимому

Настройка Active Directory Federation Services

Настройка аутентификации OpenID Connect с использованием функции Microsoft Active Directory Federation Services (AD FS) для «1С:Шины» выполняется в несколько этапов.

1 Включение и настройка Active Directory

В данной статье этот шаг не рассматривается. Предполагается, что к моменту интеграции AD FS и технологии «1С:Шина» служба AD включена и настроена. В противном случае предлагается сделать это самостоятельно, например, воспользовавшись официальными источниками:

2 Включение и настройка центра сертификации (AD CS)

В данной статье этот шаг не рассматривается. Подробнее про установку и настройку центра сертификации (AD CS) можно прочитать в следующих источниках:

3 Настройки перед включением AD FS

3.1 Создание шаблона сертификата сервера

Перед тем как выпустить сертификат сервера, настройте шаблон сертификата. Для этого откройте консоль центра сертификации.

Центр сертификации в качестве примера установлен на том же сервере, что и сервер Active Directory. Для того чтобы его открыть, в диспетчере сервера нажмите на кнопку «Средства», далее «Центр сертификации» (ToolsCertification Authority):

Как открыть центр сертификации

Откроется консоль «Центра сертификации» (Certification Authority).

В консоли центра сертификации разверните дерево сервера сертификации, выберите пункт «Шаблоны сертификатов» (Certificate Templates), щелкните по нему правой кнопкой мыши и выберите «Управление» (Manage) в контекстном меню:

Как открыть шаблоны сертификатов

Откроется новое окно консоли «Шаблоны сертификатов» (Certificate Templates). Найдите в списке шаблон сертификата «Веб-сервер» (Web server), нажмите на него правой кнопкой мыши и в контекстном меню выберите «Дублировать шаблон» (Duplicate Template):

Как дублировать шаблон сертификатов

В свойствах нового шаблона:

  • на вкладке «Общие» (General) укажите название нового шаблона;
  • флаг «Публиковать сертификат в Active Directory» (Publish certificate in Active Directory) указывать не нужно;
  • на вкладке «Обработка запросов» (Request Handling) установите флаг «Разрешить экспорт закрытого ключа» (Allow private key to be exported).

Настройка нового шаблона

Настройка нового шаблона

Нажмите ОК. Новый шаблон отобразится в списке шаблонов. Теперь консоль «Шаблоны сертификатов» (Certificate Templates) можно закрыть.

Новый шаблон в списке шаблонов

Вернитесь в консоль центра сертификации. Выберите пункт «Шаблоны сертификатов» (Certificate Templates), щелкните по нему правой кнопкой мыши и в контекстном меню выберите «Создать» (New), далее «Шаблон сертификата для выпуска» (Certificate Template to Issue).

Откроется окно «Включить шаблоны сертификатов» (Enable Certificate Templates), в котором необходимо выбрать созданный шаблон сертификата.

Как включить шаблон сертификата

Выбранный шаблон сертификата отобразится в списке:

Выбранный шаблон в списке шаблонов

После создания шаблона сертификата можно перейти к созданию сертификата сервера, который будет использоваться при установке AD FS.

3.2 Выпуск сертификата сервера

Откройте консоль управления (mmc.exe):

Как открыть консоль управления

В консоли управления выберите пункт меню «Файл» → «Добавить или удалить оснастку» (FileAdd/Remove Snap-in).

В левой части окна добавления оснастки выберите пункт «Сертификаты» и нажмите кнопку «Добавить» (CertificatesAdd):

Как добавить оснастку

Далее выберите пункт «Учетная запись компьютера» (Computer account) и в следующем окне укажите «Локальный компьютер (компьютер, на котором работает эта консоль)» (Local computer: (the computer this console is running on)). Нажмите «Завершить» (Finish).

Как выбрать учетную запись компьютера для оснастки

В окне оснастки сертификатов сервера выберите папку «Личное» (Personal), щелкните правой кнопкой мыши по папке «Сертификаты» (Certificates), в контекстном меню выберите «Все задачи» (All tasks), далее «Запросить новый сертификат» (Request New Certificate):

Как запросить новый сертификат

Откроется мастер регистрации сертификатов, нажмите «Далее» (Next), в окне выбора политики регистрации сертификатов (Select Certificate Enrollment Policy) также нажмите «Далее» (Next).

Откроется окно запроса сертификатов (Request Certificates). Выберите шаблон сертификата и нажмите на кнопку «Свойства» (Properties):

Как выбрать политику регистрации сертификатов

Отроется окно «Свойства сертификата» (Certificate Properties). Выполните следующие действия:

  • На вкладке «Субъект» (Subject) в разделе «Имя субъекта» (Subject name) в поле «Тип» (Type) выберите «Обычное имя» (Common name) и укажите имя службы федерации (AD FS). Например, adfs.mydomain.ru, где adfs — имя службы федерации, mydomain.ru — имя домена.

    примечание

    Далее сертификат будет использоваться для настройки службы федерации AD FS, поэтому рекомендуется указать имя *.mydomain.ru, т. к. в этом случае создается Wildcard-сертификат. Он позволит указать произвольное имя службы при настройке AD FS.

    важно

    Имя службы федерации (AD FS) не должно совпадать с именем сервера.

  • На вкладке «Субъект» (Subject) в разделе «Альтернативное имя» (Alternative name) в поле «Тип» (Type) выберите DNS и укажите альтернативное имя службы федерации. Например, adfs.mydomain.ru.

  • Аналогичным способом добавьте альтернативные DNS-имена: certauth.adfs.mydomain.ru и enterpriseregistration.mydomain.ru.

  • В разделе «Альтернативное имя» (Alternative name) в поле «Тип» (Type) выберите IP address (v4) и укажите IP-адрес сервера, на котором будет установлена служба AD FS.

    примечание

    Если используется IPv6, то в разделе «Альтернативное имя» (Alternative name) в поле «Тип» (Type) выберите IP address (v6) и укажите IPv6-адрес сервера, на котором будет установлена служба AD FS.

    Как выбрать альтернативные имена DNS

  • На вкладке «Закрытый ключ» (Private Key) в разделе «Параметры ключа» (Key options) должен быть установлен флажок «Сделать секретный ключ экспортируемым» (Make private key exportable).

    Как сделать секретный ключ экспортируемым

  • На вкладке «Общие» (General) задайте имя (Friendly name) и описание сертификата (Description). Например, *.mydomain.ru. Нажмите ОК.

Вернитесь на страницу мастера запроса сертификатов, убедитесь, что установлен флажок для шаблона, затем нажмите на кнопку «Заявка» (Enroll).

Как отправить заявку на сертификат

Теперь вы можете увидеть запрошенный и зарегистрированный сертификат в личном хранилище в оснастке «Сертификаты (локальный компьютер)» (Certificates (Local Computer)).

4 Включение и настройка AD FS

Для активации компонентов AD FS выполните следующие шаги:

  1. Откройте мастер добавления ролей и компонентов (ManageAdd Roles and Features Wizard).

    Как открыть мастер добавления ролей и компонентов

  2. В открывшемся мастере перейдите к выбору ролей сервера (Server Roles).

  3. Выберите роль Active Directory Federation Services для установки.

    Как выбрать роль

  4. Дойдите до страницы подтверждения установки и дождитесь окончания установки.

После установки компонентов в открывшемся окне предупреждения консоли сервера нажмите на ссылку Configure the federation service on this server.

Как открыть настройки сервиса

5 Настройки после включения AD FS

5.1 Настройка службы AD FS

  1. В окне мастера настройки конфигурации службы AD FS (Active Directory Federation Service Configuration Wizard) нажмите далее.

    Как настроить конфигурацию службы AD FS

  2. На странице подключения к службе домена Active Directory (Connect to Active Directory Domain Services) укажите пользователя с правами доменного администратора AD, от имени которого будет выполняться настройка службы федерации.

    Как подключиться к доменным службам AD

  3. На вкладке указания параметров сервера (Specify Service Properties) импортируйте сертификат сервера, задайте имя домена и его представление.

    Как настроить параметры сервера

  4. Далее необходимо настроить сервисного пользователя, от имени которого будет запущена служба AD FS. Выберите пункт «Создание групповой управляемой учетной записи службы» (Create a Group Managed Service Account) и укажите желаемое имя пользователя.

    примечание

    Если на этом шаге возникнет ошибка, то во всплывающем сообщении отобразится подсказка с командой, которую необходимо выполнить в командном интерфейсе PowerShell.

  5. На этапе настроек подключения базы данных (Specify Configuration Database) выберите вариант «Создать базу данных на этом сервере с помощью Windows Internal Database» (Create a database on this server using Windows Internal Database) и перейти к следующему шагу.

  6. На следующем шаге отображаются для ознакомления все выбранные ранее установки.

  7. На данном этапе проверяется возможность активации службы AD FS.

    При возникновении ошибок мастер выведет их подробное описание и варианты их исправления.

    Если ошибки не обнаружены, кнопка настройки службы (Configure) будет доступна.

    Для завершения настройки службы нажмите ее и дождитесь окончания выполнения процесса мастера.

    Окно предварительной проверки настроек

Результат успешной настройки службы федерации:

Успешная настройка службы федерации

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

Для аутентификации публикация информационной базы «1С:Предприятия» использует группы приложений (Application groups) AD FS. Непосредственное добавление группы выполняется в консоли управления AD FS.

Как опубликовать группу приложений в качестве провайдера аутентификации

После открытия консоли управления AD FS для добавления новой группы перейдите к разделу «Группы приложений» (Application groups) и выберите пункт в меню действий (Actions) значение «Добавить группу приложений» (Add Application Group) или аналогичный вариант контекстного меню.

Добавление группы приложений

На первом шаге мастера добавления группы приложений выберите шаблон (Template) и имя (Name) группы приложений. Имя можно задать произвольное, а в качестве шаблона выбрать «Серверное приложение» (Server Application).

Мастер добавления групп приложений

На следующем шаге скопируйте (сохраните в текстовом файле) сгенерированный идентификатор клиента (Client identifier). Он потребуется для настройки сервиса внешних учетных записей в списке пользователей приложения на «1С:Шине». На этом же этапе укажите адрес перенаправления (Redirect URI) и нажмите кнопку «Добавить» (Add).

Адрес строится по следующему принципу:

Callback URL = https://{ИмяХоста}/auth/v2/client/oauth2/code/<Идентификатор сервиса>

В нашем случае это https://element.mydomain.ru:9090/auth/v2/client/oauth2/code/019a7217-f306-73a9-b17c-6a3359a27114

Подробнее о получении идентификатора сервиса

Первый этап мастера добавления групп приложений

На следующем шаге необходимо создать общий секрет и сохранить его в текстовом файле. Он потребуется для настройки сервиса внешних учетных записей в списке пользователей приложения на «1С:Шине».

Второй этап мастера добавления групп приложений

На следующем этапе отображается сводка настроек. Нажмите Далее.

Просмотр добавленных параметров

Для созданной группы приложений необходимо добавить веб-интерфейс. Откройте свойства группы приложений.

Как добавить веб-интерфейс для группы приложений

Нажмите кнопку «Добавить приложение».

Как добавить приложение в группу приложений

Выберите веб-интерфейс API (Web API).

Выбор шаблона приложения

На следующем шаге заполните идентификатор, указав адрес публикации сервера «1С:Шины».

Настройка веб-интерфейса API

После этого перейдите к следующему шагу «Выбор политики контроля доступа» (Choose Access Control Policy). Нажмите кнопку Далее и перейдите к заключительному шагу настройки группы приложений, на котором необходимо отметить разрешенные области.

Выбор политики управления доступом

В разделе «Разрешенные области» выберите openid.

Выбор разрешенных областей

примечание

Технология «1С:Шина» получает данные о пользователе через конечную точку https://adfs.mydomain.ru/adfs/userinfo. Служба федерации Active Directory через конечную точку https://adfs.mydomain.ru/adfs/userinfo возвращает только обязательное утверждение sub. Поэтому достаточно разрешить только область openid.

Подробнее

На следующем шаге нажмите Далее и завершите создание веб-интерфейса.

Настройка AD FS практически завершена. Осталось разрешить кросс-доменные запросы клиента на сервере AD FS с помощью следующих команд, где server-name — это имя компьютера, на котором расположен веб-сервер:

  • для 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>

6 Настройка сервиса внешних учетных записей OIDC

«1С:Шина» может использовать аутентификацию OIDC для входа пользователей в приложение.

Подробнее о тот, как подключить сервис аутентификации OIDC