Indeed User Console
Indeed User Console (User Console) — это веб-приложение, которое работает на базе IIS. В User Console пользователь может управлять своими аутентификаторами.
- в браузере: http(s)://<днс_сервера>/am/uc
- в IIS: <имя_машины>\сайты\Default Web Site\am\uc
Файлы для установки
Файлы для User Console расположены в папке indeed AM <номер версии>|Indeed AM User Console|<номер версии>.
- IndeedAM.UserConsole-<номер версии>.x64.ru-ru.msi — пакет для установки User Console.
Установка User Console
Выполните установку User Console через запуск пакета IndeedAM.UserConsole-<номер версии>.x64.ru-ru.msi.
По завершении установки будет предложено сгенерировать новый IDP сертификат. Это необязательная настройка.
Генерация сертификата необходима при аутентификации в User Console с использованием Indeed AM Identity Provider.
Данный сертификат не предназначен для организации SSL-соединения.
Если данный сертификат был сгенерирован ранее, то необходимо убрать флажок.
Если флажок будет выставлен, то новый самоподписанный сертификат сгенерируется и установится в хранилище сертификатов (Local Machine→Personal). Сертификат используется для шифрования данных, передаваемых между сервером аутентификации и клиентским приложением.
Привязка HTTPS в настройках в IIS Manager
User Console является веб-приложением, которое работает на базе IIS, в процессе установки для User Console включается обязательное требование SSL в настройках, что в свою очередь требует включенной привязки HTTPS.
Как это сделать
- Запустите IIS Manager и раскройте пункт Сайты (Sites).
- Выберите сайт Default Web Site и нажмите Привязки (Bindings) в разделе Действия (Actions).
- Нажмите Добавить (Add):
- Тип (Type) — https.
- Порт (Port) — 443.
- Выберите SSL-сертификат (SSL Certificate).
- Сохраните привязку.
Если вы не намерены использовать протокол HTTPS, отключите требование SSL в настройках IIS для User Console.
Также в этом случае необходимо в конфигурационном файле
C:\inetpub\wwwroot\am\uc\Web.config изменить значение параметра
requireSSL
на false:
<httpCookies httpOnlyCookies="true" requireSSL="false" />
Аутентификация с помощью Windows Authentication
По умолчанию User Console настроен на использование SAML-аутентификации, при необходимости можно настроить прозрачную Windows-аутентификацию.
Для этого выполните следующее:
Запустите редактор с правами администратора.
Откройте конфигурационный файл консоли Web.config (находится в папке C:\inetpub\wwwroot\am\uc\Web.config).
Укажите URL для подключения к Core Server для параметра
Url
в тегеamAuthServer
в формате http(s)://полное_dns_имя_сервера/am/core/.Пример<amAuthServer Url="https://amserv.indeed-id.local/am/core/"/>
Для игнорирования ошибок сертификата сервера измените параметр isIgnoreCertErrors
на значение true в файле applicationSettings.config (расположен по пути: am\uc\Config).
Запустите IIS Manager, выберите Default Web Site->am и откройте приложение uc.
Откройте Проверка подлинности и включите следующие методы:
- Олицетворение ASP.NET;
- Проверка подлинности Windows;
Отключите все остальные методы.
Откройте конфигурационный файл User Console Web.config (находится в папке C:\inetpub\wwwroot\am\uc\Web.config).
Для тега
amAuthentication
в параметреmode
укажите Windows. Опционально вы можете добавить параметрenableLogout="true"
, чтобы настроить возможность выйти из User Console.ПримечаниеПараметр
loginUrl
оставьте без изменений, при использовании аутентификации Windows данный параметр не учитывается.Пример<amAuthentication mode="Windows" loginUrl="" identityProviderCertificateThumbprint="" serviceProviderCertificateThumbprint="" enableLogout="true"/>
Сохраните изменения в файле и перезапустите сервер IIS.
User Console будет доступен по адресу: http(s)://полное_dns_имя_сервера/am/uc/.
Аутентификация с помощью Indeed Identity Provider
Вы можете настроить защищенный вход в User Console с использованием Indeed Identity Provider.
Для входа в User Console с использованием Identity Provider вам необходимо установить и настроить провайдер аутентификации.
Редактирование конфигурационного файла User Console
Перед редактированием конфигурационного файла, выполните следующие действия:
- Запустите Диспетчер служб IIS.
- Выберите <имя сервера>→Sites→Default Web Site→am→uc.
- Выберите Проверка подлинности и включите опции Анонимная проверка подлинности и Проверка подлинности с помощью форм.
Откройте конфигурационный файл web.config из папки C:\inetpub\wwwroot\am\uc\Web.config.
В параметре
amAuthServer
Url
укажите адрес сервера Indeed в формате http(s)://полное_dns_имя_сервера/am/core/.Пример<amAuthServer Url="https://amserv.indeed-id.local/am/core/"/>
В параметре
amAuthentication
выполните следующие действия:В строке
mode
укажите значение Saml.В строке
loginUrl
укажите адрес Identity Provider в формате http(s)://полное_dns_имя_сервера/am/idp/.Пример<amAuthentication mode="Saml" loginUrl="https://server.test.local/am/idp/>
В строке
identityProviderCertificateThumbprint
укажите отпечаток сертификата Identity Provider.СоветЕсли Identity Provider и User Console были установлены на разные серверы, экспортируйте сертификат без закрытого ключа с сервера с модулем Identity Provider на сервер с User Console. Сертификат необходимо добавить в хранилище сертификатов в Local Machine→Personal.
Чтобы получить отпечаток сертификата с помощью запроса PowerShell:Get-Childitem Cert:\LocalMachine\My\ | Where-Object {$_.Subject -eq "CN=idp"}
В строке
serviceProviderCertificateThumbprint
укажите отпечаток сертификата User Console, который был сгенерирован при установке пакета .msi.ИнформацияСертификат устанавливается в хранилище сертификатов Local Machine→Personal с общим именем ucsp.
Чтобы получить отпечаток сертификата с помощью запроса PowerShell:Get-Childitem Cert:\LocalMachine\My\ | Where-Object {$_.Subject -eq "CN=ucsp"}
Сохраните изменения в файле и перезапустите сервер IIS.
Редактирование конфигурационного файла Identity Provider
Перед редактированием конфигурационного файла выполните следующие действия:
- Запустите Диспетчер служб IIS.
- Выберите <имя сервера>→Sites→Default Web Site→am→idp.
- Выберите Проверка подлинности и отключите опцию Проверка подлинности Windows.
Откройте конфигурационный файл app-settings.json из папки C:\inetpub\wwwroot\am\idp.
В параметре
PartnerServiceProviderConfigurations
выполните следующие действия:В строке
SingleLogoutServiceUrl
укажите адрес сервера, где вы развернули User Console, в формате http(s)://полное_dns_имя_сервера/am/uc/Account/SLOService.В строке
Thumbprint
укажите отпечаток сертификата User Console.ПодсказкаЕсли Identity Provider и User Console были установлены на разные серверы, экспортируйте сертификат без закрытого ключа с сервера с развернутым User Console на сервер с модулем Identity Provider. Сертификат необходимо добавить в хранилище сертификатов в Local Machine→Personal.
Чтобы получить отпечаток сертификата с помощью запроса PowerShell:Get-Childitem Cert:\LocalMachine\My\ | Where-Object {$_.Subject -eq "CN=ucsp"}
Пример"PartnerServiceProviderConfigurations":
{
"Name": "urn:indeedid:selfservice",
"SingleLogoutServiceUrl": "https://server.indeed.local/am/uc/Account/SLOService",
"PartnerCertificates": [
{
"Thumbprint": "C77EDF29EA05B468BDAF553DE3D804DA4B139C1E"
В параметре
AllowWinPwdIfAuthMethodsAreNotAvailable
вы можете установить значениеtrue
, что позволит войти через IDP в User Console с использованием Windows Password, даже если этот способ не указан в конфигурационном файле app-settings.json.Если в параметре
AllowWinPwdIfAuthMethodsAreNotAvailable
указано значениеtrue
, возможны следующие сценарии:- Отображаются только зарегистрированные и доступные пользователю методы аутентификации. При многофакторной аутентификации если хотя бы один из методов аутентификации не доступен, вся цепочка не отображается.
- При отсутствии любых доступных методов аутентификации, включая методы, не требующие регистрации в User Console (Windows Password, Email и SMS), отображается Windows Password.
Сохраните изменения в файле и перезапустите сервер IIS.
Настройка выхода из User Console с использованием Identity Provider
Откройте конфигурационный файл консоли web.config из папки C:\inetpub\wwwroot\am\uc\Web.config.
В параметр
amAuthentication
добавьте параметрenableLogout
со значением true (по умолчанию установлено значение false).Пример<amAuthentication mode="Saml" loginUrl="https://server.test.local/am/idp/" enableLogout="true"/>
Откройте конфигурационный файл Identity Provider app-settings.json из папки C:\inetpub\wwwroot\am\idp.
Измените параметр
PartnerServiceProviderConfigurations
. В строкеSingleLogoutServiceUrl
укажите адрес сервера с компонентом User Console в формате http(s)://полное_dns_имя_сервера/am/uc/Account/SLOServiceПример"PartnerServiceProviderConfigurations": [
{
...
"SingleLogoutServiceUrl": "https://server01.test.local/am/uc/Account/SLOService",
...
]
}Сохраните изменения и перезапустите IIS.
Пример входа в User Console с использованием Identity Provider
Откройте в браузере интерфейс User Console. Пример адреса консоли: http(s)://полное_dns_имя_сервера/am/uc/.
В появившемся окне аутентификации нажмите Back для выбора способа аутентификации. По умолчанию используется последний используемый способ.
Выберите способ аутентификации и нажмите Select.
ИнформацияЕсли у пользователя нет обученного аутентификатора, выберите Windows Password.
ПримечаниеВыход в сессии пользователя из Identity Provider не влечет за собой выход пользователя из User Console, до перезапуска браузера или истечения срока хранения cookie. Время хранения cookie для Identity Provider — 30 минут.
Введите пароль и нажмите Sing in. Если ввод данных был успешный, то отобразится карточка пользователя.
Для выхода из User Console выполните следующее:
ПримечаниеЭта опция будет активна, если вы настроили параметр
enableLogout
. По умолчанию отключена.Нажмите имя пользователя в верхней части окна.
Выберите Выйти из выпадающего списка.
ИнформацияПри выходе из User Console происходит автоматический выход из Identity Provider.
Включение защиты от перебора
В Indeed Access Manager вы можете настроить защиту от подбора учетных записей для компонента User Console.
Если эта настройка включена, то при вводе несуществующего имени пользователя Indeed Access Manager имитирует вход существующего пользователя: отображает способы аутентификации, запрашивает пароль, а затем отображает ошибку Неверное имя пользователя или аутентификатор или заблокировано устройство.
Если эта настройка выключена, то при вводе несуществующего имени пользователя Indeed Access Manager отображает ошибку Внутренняя ошибка сервера: Пользователь не найден.
По умолчанию данная настройка отключена.
Чтобы включить защиту от перебора, выполните следующее:
Откройте конфигурационный файл сервера Indeed AM Web.config из папки C:\inetpub\wwwroot\am\core.
В параметре
appSettings
в строкеbruteForceProtectionApps
укажите значения Self Service и Identity Provider.Пример<appSettings>
...
<add key="bruteForceProtectionApps" value="Self Service, Identity Provider" />
</appSettings>Сохраните изменения и перезапустите сервер IIS.
Настройка срока жизни сессии
Данная настройка не обязательна.
Чтобы изменить срок жизни сессии в User Console, выполните следующее:
Откройте конфигурационный файл applicationSettings.config из папки C:\inetpub\wwwroot\am\uc\Config.
Для параметра
sessionExpirationTimeInMinutes
установите необходимое значение. Значение по умолчанию 30 (минут).Пример<amApplicationSettings isIgnoreCertErrors="false" sessionExpirationTimeInMinutes="30"/>
Сохраните изменения.
Отключение отображения информации о платформе и версии
Чтобы не добавлять заголовки с информацией о платформе и версии, на которой разрабатывалось приложение, в response выполните следующее:
Откройте конфигурационный файл User Console C:\inetpub\wwwroot\am\uc\Web.config.
В зависимости от версии IIS:
Для IIS 10 уберите комментарии со следующих строк:
Пример<security>
<requestFiltering removeServerHeader="true" />
</security>
Для IIS выше 10 версии выполните следующее:
Установите URL Rewrite.
В секцию
<system.webServer>
добавьте следующее:<rewrite>
<outboundRules>
<rule name="replace server header" patternSyntax="Wildcard" lockItem="false">
<match serverVariable="RESPONSE_SERVER" pattern="*" />
<action type="Rewrite" value="MyServer" />
</rule>
</outboundRules>
</rewrite>