Валидация Passcode
Перед началом процедуры миграции с Access Manager 8.2.x на Access Manager 9.x рекомендуется выполнить валидацию Passcode, если в версии Access Manager 8.2.x используется Windows Logon или RDP Windows Logon. Процесс валидации Passcode обеспечивает корректность и целостность данных и позволяет избежать ошибок преобразования данных из бинарного формата.
Чтобы обеспечить консистентность данных и гарантировать успешное функционирование аутентификации с помощью провайдера Passcode в Access Manager 9.2, используйте утилиту AccessManager.Tools.Passcode.Services.Console.exe.
Настройки на стороне Access Manager 9.2
Перед использованием утилиты AccessManager.Tools.Passcode.Services.Console.exe необходимо выполнить следующее:
Выполните установку и настройку серверных компонентов Access Manager 9.2.
ВажноПри настройке компонента Core Server, укажите строку подключения к базе данных от Access Manager 8.2.x.
Для компонента Core Server включите логирование с уровнем
Error
.Откройте файл am/core/app-settings.json и убедитесь, что следующий параметр задан корректно:
"PlatformCompatibility": {
"Registry": {
"Source": "PlatformOrFile",
"File": "server-registry.json"
}
}Где файл server-registry.json — эмулятор реестра в Access Manager 9.2.
Внесите изменения в файл am/core/server-registry.json:
LogPasscodeDeserializationError
— включает и выключает логирование ошибочных данных (pickle) для Passcode. Возможные значения:"1"
и"0"
.LogPasscodeEncryptionPublicKey
— публичный ключ шифрования ошибочных данных (pickle) для Passcode. Не изменяйте этот параметр.NativePasscodeValidationEnabled
— включает и выключает режим валидации нативных данных (pickle) для Passcode. Возможные значения:"1"
и"0"
.NativePasscodeValidationSecret
— секрет, который передается утилитой валидации. Сгенерируйте его в виде случайного набора латинских букв и цифр длиной от 1 до 30 символов без использования специальных символов. Этот секрет нужен для дополнительной защиты режима валидации Passcode.NativePasscodeValidationCoreApiUrl
— URL-адрес компонента Core Server версии Access Manager 8.2.x.
Пример
{
"KeyName": "HKEY_LOCAL_MACHINE\\SOFTWARE\\Policies\\Indeed-Id\\BSPs\\Passcode",
"ValueName": "LogPasscodeDeserializationError",
"StringValue": "1"
},
{
"KeyName": "HKEY_LOCAL_MACHINE\\SOFTWARE\\Policies\\Indeed-Id\\BSPs\\Passcode",
"ValueName": "LogPasscodeEncryptionPublicKey",
"StringValue": "<RSAKeyValue><Modulus>ySDCRwBj5NbWGtZ8YgNbWzjTZfFB9UeSXAKHz2qwk4Q/iJJJ5FYB622s5MAZH5BI7s+npm272w98dXCtOn3rYJEEI10p03coWHfFj2SjP2RnXnSnWvgZhWoNXtGPABmYKSGDBiXOvQaFcyVY+8DDYxh49ZkAASelPGqMTLaLO6mX4SPjA81ZynnQ81QR2yiqPV0m8V2naYHxgWI0RwxctA7mLjIUbTbnjzjSk5BCLc2LxoqP9r9nUIqn4k09zLt43CcmhmbfszmCN3uwdY30jPEhHpcumEFMhM2YBGaUaIuUfx2DNB5A129/LRcYzRBppnYjhqhHZPv85H8oCMGzRQ==</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>"
},
{
"KeyName": "HKEY_LOCAL_MACHINE\\SOFTWARE\\Policies\\Indeed-Id\\BSPs\\Passcode",
"ValueName": "NativePasscodeValidationEnabled",
"StringValue": "1"
},
{
"KeyName": "HKEY_LOCAL_MACHINE\\SOFTWARE\\Policies\\Indeed-Id\\BSPs\\Passcode",
"ValueName": "NativePasscodeValidationSecret",
"StringValue": "somesecretindid"
},
{
"KeyName": "HKEY_LOCAL_MACHINE\\SOFTWARE\\Policies\\Indeed-Id\\BSPs\\Passcode",
"ValueName": "NativePasscodeValidationCoreApiUrl",
"StringValue": "http(s)://app8.ind.my/am/core"
}
Запуск утилиты валидации Passcode
Чтобы выполнить валидацию Passcode, необходимо на стороне Access Manager 8.2.x открыть терминал и запустить утилиту валидации AccessManager.Tools.Passcode.Services.Console.exe со следующими командами и параметрами.
Шаг 1. export-users
— определяет список пользователей, для которых требуется валидация Passcode.
Шаг 2. validate-users-passcode
— производит валидацию Passcode на основании списка пользователей.
Глобальные параметры
В следующей таблице приведены глобальные параметры, которые можно задать при выполнении команд export-users
и validate-users-passcode
. У пользователя должно быть достаточно прав для изменения необходимых файлов.
| Обязательный параметр. URL-адрес Core Server версии Access Manager 9.2. Пример: http(s)://access-manager-server-url/am/core. |
| Отпечаток клиентского сертификата. Если параметр не задан, используется встроенный сертификат. Пример: "client-certificate-thumbprint" . |
| Расположение хранилища клиентских сертификатов. Значение по умолчанию: CurrentUser . |
| Уровень логирования. Возможные значения: Trace , Debug , Info (по умолчанию), Warn , Error , Fatal , Off . |
Экспорт пользователей
Чтобы выполнить экспорт пользователей, для которых необходимо выполнить валидацию, запустите утилиту AccessManager.Tools.Passcode.Services.Console.exe с командой export-users
и необходимыми параметрами. Все параметры приведены в следующей таблице. Также можно добавить любые глобальные параметры.
Список пользователей формируется на основе привязанных к ним лицензий для указанных приложений (параметр --application
или --app
). Можно указать несколько приложений.
Пример команды для экспорта пользователей
AccessManager.Tools.Passcode.Services.Console.exe export-users --out c:\path\to\file.txt --overwrite true --app "Windows Logon" --u domain\\globaladmin --limit 10000 --url http://<AM_CORE_URL>/am/core --log Trace
Параметры для команды export-users
| Обязательный параметр. Имя файла, в который будет записан результат экспорта. Можно указать полный путь файла, относительный путь файла или имя файла. Имя файла можно указать без расширения. |
| Позволяет перезаписывать файл. Значение по умолчанию false . |
| Обязательный параметр. Приложение, на основе которого осуществляется выгрузка. Можно указать несколько приложений, например --app "Windows Logon" --app "Enterprise SSO" . |
| Логин глобального администратора Access Manager, который осуществляет выгрузку. Если логин не указан, то в среде Windows будет использоваться аутентификация Windows (если настроена). Если логин указан, то будет запрошен Windows-пароль. Логин можно указывать в формате PrincipalName (user@domain.local) или SamCompatibleName (domain\user). |
| Ограничение количества выгружаемых пользователей. Применяется, если задано значение больше нуля. Значение по умолчанию 0 (безлимитно). |
Валидация Passcode
Чтобы начать валидацию Passcode на основе списка экспортированных пользователей, запустите утилиту с командой validate-users-passcode
и задайте один из следующих параметров. Также можно добавить любые глобальные параметры.
Пример команды для валидации Passcode
AccessManager.Tools.Passcode.Services.Console.exe validate-users-passcode --from c:\path\to\export.txt --url http://<AM_CORE_URL>/am/core --log Trace
Параметры для команды validate-users-passcode
| Путь, по которому находится файл с ранее экспортированными пользователями. Файл можно редактировать. |
После запуска валидации запрашивается значение параметра NativePasscodeValidationSecret, которое вы задали ранее в файле server-registry.json на стороне Access Manager 9.2.
При успешной валидации Passcode на стороне Access Manager 8.2.x в Log Server записываются события об успешной аутентификации по Passcode, а на стороне Access Manager 9.2 записываются ошибки входа.
Сбор логов
На стороне Access Manager 9.2 результат валидации хранится в файле NativePasscodeValidator.<guid>.txt, который находится в логах компонента Core Server. При наличии ошибок в файле NativePasscodeValidator.<guid>.txt обратитесь в службу технической поддержки support@indeed-id.com.
Пример ошибки
2025-02-26 16:18:46.7999|0HNAM9VAJ2LCI:00000002|0|ERROR|,4e68816e-e33b-4281-8719-4c0b774b4c53,ActiveDirectory_d5d11f1b-a87f-4ca0-bab1-4c3bcf5743b0,unknown type: System.Byte[],error_pickle_parsing,Error message: Pickle can't be parsed: unmatched: range N0(0, 44), @0, 1!=3, hr -2147024883,...
Пример валидации без ошибок
2025-02-28 09:50:28.5360|0HNANOJULLERO:00000002|0|ERROR|,188fef22-eb79-4105-a2e1-4fb9b3c19471,a406f_186dc38a-403f-4054-9aca-731f3216d6f0,string_passcode,skipped,,
2025-02-28 09:50:28.9423|0HNANOJULLERO:00000002|0|ERROR|,188fef22-eb79-4105-a2e1-4fb9b3c19471,a406f_186dc38a-403f-4054-9aca-731f3216d6f0,bin_sha1_passcode,success,(null),(null)
2025-02-28 09:50:28.9423|0HNANOJULLERO:00000002|0|ERROR|,188fef22-eb79-4105-a2e1-4fb9b3c19471,a406f_186dc38a-403f-4054-9aca-731f3216d6f0,string_passcode,skipped,,
2025-02-28 09:50:29.2444|0HNANOJULLERO:00000002|0|ERROR|,188fef22-eb79-4105-a2e1-4fb9b3c19471,a406f_186dc38a-403f-4054-9aca-731f3216d6f0,bin_passcode,success,(null),(null)
2025-02-28 09:50:29.8941|0HNANOJULLERT:00000002|0|ERROR|,188fef22-eb79-4105-a2e1-4fb9b3c19471,a406f_f688dd25-349f-42c5-afd5-9f2e50b15f0f,bin_passcode,success,(null),(null)