Перейти к основному содержимому
Версия: Indeed Access Manager 9.4

Windows Authentication Reverse Proxy (WARP)

Indeed AM Windows Authentication Reverse Proxy (WARP) — это сервис, предназначенный для Windows-аутентификации пользователей в Access Manager. WARP преобразует данные Windows-аутентификации (Kerberos, NTLM) в JWT-токен, который используется компонентами Access Manager.

WARP обеспечивает прозрачную аутентификацию для автоматизированных клиентов, например PowerShell-скриптов, обращающихся к API Access Manager: клиент аутентифицируется через WARP и получает JWT-токен без необходимости вводить логин и пароль.

Предварительные настройки

Перед установкой WARP выполните следующие действия:

  1. Убедитесь, что хост с ОС Windows добавлен в домен.
  2. Установите версию .NET 8, запустив утилиты:
    • Indeed AM <номер версии>\Indeed AM\dotnet-runtime-8.0.22-win-x64.exe
    • Indeed AM <номер версии>\Indeed AM\aspnetcore-runtime-8.0.22-win-x64.exe

Подготовка сертификатов

Для корректной работы WARP требуются следующие сертификаты:

Подробнее о том, где указывать отпечатки сертификатов, — в разделе Редактирование конфигурационного файла.

Сертификат для подписи JWT-токенов

Для работы WARP требуется сертификат для подписи JWT-токенов (алгоритм RS256), который позволяет Core Server проверить целостность и подлинность токена.

Чтобы использовать встроенный сертификат, в программе установки WARP включите опцию Выпустить и установить сертификат для JWT-токенов.

Примечание

При использовании балансировщика нагрузки установите сертификат для JWT-токенов на каждом сервере кластера. Подробнее о балансировке WARP — в базе знаний технической поддержки Indeed Access Manager.

Сертификат сервера WARP

  1. Выпустите собственный сертификат сервера с закрытым ключом на имя хоста, где планируется установка WARP.
  2. Импортируйте сертификат в хранилище сертификатов Windows: Локальный компьютер → Личное.
Примечание

WARP по умолчанию запускается от имени учетной записи Network Service (Сетевая служба). Предоставьте этой учетной записи права на чтение закрытого ключа сертификата, чтобы сервис WARP использовал сертификат для обработки входящих соединений.

Клиентский сертификат для соединения с Core Server

По умолчанию WARP использует встроенный клиентский сертификат для исходящих соединений с Core Server.

Установка WARP

Чтобы установить WARP, запустите Indeed AM <номер версии>\Indeed AM Proxies.Warp\IndeedAM.Proxies.Warp-<номер версии>.ru-ru.msi и следуйте шагам программы установки.

Редактирование конфигурационного файла

  1. Откройте конфигурационный файл C:\Program Files\Indeed-Id\Indeed-Id WARP\app-settings.json.

  2. В секции JwtSettings в параметре Thumbprint укажите отпечаток сертификата для подписи JWT-токенов.

    Если при установке вы выбрали опцию Выпустить и установить сертификат для JWT-токенов, отпечаток прописывается автоматически.

    Пример
    "JwtSettings": {
    "Issuer": "am_warp",
    "Audience": "am_core",
    "Expiration": "00:01:00",
    "Certificate": {
    "Thumbprint": "57FEB0A03A6D9A2826CCB5E4A92522111419E490",
    "Validate": true
    }
    }
  3. В секции IncomingConnectionCertificate в параметре Thumbprint укажите отпечаток сертификата сервера WARP.

    Пример
    "IncomingConnectionCertificate": {
    "Thumbprint": "75C06829208E64A337C458CED2FC58F7DFC44B1C",
    Проверка срока действия сертификата

    По умолчанию WARP проверяет срок действия сертификата клиентского приложения при установлении входящего mTLS-соединения. Если сертификат истек, а новый еще не выпущен, проверку можно временно отключить с помощью параметра Validate: false.

    Важно

    Даже при отключенной проверке соединение продолжает использовать TLS и клиентский сертификат, поэтому уровень безопасности выше, чем при незашифрованном HTTP-соединении.

    "IncomingConnectionCertificate": {
    "Thumbprint": "75C06829208E64A337C458CED2FC58F7DFC44B1C",
    "Validate": false,
    "ValidClientThumbprints": [
    "82DBDE65BF2C19E01B46D59F4978AB518591A70F"
    ]
    }
  4. Если вы используете собственный клиентский сертификат для соединения с Core Server, в секции OutgoingConnectionCertificate в параметре Thumbprint укажите его отпечаток. Если параметр не указан, WARP использует встроенный клиентский сертификат.

    Пример
    "OutgoingConnectionCertificate": {
    "Thumbprint": "F924A027B2A2B15AC18CCB8F6E82A67BA870D2B0"
    }
  5. В секции Clusters в параметре Address укажите адрес Core Server.

    Пример
    "Clusters": {
    "web-client-cluster": {
    "Destinations": {
    "destination1": {
    "Address": "https://am.core.test"
    }
    }
    }
    }

Настройка Core Server

Чтобы Core Server мог проверить подпись JWT, экспортируйте открытый ключ сертификата для подписи JWT-токенов. Файл должен называться warp.cer.

Откройте мастер конфигурации Access Manager и в разделе Сертификаты добавьте сертификат warp.cer.

Результат: создается сертификат am/ssl/ca/trusted_ca.crt, содержащий список всех сертификатов открытого ключа из каталога am/ssl/ca.

Пример
"Authentication": {
"Windows": {
"ValidIssuer": "am_warp",
"ValidAudience": "am_core",
"Certificate": {
"FileName": "/ssl/warp.cer"
}
}
}

Запуск и управление WARP

Примечание

Если WARP использует доменную учетную запись, откройте свойства службы и в настройке Общие → Тип запуска выберите тип Автоматически (отложенный автозапуск).

WARP работает как служба Windows. Для управления используйте services.msc или командную строку от имени администратора.

ДействиеCMDPowerShell
Запуск
net start "AM WARP"
Start-Service -Name "AM WARP"
Остановка
net stop "AM WARP"
Stop-Service -Name "AM WARP"

Сбор логов

Информация по включению логирования и сбору логов WARP находится в разделе Сбор логов компонентов Access Manager.