<li>SASL/PLAIN should be used only with SSL as transport layer to ensure that clear passwords are not transmitted on the wire without encryption.</li>
<li>The default implementation of SASL/PLAIN in Kafka specifies usernames and passwords in the JAAS configuration file as shown
<ahref="#security_sasl_plain_brokerconfig">here</a>. To avoid storing passwords on disk, you can plug in your own implementation of
<code>javax.security.auth.spi.LoginModule</code> that provides usernames and passwords from an external source. The login module implementation should
provide username as the public credential and password as the private credential of the <code>Subject</code>. The default implementation
<code>org.apache.kafka.common.security.plain.PlainLoginModule</code> can be used as an example.</li>
<li>In production systems, external authentication servers may implement password authentication. Kafka brokers can be integrated with these servers by adding
your own implementation of <code>javax.security.sasl.SaslServer</code>. The default implementation included in Kafka in the package
<code>org.apache.kafka.common.security.plain</code> can be used as an example to get started.
<ul>
<li>New providers must be installed and registered in the JVM. Providers can be installed by adding provider classes to
the normal <tt>CLASSPATH</tt> or bundled as a jar file and added to <tt><i>JAVA_HOME</i>/lib/ext</tt>.</li>
<li>Providers can be registered statically by adding a provider to the security properties file