Indeed Identity Provider
Модуль Indeed Identity Provider (ранее Indeed AM SAML IDP) используется для организации многофакторной аутентификации и сквозного доступа в веб-приложения.
Модуль Indeed Identity Provider поддерживает следующие протоколы:
Identity Provider избавляет пользователя от необходимости запоминать множество учетных данных: для доступа во все интегрированные системы требуется только один комплект учетных данных. Аутентификация выполняется централизованно на стороне Identity Provider.
В Identity Provider вы можете выполнить аутентификацию по следующим аутентификаторам:
- мобильное приложение Indeed Key (в режиме отправки одноразовых паролей и push-уведомлений с подтверждением входа)
- Email OTP
- SMS OTP
- Storage SMS OTP
- Secured TOTP
- Software OTP
- Windows Password
- Passcode
- Hardware TOTP
- Hardware OTP
Установка Identity Provider
Установка Identity Provider выполняется через мастер конфигурации.
Настройка переменных окружения
Переменные окружения находятся в файле am/.env и заполняются при установке с помощью мастера конфигурации.
После установки Identity Provider необходимо отредактировать значение для переменной CUSTOM_SP_*. В ней задается адрес приложения (DNS-имя и порт, если явно указан), которое попадает в политику безопасности для доступа к ІDР (белый список).
Примеры:
- Если при подключении к приложению используется адрес
https://provider.test.local:333/.., то значение переменной будетprovider.test.local:333. *.test.local.
Если такие приложения отсутствуют, оставьте переменные с пустыми значениями.
При необходимости добавить более пяти сервисных провайдеров:
Добавьте дополнительные переменные в файл .env по аналогии с уже добавленными по умолчанию (
CUSTOM_SP_6=,CUSTOM_SP_7=).Добавьте переменные в файл identity-provider.docker-compose.yml в раздел
idp:environment.Пример
idp:
environment:
...
AMIDP_ContentSecurityPolicy__FormAction__From__7: "${CUSTOM_SP_6}"
AMIDP_ContentSecurityPolicy__FormAction__From__8: "${CUSTOM_SP_7}"
Интеграция с бизнес-приложениями
Чтобы настроить интеграцию с бизнес-приложениями Identity Provider, перейдите в Management Console.
Описание конфигурационного файла
В этом разделе описаны параметры конфигурационного файла Identity Provider am/idp/app-settings.json. Не изменяйте значения без необходимости. Неправильная конфигурация может привести к неработоспособности компонента.
| Параметр | Описание |
|---|---|
AuthenticationMethods | Удалите ненужные строки и добавьте идентификаторы провайдеров, которые вы планируете использовать:
Доступные идентификаторы провайдеровПример использования одного провайдераПример использования нескольких провайдеров
|
Authentication:SessionExpiration | Срок жизни сессии. Если параметр не задан, используется значение по умолчанию — 30 минут ("00:30:00").Пример |
Authentication:Domains | Список доменов для аутентификации. Укажите значения необходимых доменов в строке Domains.Подробнее о параметре — в разделе Аутентификация по имени пользователя без указания домена. |
Authentication:BruteForceProtection | Защита от перебора. В строке BruteForceProtection укажите значение Identity Provider.Подробнее о параметре — в разделе Включение защиты от перебора. |
Перезапуск Identity Provider
После редактирования конфигурационного файла необходимо перезапустить контейнер с приложением с помощью команды sudo docker-compose up -d.
Проверка состояния сервера
Для проверки рабочего состояния сервера в контейнере Docker используйте метод Healthcheck:
http(s)://<dns_имя_сервера>/am/idp/healthcheck/isHealthy
На странице отображается следующая информация о состоянии модуля:
- статус компонента Indeed Identity Provider, время обработки запроса к нему;
- статус последнего запроса;
- статус компонента Indeed Log Server;
- список ошибок при наличии.
Пример результата проверки
{
"Status": "Healthy",
"Entries": {
"CoreServer": {
"PreviousCheckSucceeded": true,
"CheckState": "Succeeded",
"CheckStartDate": "2025-03-04T09:00:04.7856489+00:00",
"CheckDuration": "00:00:00.0315420"
},
"LogServer": {
"PreviousCheckSucceeded": true,
"CheckState": "Succeeded",
"CheckStartDate": "2025-03-04T09:00:04.7983677+00:00",
"CheckDuration": "00:00:00.0178414"
}
}
}
Если Log Server не работает, то в параметре Status и в параметре CheckState для LogServer отображается значение Degraded (ухудшенное состояние). При этом запрос выполнен успешно (HTTP-код 200). При запуске команды docker ps возвращается статус состояния сервера Healthy.
Неработающий Log Server не влияет на работоспособность Management Console с некоторыми ограничениями — не доступно логирование в Log Server и просмотр страниц/частей страниц, которые связаны с отображением данных с Log Server.
Сбор логов
Информация по включению логирования и сбору логов компонента Identity Provider находится в разделе Сбор логов серверных компонентов.