AWS Кафка (MSK) - Как создать хранилище ключей и доверенных сертификатов и использовать их в моем приложении Spring Cloud Stream? - PullRequest
1 голос
/ 18 февраля 2020

Есть ли какая-либо информация о том, как я могу использовать подробные данные AWS MSK в своем приложении Spring Cloud Stream?

Я считаю, что нам необходимо создать хранилище ключей и хранилище доверенных сертификатов, а затем включить их в наше приложение ? Я просмотрел страницу «Аутентификация клиента» в AWS MSK и обнаружил, что это очень сбивает с толку.

Может кто-нибудь помочь мне с шагами по этому вопросу? Я просто пытаюсь развернуть это приложение, которое использует AWS MSK (3 брокера).

Спасибо.

1 Ответ

0 голосов
/ 18 марта 2020

Краткий ответ: Вашему клиенту kafka это понадобится в конфигурации:

# security settings
security.protocol=SSL
ssl.truststore.location=/tmp/kafka.client.truststore.jks
ssl.truststore.password=
ssl.endpoint.identification.algorithm=

То есть, если вы используете то же хранилище доверенных сертификатов JVM из руководства, но без пароля. ssl.endpoint.identification.algorithm отключает проверку имени хоста.

Длинный ответ: я изучал то же самое после прохождения урока, задаваясь вопросом, почему хранилище доверенных сертификатов JVM волшебным образом работает при подключении к MSK. Объяснение таково:

Если вы посмотрите, какие сертификаты импортировано этим доверенным хранилищем

keytool --list -v -keystore /tmp/kafka.client.truststore.jks | grep Owner

Одним из них является Starfield Services Root Certificate Authority, когда Amazon приобрел компанию, ЦС стал одним из Амазонки (см. Все они здесь https://www.amazontrust.com/repository/). Поскольку доверенное хранилище JVM доверяет этому ЦС, оно также доверяет всему, что подписано ЦС, и кластер MSK является одним из них.

Если вы предпочитаете создать свое собственное хранилище доверенных сертификатов, загрузите один из сертификатов Amazon и импортируйте

keytool -keystore kafka.client.truststore.jks -alias CARoot -importcert -file {downloaded-cert} -storepass {your-password}

Спасибо, Янан

...