RivenSun created KAFKA-15472:
--------------------------------

             Summary: Kraft broker does not seem to support sasl/scram 
authentication
                 Key: KAFKA-15472
                 URL: https://issues.apache.org/jira/browse/KAFKA-15472
             Project: Kafka
          Issue Type: Bug
          Components: security
    Affects Versions: 3.4.1
            Reporter: RivenSun


kafka server&client version: 3.4.1

server.properties

 
{code:java}
#controller communicate config
sasl.mechanism.controller.protocol=PLAIN 
#broker communicate config
#security.inter.broker.protocol=SASL_PLAINTEXT
inter.broker.listener.name=INTERNAL_SSL
sasl.mechanism.inter.broker.protocol=PLAIN
#sasl authentication config
sasl.kerberos.service.name=kafka
sasl.enabled.mechanisms=PLAIN,SCRAM-SHA-256,SCRAM-SHA-512,GSSAPI,OAUTHBEARER 
{code}
 

kafkaClient test code

 
{code:java}
AdminClient adminClient = AdminClient.create(props);
try {
    UserScramCredentialUpsertion credentialUpsertion = new 
UserScramCredentialUpsertion("test",
            new ScramCredentialInfo(ScramMechanism.SCRAM_SHA_256, 4096),"test");
    
adminClient.alterUserScramCredentials(Collections.singletonList(credentialUpsertion)).all().get();
    Set<String> users = 
adminClient.describeUserScramCredentials(Collections.singletonList("test")).all().get().keySet();
    System.out.println(users);
    Collection<Node> nodes = adminClient.describeCluster().nodes().get();
    System.out.println(nodes);
} catch (Exception e) {
    System.out.println(e.toString());
    LOG.error("failed", e);
} finally {
    adminClient.close();
} {code}
 

 

error log

 
{code:java}
[main] INFO org.apache.kafka.common.security.authenticator.AbstractLogin - 
Successfully logged in.
[main] INFO org.apache.kafka.common.utils.AppInfoParser - Kafka version: 3.4.1
[main] INFO org.apache.kafka.common.utils.AppInfoParser - Kafka commitId: 
8a516edc2755df89
[main] INFO org.apache.kafka.common.utils.AppInfoParser - Kafka startTimeMs: 
1695024285450
Disconnected from the target VM, address: '127.0.0.1:52962', transport: 'socket'
java.util.concurrent.ExecutionException: 
org.apache.kafka.common.errors.UnsupportedVersionException: The broker does not 
support ALTER_USER_SCRAM_CREDENTIALS
[main] ERROR us.zoom.mq.examples.AdminClientTest - failed
java.util.concurrent.ExecutionException: 
org.apache.kafka.common.errors.UnsupportedVersionException: The broker does not 
support ALTER_USER_SCRAM_CREDENTIALS
    at 
java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:396)
    at 
java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2073)
    at 
org.apache.kafka.common.internals.KafkaFutureImpl.get(KafkaFutureImpl.java:165)
    at us.zoom.mq.examples.AdminClientTest.main(AdminClientTest.java:50)
Caused by: org.apache.kafka.common.errors.UnsupportedVersionException: The 
broker does not support ALTER_USER_SCRAM_CREDENTIALS
[kafka-admin-client-thread | adminclient-1] INFO 
org.apache.kafka.common.utils.AppInfoParser - App info kafka.admin.client for 
adminclient-1 unregistered
[kafka-admin-client-thread | adminclient-1] INFO 
org.apache.kafka.common.metrics.Metrics - Metrics scheduler closed
[kafka-admin-client-thread | adminclient-1] INFO 
org.apache.kafka.common.metrics.Metrics - Closing reporter 
org.apache.kafka.common.metrics.JmxReporter
[kafka-admin-client-thread | adminclient-1] INFO 
org.apache.kafka.common.metrics.Metrics - Metrics reporters closed {code}
When executing the adminClient.describeUserScramCredentials method, an error 
will also be reported: java.util.concurrent.ExecutionException: 
{code:java}
org.apache.kafka.common.errors.UnsupportedVersionException: The broker does not 
support DESCRIBE_USER_SCRAM_CREDENTIALS{code}
 

In Kafka's official website, 
https://kafka.apache.org/documentation/#kraft_missing 

I didn't see that Kraft does not support sasl/scram.


But when I read the sasl/scram chapter, I found that zookeeper is still used to 
introduce the scram authentication mechanism.
https://kafka.apache.org/documentation/#security_sasl_scram

 

 

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to