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 HOTP.
Установка Identity Provider
Отдельно устанавливать Identity Provider не нужно. Компонент устанавливается автоматически при распаковке архива am-<номер версии>.tar.gz.
Редактирование конфигурационного файла
Откройте конфигурационный файл am/idp/app-settings.json.
В параметре
AuthenticationMethods
удалите ненужные строки и добавьте идентификаторы провайдеров, которые вы планируете использовать, в следующем формате:В параметре
Name
укажите произвольное уникальное значение.В параметре
Providers
укажите идентификатор используемого провайдера.Доступные идентификаторы для Identity ProviderSMS OTP {EBB6F3FA-A400-45F4-853A-D517D89AC2A3}
Storage SMS OTP {3F2C1156-B5AF-4643-BFCB-9816012F3F34}
Email OTP {093F612B-727E-44E7-9C95-095F07CBB94B}
Passcode {F696F05D-5466-42b4-BF52-21BEE1CB9529}
Software OTP {0FA7FDB4-3652-4B55-B0C0-469A1E9D31F0}
Secured TOTP {F15FD7EC-19EA-4384-846E-A2D0BE149FA2}
HOTP Provider {AD3FBA95-AE99-4773-93A3-6530A29C7556}
TOTP Provider {CEB3FEAF-86ED-4A5A-BD3F-6A7B6E60CA05}
Indeed Key {DEEF0CB8-AD2F-4B89-964A-B6C7ECA80C68}
Windows Password {CF189AF5-01C5-469D-A859-A8F2F41ED153}
Пример использования одного провайдера
"AuthenticationMethods": [
{
"Name": "Passcode",
"Providers": [
"F696F05D-5466-42b4-BF52-21BEE1CB9529"
]
}Пример использования нескольких провайдеров
"AuthenticationMethods": [
{
"Name": "HOTP_Passcode",
"Providers": [
"AD3FBA95-AE99-4773-93A3-6530A29C7556",
"F696F05D-5466-42b4-BF52-21BEE1CB9529"
]
}ИнформацияЕсли вы одновременно используете аутентификацию по Windows Password и по провайдеру, журнал событий отображает следующее:
- Windows Password был введен верно, провайдер неверно — в событиях пользователя регистрируется успешный вход в Identity Provider с помощью Windows Password.
- Windows Password был введен верно, провайдер верно — в событиях пользователя регистрируется успешный вход с помощью провайдера.
Сохраните конфигурационный файл и запустите контейнер с приложением с помощью команды
sudo docker-compose up -d
.
Настройка срока жизни сессии
Данная настройка не обязательна.
Чтобы изменить срок жизни сессии, выполните следующее:
Откройте конфигурационный файл am/idp/app-settings.json.
Для параметра
SessionExpiration
установите необходимое значение. Если параметр не задан, используется значение по умолчанию — 30 минут ("00:30:00").Пример
"Authentication": {
"SessionExpiration": "00:30:00"
},Сохраните изменения в файле и запустите контейнер с приложением с помощью команды
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 находится в разделе Сбор логов серверных компонентов.