Hi All,
I am trying to implement kafka acl for one of the topics.
it's a kafka cluster with 1 broker.
Below are the ACL's applied on the topic
Current ACLs for resource `ResourcePattern(resourceType=TOPIC,
name=ibxkb.test.topic, patternType=LITERAL)`:
(principal=User:kafkauser, host=*, operation=WRITE,
permissionType=ALLOW)
(principal=User:kafkauser, host=*, operation=CREATE,
permissionType=ALLOW)
(principal=User:kafkauser, host=*, operation=DESCRIBE,
permissionType=ALLOW)
(principal=User:kafkauser, host=*, operation=READ,
permissionType=ALLOW)
-----------
When the producer is trying to connect using the below script, it throws
the error as shown below .
*Producer Script:*
import { Kafka, logLevel } from 'kafkajs';
(async () => {
const kafka = new Kafka({
clientId: 'saurabhs-program',
brokers: ['broker.corp.equinix.com:9092'],
// authenticationTimeout: 10000,
// reauthenticationThreshold: 10000,
//ssl: true,
sasl: {
mechanism: 'PLAIN', // scram-sha-256 or scram-sha-512
username: 'kafkauser',
password: 'kafkauser',
//group: 'test-app'
},
});
kafka.logger().setLogLevel(logLevel.DEBUG);
const producer = kafka.producer();
producer.logger().setLogLevel(logLevel.DEBUG);
await producer.connect();
const response = await producer.send({
topic: 'ibxkb.test.topic',
messages: [
{ value: 'Auth Test' },
],
});
console.log(response);
})();
*ERROR:*
*KafkaJSProtocolError: Request is not valid given the current SASL state*
at createErrorFromCode
(C:\Hari\Equinix\EISP\node-utils\node-utils2\node-utils2\node_modules\kafkajs\src\protocol\error.js:581:10)
at Object.parse
(C:\Hari\Equinix\EISP\node-utils\node-utils2\node-utils2\node_modules\kafkajs\src\protocol\requests\saslHandshake\v0\response.js:24:11)
at Connection.send
(C:\Hari\Equinix\EISP\node-utils\node-utils2\node-utils2\node_modules\kafkajs\src\network\connection.js:433:35)
at process.processTicksAndRejections
(node:internal/process/task_queues:95:5)
at async SASLAuthenticator.authenticate
(C:\Hari\Equinix\EISP\node-utils\node-utils2\node-utils2\node_modules\kafkajs\src\broker\saslAuthenticator\index.js:35:23)
at async
C:\Hari\Equinix\EISP\node-utils\node-utils2\node-utils2\node_modules\kafkajs\src\network\connection.js:139:9
at async Connection.authenticate
(C:\Hari\Equinix\EISP\node-utils\node-utils2\node-utils2\node_modules\kafkajs\src\network\connection.js:315:5)
at async Broker.connect
(C:\Hari\Equinix\EISP\node-utils\node-utils2\node-utils2\node_modules\kafkajs\src\broker\index.js:111:7)
at async
C:\Hari\Equinix\EISP\node-utils\node-utils2\node-utils2\node_modules\kafkajs\src\cluster\brokerPool.js:93:9
at async
C:\Hari\Equinix\EISP\node-utils\node-utils2\node-utils2\node_modules\kafkajs\src\cluster\index.js:107:14
{
retriable: false,
helpUrl: undefined,
* type: 'ILLEGAL_SASL_STATE',*
code: 34,
[cause]: undefined
Please give me some advice. Let me know if you need any more information.
--
Thanks and Regards,
Hari
Mobile:9790756568