Configure Kafka authentication
Configure how Zuora authenticates with your Kafka cluster using SASL (SCRAM or PLAIN) or TLS/SSL, and review how credentials and certificates are handled securely.
- To configure SASL with SCRAM authentication:
- Select SASL_SSL or SASL_PLAINTEXT as the Security Protocol.
- Select SCRAM as the SASL Mechanism.
- In the SCRAM Authentication section, select a Mechanism Variant.SCRAM‑SHA‑256
- Enter the Kafka Username and Password.
- Review the auto‑generated JAAS configuration, which uses
ScramLoginModuleand your credentials.
Username and password values are treated as secrets and, after you save the connection, are not shown again in the UI or returned by the API. Connections are rejected if SCRAM settings are incomplete or invalid, for example:- Missing SASL mechanism or JAAS configuration.
- Empty username or password in the JAAS configuration.
- A JAAS login module that does not match the selected SCRAM mechanism.
For API requests,
sasl.jaas.configmust use:org.apache.kafka.common.security.scram.ScramLoginModulefor SCRAM-SHA-256 or SCRAM-SHA-512.org.apache.kafka.common.security.plain.PlainLoginModulefor PLAIN.
- To configure SASL with PLAIN authentication:
- Select SASL_SSL or SASL_PLAINTEXT as the Security Protocol.
- Select PLAIN as the SASL Mechanism.
- In the PLAIN Authentication section, enter the Kafka Username and Password.The wizard shows the auto‑generated JAAS configuration using
PlainLoginModule.
As with SCRAM, PLAIN credentials are stored securely as secrets and are not returned in API responses. - To configure TLS / SSL authentication:
- Select SSL or SASL_SSL as the Security Protocol.
- In the TLS / SSL Configuration section, under Truststore Type, choose JKS or PKCS12.Truststore Type identifies the format of the certificate store used for TLS. Select the option that matches your truststore file (Java Key Store for JKS, or PKCS #12 for PKCS12).
- Upload the Truststore Location file and enter the Truststore Password.Truststore Location specifies the JKS file that contains the CA or server certificates your Kafka client will trust; upload the exact truststore used by your cluster's TLS configuration. Truststore Password is the password that protects this JKS file and must match the password configured on the truststore so Zuora can open it during TLS handshakes.
- (Optional) Select Show additional options to configure the SSL Endpoint Identification Algorithm (
httpsto enable hostname verification).This setting controls hostname verification for TLS. Set it tohttpsso Kafka verifies that the broker certificate's host name matches the bootstrap server you configured, helping prevent misconfiguration and man-in-the-middle issues. Onlyhttpsis accepted; disabling hostname verification by setting this field to an empty string or any other value is not supported. - Upload a Keystore Location file and provide the Keystore Password and Key Password for mutual TLS.Keystore Location specifies the JKS/PKCS12 file that contains the client certificate and private key used for mutual TLS when your brokers require client authentication. Keystore Password unlocks the keystore itself, and Key Password (if set) unlocks the private key inside it. Both must match the values configured for this keystore on your Kafka side.
The connection is rejected if required combinations are incomplete, such as:- Truststore location without a truststore password.
- Keystore location without a keystore password.
ssl.key.passwordprovided without a keystore.
TLS / SSL fields cannot be set on non‑TLS protocols such as SASL_PLAINTEXT or PLAINTEXT; such combinations are rejected.
Note: File size limit: Truststore and keystore uploads are limited to 1 MB of decoded content. If you upload a larger file, the connection test or save will fail with an error indicating that the SSL file exceeds the maximum size. - If you set the Security Protocol to PLAINTEXT, no authentication or TLS settings are required.
- The wizard displays a warning that PLAINTEXT sends data unencrypted with no authentication and should only be used in development or fully trusted networks.
- SASL properties (
sasl.mechanism,sasl.jaas.config) and SSL properties are not allowed on PLAINTEXT connections and are rejected if present.
- Click Save & Continue.