- Created by Mikhail Nikitin, last modified by Lyazat Shabalina on Nov 24, 2022
You are viewing an old version of this page. View the current version.
Compare with Current View Page History
« Previous Version 7 Next »
Начиная с версии Indeed AM Access Manager 8.1.5, модуль Indeed AM Identity Provider поддерживает следующие протоколы:
- OpenID Connect
- SAML
- OAuth 2.0
Примечание
Если вы пользуетесь Indeed AM Access Manager 8.1.4 и ниже, необходимую информацию об установке и настройке модуля вы найдете на странице Indeed AM SAML IDP.
Необходимые условия
Перед установкой Identity Provider убедитесь, что на сервере установлена библиотека .NET и необходимые компоненты Internet Information Services.
Для установки библиотеки .NET запустите утилиту dotnet-hosting-6.0.10-win.exe из Indeed AM <номер версии>/Indeed AM Idp.
Для установки компонентов Internet Information Services запустите скрипт Indeed.SAML.IIS.Install.MSSserver.ps1 из Indeed AM <номер версии>/Misc/IISScripts.
В папке Indeed AM <номер версии>/Indeed AM Idp расположены следующие файлы:
IndeedAM.IDP-v8.1.5.x64.ru-ru.msi — пакет для установки Identity Provider.
AccessManager.Tools.Importer.Services.Console.x64.exe — утилита для обновления Indeed AM SAML IDP до Identity Provider.
dotnet-hosting-6.0.10-win.exe — утилита для установки библиотеки .NET.
Информация
По умолчанию Identity Provider использует аутентификацию Windows. Для внедоменных сценариев включите анонимную аутентификацию.
Для этого выполните следующие действия:
В Диспетчере служб IIS выберите Indeed AM→сайты→Default Web Site→am→idp.
Включите опцию Анонимная проверка подлинности.
Установка пакета
Чтобы установить и настроить Identity Provider, выполните следующие действия:
Установите пакет IndeedAM.IDP-v8.1.5.x64.ru-ru.msi.
Информация
По умолчанию после установки пакета создается и устанавливается новый сертификат сервера IDP. Сертификат шифрует данные, передаваемые между сервером Indeed AM Access Manager и конечными приложениями, например консолью администратора.
Сертификат не предназначен для организации соединения по протоколу SSL.
Если сертификат был сгенерирован ранее, уберите флажок Создать и установить новый сертификат IDP сервера.
Добавьте привязку в настройках IIS.
Запустите Диспетчер служб IIS и выберите Сайты (Sites).
Выберите Default Web Site и нажмите Привязки (Bindings) в разделе Действия (Actions).
Нажмите Добавить (Add):
Тип (Type) — https.
Порт (Port) — 443.
Выберите SSL-сертификат (SSL Certificate).
Сохраните привязку.
Информация
Identity Provider — это веб-приложение, которое работает на базе IIS. По требованиям безопасности Identity Provider работает только по протоколу HTTPS. Не меняйте протокол, это снижает безопасность соединения.
Если вы планируете использовать соединение по протоколу HTTP, измените настройки в файле Web.config из C:\inetpub\wwwroot\am\idp.
В теге aspNetCore добавьте следующее:
<environmentVariables> <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" /> </environmentVariables>
Должно получиться следующее:
<aspNetCore processPath="dotnet" arguments=".\AM.IDP.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess"> <environmentVariables> <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" /> </environmentVariables> </aspNetCore>
Редактирование конфигурационного файла
В конфигурационном файле app-settings.json выполните следующие действия:
Откройте конфигурационный файл app-settings.json из C:\inetpub\wwwroot\am\idp.
Измените параметр AuthenticationServer. В строке Url укажите адрес сервера в формате http(s)://полное_dns_имя_сервера/am/core/.
"AuthenticationServer": { "Url": "AUTH_SERVER_URL", "IsIgnoreCertErrors": false }
Пример адреса сервераhttps://server.test.local/am/core/
Информация
Если вы используете соединение по протоколу HTTPS, вам необходимо установить клиентский сертификат на каждый сервер Indeed AM.
Чтобы ошибки сертификата сервера игнорировались, измените значение параметра IsIgnoreCertErrors на значение true.
Измените параметр Server. В строке Url укажите адрес для подключения к Indeed AM Log Server в формате http(s)://полное_dns_имя_сервера/ls/api.
"Server": { "Url": "LOG_SERVER_URL" }
Пример адреса сервера Indeed AM Log Serverhttps://server.test.local/ls/api/
Измените параметр LocalIdentityProviderConfiguration. В строке SingleSignOnServiceUrl укажите адрес Identity Provider в формате http(s)://полное_dns_имя_сервера/am/idp/Account/SsoService.
"LocalIdentityProviderConfiguration": { "Name": "urn:indeedid:saml_idp", "SingleSignOnServiceUrl": "IDENTITY_PROVIDER_URL/Account/SsoService"
Пример адреса сервера SSOhttps://server.test.local/am/idp/Account/SsoService
Измените параметр LocalIdentityProviderConfiguration. В строке Thumbprint укажите отпечаток сертификата Identity Provider, который был сгенерирован при установке.
"LocalIdentityProviderConfiguration": { "LocalCertificates": [ { "Thumbprint": "" } ] }
Информация
Вы можете найти сертификат в хранилище Local Machine→Personal в папке idp, либо получить с помощью запроса PowerShell:
Get-Childitem Cert:\LocalMachine\My\ | Where-Object {$_.Subject -eq "CN=idp"}
- В параметре AuthenticationMethods удалите ненужные строки и добавьте идентификаторы провайдеров, которые вы планируете использовать, в следующем формате:
В параметре Name укажите произвольное уникальное значение.
В параметре Providers — идентификатор используемого провайдера. Идентификаторы провайдеров вы можете найти в разделе Установка и настройка провайдеров.Если для аутентификации используется один провайдер:
Пример использования одного провайдера"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 был введен верно, провайдер верно — в событиях пользователя регистрируется успешный вход с помощью провайдера.
- Сохраните конфигурационный файл.
- Перезапустите IIS.
Пример настройки аутентификации через Identity Provider
Подробнее о настройке Identity Provider через OpenID Connect вы можете узнать в базе знаний Indeed в статье Настройка OIDC на примере Keycloak.
- No labels