Настройка интеграции с OTT (One-Time Token)#

Интеграция с Единым Аудитом по REST может осуществляться как с использованием OTT (One-Time Token), так и без. Необходимость настройки интеграции с OTT необходимо уточнять в требованиях к интеграции с Единым Аудитом.

Если интеграция с OTT не требуется, необходимо явно отключить поддержку OTT с помощью стендозависимого параметра mail_ott_sidecar.ose.global.enabled (подробнее ниже).

В случае возникновения вопросов по настройке интеграции с OTT необходимо обращаться к документации OTT или к команде OTT.

Интеграция с OTT реализована с помощью OTT-сайдкара, находящегося на поде Egress. При отправке запроса на внешний хост срабатывает EnvoyFilter, который вызывает OTT-сайдкар для подписывания запроса OTT-токеном. OTT-токеном подписываются запросы только для тех внешних хостов, для которых настроен EnvoyFilter.

Настройка стендозависимых параметров#

Для настройки интеграции с OTT необходимо внести изменения в конфигурационный файл: mail-ott-sidecar.conf.

Ниже перечислены основные параметры, на которые стоит обратить внимание:

  • mail_ott_sidecar.ose.global.enabled - глобальный флаг включения поддержки OTT. Если задано значение true, то при установке дистрибутива будет:

    • Добавлен OTT-сайдкар в под Egress;

    • Создан EnvoyFilter для Единого Аудита. Все запросы в Единый Аудит будут подписываться OTT-токеном;

    • Примонтированы сертификаты на Egress для подключения к OTT-серверу;

    • Созданы ConfigMap с настройками OTT.

    При переключении этого флага убедитесь, что в параметрах mail_egress_gateway.ose.istio.egress.audit.host и mail_audit_adapter.ose.configmap.data.application_config.audit.urlPath указан корректный URL до Единого Аудита (с OTT или без).

    Если интеграция с OTT не требуется, необходимо задать данному флагу значение false.

  • mail_ott_sidecar.vault.pki.engine - PKI-движок для получения сертификатов, использующихся для подключения к серверу OTT. Если не задать этот параметр, то сертификаты будут браться из SecMan-хранилища из секрета, указанного в параметре mail_ott_sidecar.vault.secret.path.certs. Сертификаты в таком случае будут браться по следующим ключам:

    • ca-bundle - цепочка доверенных сертификатов;

    • ott.key - приватный ключ сертификата для подключения к серверу OTT;

    • ott.pem - сертификат для подключения к серверу OTT.

  • mail_ott_sidecar.vault.secret.path.certs - полный путь к секрету SecMan для хранения сертификатов OTT;

  • mail_ott_sidecar.vault.getChainFromKv.enabled - флаг получения цепочки доверенных сертификатов из хранилища KV. Если false, то для генерации цепочки используется PKI-движок из параметра mail_ott_sidecar.vault.pki.engine

  • mail_ott_sidecar.vault.certCommonName - CN сертификата, использующегося для подключения к серверу OTT;

  • mail_ott_sidecar.vault.mountOttServiceCrt.enabled - флаг монтирования серверного сертификата OTT из секрета SecMan по ключу ott-service.crt. Серверный сертификат необходим только для подключения к серверам OTT 3 поколения. По умолчанию рекомендуется оставить значение false. Если значение равно true, то:

    • Сертификат будет монтироваться по пути /home/certs/ott-service.crt;

    • Необходимо указать путь до этого сертификата в параметре mail_ott_sidecar.ose.configmap.ottServiceCrt.

  • mail_ott_sidecar.ose.configmap.ottModuleId - module-id OTT-клиента;

  • mail_ott_sidecar.ose.configmap.ottServiceHosts - список OTT-серверов, с которыми взаимодействует OTT-сайдкар. Формат, в котором задаётся данный список, уточняйте в документации OTT.

В файле mail-ott-sidecar.conf указывается список стендозависимых параметров, которые соответствуют параметрам в ConfigMap для OTT (например, стендозависимый параметр mail_ott_sidecar.ose.configmap.ottCertstoreType соответствует параметру OTT_CERTSTORE_TYPE в ConfigMap для OTT-сайдкара). За подробным описанием этих параметров обращайтесь к документации OTT.