Вопрос: С версии 8.2 настройки провайдеров аутентификации располагаются в Management Console, можно ли перенести туда уже заданные настройки провайдеров из реестра/политик?
Ответ: Да, можно, используя утилиту EA.Settings.Migration.Tool.
Перед первым запуском обновленного AM Server необходимо создать бэкап базы данных, т.к. при первом запуске AM Server будут удалены 2 таблицы.
Для миграции имеется консольное приложение: EA.Settings.Migration.Tool (находится в дистрибутиве по пути "Indeed AM 8.2.х\Indeed Access Manager Server\8.2.х\Misc\EA.Settings.Migration.Tool\EA.Settings.Migration.Tool.exe"), которое может мигрировать настройки провайдеров аутентификации из приоритетной политики в Management Console и из реестра. Данный выбор осуществляется в самой утилите.
Утилиту следует запускать на одном из серверов с АМ core. Задавать параметры в утилите можно как в интерактивном режиме, так и в файле "EA.Settings.Migration.Tool.config" в конфигурации которого (файл находится в дистрибутиве по пути "Indeed AM 8.2.х\Indeed Access Manager Server\8.2.х\Misc\EA.Settings.Migration.Tool\EA.Settings.Migration.Tool.config") необходимо указать sourceDb (база, откуда мигрируем настройки - бэкап базы) и destinationDb (база, куда мигрируем настройки).
- В sourceDb значение CONNECTION_STRING меняем на строку подключения к базе, из которой берем значения для миграции.
Значение PROVIDER_NAME меняем на нужное: System.Data.SqlClient для mssql, Npgsql для Postgres.
- В destinationDb значение CONNECTION_STRING меняем на строку подключения к базе, в которую записываем значения.
Значение PROVIDER_NAME меняем на нужное: System.Data.SqlClient для mssql, Npgsql для Postgres.
- В теге amAuthServer необходимо указать url обновленного AM Server (он нужен для получения списка установленных провайдеров)
- В UseCurrentUser (по умолчанию true) - параметр, который означает, что для получения списка установленных провайдеров будет использоваться пользователь, который запускает утилиту миграции. Если текущий пользователь не пройдет авторизацию, то будут запрошены логин и пароль для авторизации. Если UseCurrentUser=false, то будут сразу запрошены логин и пароль. Логин указывается в формате "domain\username".
Также необходимо указать параметры шифрования баз данных: sourceEncryptionSettings и destinationEncryptionSettings.
- В значении cryptoAlgName="CRYPTO_ALG" указываем алгоритм шифрования базы.
- В значении cryptoKey="CRYPTO_KEY" указываем ключ шифрования.
Эти данные можно взять из файла конфигурации АМ core (C:\inetpub\wwwroot\am\core\Web.config) из тега encryptionSettings. Если параметры шифрования одинаковые в старой и новой базах, то настройки sourceEncryptionSettings и destinationEncryptionSettings совпадают.
При миграции, из старой базы будут получены настройки аутентификаторов самой приоритетной политики. Доступные пользователю действия будут скопированы в глобальные настройки каждого аутентификатора, который требует регистрации. Также, из настроек приоритетной политики каждого аутентификатора, который требует регистрации, в глобальные настройки будет скопировано максимальное количество. И для всех аутентификаторов из настроек приоритетной политики будет скопирован признак "запретить использовать".
Важно, после того, как утилита отработала, проверить максимальное количество аутентификаторов в каждом провайдере.
|