Настройка собственного клиентского сертификата
Для повышения безопасности рекомендуется использовать собственный клиентский сертификат, сгенерированный через мастер конфигурации.
Чтобы использовать собственный сертификат, выпишите сертификат для аутентификации на Core Server.
Чтобы сгенерировать собственный клиентский сертификат вручную:
Перейдите в каталог
am/toolsи запустите скриптtool_gen_client_cert.sh.sudo bash ./tool_gen_client_cert.sh -f mycertВажно: После отработки скрипта в терминале отображается пароль от сертификата
<certName>.pfx, который необходимо сохранить.Результат:
am/tools/certName.pfx— сертификат с приватным ключом для аутентификации на Core Server.am/ssl/ca/certName.cer— открытый ключ для доверияcertName.pfx.Значение отпечатка сертификата автоматически подставляется в конфигурационный файл Core Server
am/core/app-settings.jsonв разделеAuthentication:Certificate:Thumbprints.
Пример раздела
Certificate“Certificate”: {
“ForwardingHeader”: “X-IndeedAM-ClientCert”,
“Thumbprint”: “01de449b6f4b49e00d1a5b20ffb5d6605cf6cd2a”,
“Thumbprints”: [
"31650135EFE9CFEB83500A3DFE9FB747DC77480E",
"E2163AF0B2D72C8C5CEC2A6E289DFD0C8B7940B3",
"8FEEC416480E0F69A1E67BCBAE3DBBE7D1F449F2"
]
}Где:
Thumbprint— отпечаток встроенного клиентского сертификатаThumbprints— отпечатки собственных клиентских сертификатов, которым будет доверять Core Server
ПримечаниеПри использовании балансировщика нагрузки:
- Добавьте сертификаты
certName.pfxиcertName.cerна все сервера в соответствующие директории. - Добавьте значения отпечатка сертификата в соответствующие файлы на всех серверах.
Создайте каталог
am/ssl/clientи скопируйтеcertName.pfxв этот каталог.Из каталога
am/sslзапустите скриптprepareCaFile.shдля повторной генерацииtrusted_ca.crt.sudo bash ./prepareCaFile.shРезультат: создается сертификат
am/ssl/ca/trusted_ca.crt, который содержит список всех добавленных вam/ssl/caсертификатов открытого ключа.ПримечаниеПри изменении состава каталога
am/ssl/caнеобходимо перезапустить скриптprepareCaFile.sh.Сделайте владельцем пользователя Access Manager в Docker-контейнере для обновленного сертификата
am/ssl/ca/trusted_ca.crt.sudo chown <AM_UID>:<AM_GID> ./ssl/ca/trusted_ca.crtПерезапустите контейнер с приложением:
sudo docker compose down -v
sudo docker compose up -d