Настройка взаимодействия с SecMan#
Взаимодействие с SecMan необходимо для настройки авторизованного взаимодействия с кластерами.
Взаимодействие настраивается в конфигурационном файле, аналогично настройке SecMan для Kafka Connect, пример конфигурации:
security.protocol=SSL
ssl.truststore.location=ssl/truststore.jks # Путь к хранилищу доверенных сертификатов
ssl.truststore.password=${decode:<зашифрованный пароль>} # Пароль хранилища доверенных сертификатов
ssl.client.auth=none # Свойство, позволяющее задать требование на принудительную клиентскую аутентификацию
ssl.enabled.protocols=TLSv1.2 # Список протоколов, разрешенных для SSL-соединений
ssl.endpoint.identification.algorithm= # Алгоритм идентификации конечной точки (endpoint) для проверки имени хоста сервера с помощью сертификата сервера
ssl.engine.factory.class=ru.sbrf.kafka.secman.SecmanSslEngineFactory # Пользовательская SSL-фабрика
secman.endpoint=https://secman-dzo.solution.sbt:8443 # URL SecMan;
secman.namespace=DEV_DZO # Пространство имен
secman.fetch.role=role-ga-secman-kafka-test-worker # Роль для доступа
secman.fetch.mount.path=PKI # Точка монтирования PKI
secman.fetch.cn=devops.corax.solution.sbt # Common Name для сертификата
secman.role_id=${decode:<зашифрованный Role ID>} # Role ID (закодировано)
secman.secret_id=${decode:<зашифрованный Secret ID>} # Secret ID (закодировано)
config.providers=decode
config.providers.decode.class=ru.sbt.ss.kafka.DecryptionConfigProvider
config.providers.decode.param.security.encoding.key=config/encrypt.pass
config.providers.decode.param.security.encoding.class=ru.sbt.ss.password.decoder.SimpleTextPasswordDecoder
config.providers.decode.param.security.encoding.salt=ru.sbt.ss.password.salt.SbtSaltProvider
Взаимодействие с SecMan логируется в отдельный файл, указанный в параметре log4j.appender.<аппендер взаимодействия MM2 и SecMan>.File, подробнее в разделе Журналирование.