Kafka supporta la comunicazione sicura?
-
21-12-2019 - |
Domanda
Ho letto molta documentazione di Apache Kafka, ma non sono riuscito a trovare se Kafka supporta la comunicazione protetta tra produttori-broker, broker-consumatori e in particolare la comunicazione tra data center per la replica del broker.
Soluzione
Aggiornamento:A partire dalla versione 0.9.0.0 l'implementazione SSL è stata aggiunta a Kafka.La configurazione SSL deve essere aggiunta esplicitamente sul lato broker.
È anche possibile abilitare SSL per la comunicazione tra broker aggiungendo la seguente proprietà al file delle proprietà del broker.
security.inter.broker.protocol=SSL
Per quanto riguarda il produttore e i consumatori, l'SSL è supportato solo per la nuova API.
Per i dettagli relativi alla generazione della chiave, del certificato e della configurazione, consultare distribuzione di SSL per Kafka
Versioni precedenti
Prima di 0.9.0.0 Kafka does not
supportano SSL/autenticazione e, per quanto ne so, non lo hanno nella road map del team vicino.Un modo potrebbe essere quello di utilizzare la crittografia da parte tua e inviare i dati crittografati tramite i produttori.
Comunque lo hanno fatto Questo discussione riguardante l’implementazione della sicurezza in futuro.
Si può trovare una discussione simile Qui
AGGIORNAMENTO
Grazie a @ppeacy per le sue scoperte
Probabilmente le cose sono cambiate da quando è stato pubblicato questo articolo, ma attualmente la sicurezza è sulla tabella di marcia: https://cwiki.apache.org/confluence/display/KAFKA/Security
Altri suggerimenti
Ci sono stati patch per supportare l'autenticazione client e proteggere in transitoMa nota questo non è ancora stato reso a qualsiasi rilascio di produzione. Ci sono discussioni interessanti e lavori futuri che includono l'autenticazione del cliente, l'autorizzazione e la crittografia dei dati a riposo https://www.mail-archive.com/dev@kafka.apache.org/msg11664.html