liveBook · Manning

TLS

As explained in Kafka for Architects

TLS is a cryptographic protocol that authenticates endpoints and protects data in transit through encryption and integrity checks.

TLS protects Kafka data in transit by encrypting communication so intercepted data remains unreadable. It can also authenticate communication participants, but encryption alone does not replace authorization, ACLs, network controls, or security policy. section 9.0 section 9.2.3

Configure TLS around certificates, trust decisions, and service roles:

  • Generate a private key and keystore for each server or client that participates in TLS communication. section 9.3.2
  • Create a certificate signing request, obtain a certificate from a certificate authority, and import it into the keystore. section 9.3.2
  • Create a truststore containing trusted server, participant, CA, and intermediate-CA certificates. section 9.3.2
  • Configure keystore, truststore, and key-password properties on brokers and clients; Kafka retains the historical SSL prefix for some properties. section 9.3.2
  • Require mutual TLS when clients must authenticate themselves with their own keys and certificates. section 9.3.2

Production security review

A production Kafka design may use TLS to protect broker, client, and internal communication, while separately defining authentication methods, ACLs, network reachability, and whether broker-to-controller or legacy ZooKeeper traffic also requires encryption. This prevents the common mistake of treating encrypted communication as the complete security design. section 9.2.3

Figure 9.11 Generating keys and receiving a certificate. The Party (client or server) is the entity that generates the key pair and requests a signed certificate from the certificate authority.
A diagram of a sign

AI-generated content may be incorrect.

Follow the certificate-generation flow from key-pair creation through certificate-authority signing for either a client or server. section 9.3.2

Listing 9.3 Server configuration for TLS
ssl.keystore.location=/certs/kafka.server.keystore.jks  #1
ssl.keystore.password=secret1  #2
ssl.truststore.location=/certs/kafka.server.truststore.jks  #3
ssl.truststore.password=secret2  #4
ssl.key.password=secret3  #5
ssl.client.auth=required  #6

Inspect a broker configuration showing keystore, truststore, key-password, and required client-authentication settings. section 9.3.2

How Kafka for Architects covers it

How deep it goes
Explains certificate materials, setup sequence, mTLS, and broker/client properties, while deferring detailed troubleshooting and component-specific configuration.
Examples
Uses certificate-generation diagrams plus broker and client configuration listings as concrete implementation artifacts.
What you can do after
Operate/configure Kafka TLS by generating certificates, preparing keystores and truststores, and applying broker and client properties.
How it connects
Connects TLS with authentication, mutual TLS, authorization, ACLs, keystores, truststores, and certificate authorities.

Also explained in

Compare how 15 books explain TLS →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Kafka for Architects. The section links point to the parts of the book it draws on.