Вопрос проверяет понимание настройки TLS для защищённого соединения с Kafka, что необходимо для обеспечения безопасности передачи данных.
TLS (Transport Layer Security) используется для шифрования трафика между клиентами и брокерами Kafka, а также для взаимной аутентификации. Настройка включает конфигурацию как на стороне брокера, так и на стороне клиента.
Для включения TLS на брокере необходимо указать SSL-слушатель и пути к сертификатам. Пример конфигурации в файле server.properties:
listeners=SSL://localhost:9093
ssl.keystore.location=/path/to/kafka.keystore.jks
ssl.keystore.password=yourpassword
ssl.key.password=yourkeypassword
ssl.truststore.location=/path/to/kafka.truststore.jks
ssl.truststore.password=yourpassword
ssl.client.auth=requiredПараметр ssl.client.auth=required включает взаимную аутентификацию, когда клиент также предоставляет сертификат.
Клиент (например, Java-приложение) настраивается через свойства:
props.put("security.protocol", "SSL");
props.put("ssl.truststore.location", "/path/to/client.truststore.jks");
props.put("ssl.truststore.password", "yourpassword");
props.put("ssl.keystore.location", "/path/to/client.keystore.jks");
props.put("ssl.keystore.password", "yourpassword");
props.put("ssl.key.password", "yourkeypassword");Если взаимная аутентификация не требуется, keystore можно не указывать.
Сертификаты создаются с помощью утилиты keytool или OpenSSL. Для тестовой среды можно использовать самоподписанные сертификаты, но в production рекомендуется использовать сертификаты от доверенного центра.
Настройка TLS в Kafka критична для защиты данных в движении. Она обязательна в production-средах, где требуется конфиденциальность и целостность сообщений, а также для предотвращения несанкционированного доступа.
Уровень
Рейтинг:
4
Сложность:
6
Навыки
Node.js
RabbitMQ
Ключевые слова
Подпишись на Golang Developer в телеграм