java - 如何在 Spring 应用程序中添加 SASL 身份验证

标签 java spring apache-kafka

我有一个 Spring 应用程序,它使用 Kafka 实例,无需任何身份验证。

现在情况发生了变化,Kafka 脱离了应用程序并作为集群运行。我收到了 Kafka 凭证用户名和密码以及主机名:端口信息。

连接到 Kafka 集群需要哪些其他信息。

是否需要更改代码?或者我只需要在 application-profile.yaml 文件中添加一些信息?

我尝试了 Google 中建议的不同方法,但似乎对我不起作用,我不断得到:

Error:
Opening socket connection to server X1.X2.X3.X4/X1.X2.X3.X4:2181. Will not attempt to authenticate using SASL (unknown error)

hequeue:
    #To use local kafka, update use-mock-queue to false and add local  zkservers and metadata-broker-list
    use-mock-queue: false
    zkservers: X1.X2.X3.X4:2181,Y1.Y2.Y3.Y4:2181,Z1:Z2:Z3:Z4:2181
    metadata-broker-list: X1.X2.X3.X4:9092,Y1.Y2.Y3.Y:9092,Z1:Z2:Z3:Z4:9092
    properties:
        sasl:
            jaas:
                config: org.apache.kafka.common.security.scram.ScramLoginModule required username='ANKIT' password='KOTAK';
            mechanism: SCRAM-SHA-256
            kerberos:
                service:
                    name: kafka
        security:
            protocol: SASL_SSL

最佳答案

以下是我们如何使用 spring kafka 的示例配置之一。如果匹配,您可以尝试:

spring:
  kafka:
    bootstrap-servers: 
    consumer:
      properties:
        isolation.level: 
        ssl.truststore.location: 
        ssl.truststore.password: 
        security.protocol: SASL_SSL
        sasl.mechanism: GSSAPI
        sasl.kerberos.service.name:     
    producer: 
      properties: 
        ssl.truststore.location: 
        ssl.truststore.password: 
        security.protocol: SASL_SSL
        sasl.mechanism: GSSAPI
        sasl.kerberos.service.name: 
    admin:
      properties: 
        ssl.truststore.location: 
        ssl.truststore.password: 
        security.protocol: SASL_SSL
        sasl.mechanism: GSSAPI
        sasl.kerberos.service.name: kafka

关于java - 如何在 Spring 应用程序中添加 SASL 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55544812/

相关文章:

Java:线程本地内存分配和可扩展性

C# 无法在 Kafka 主题上使用消息?

apache-kafka - Kafka 将单个日志事件行聚合为组合日志事件

java - Kafka和Storm如何实现 Multi-Tenancy ?

java - 在java中生成序列优惠券代码

java - java中只打印重复的单词

java - Spring Boot变量重命名问题(Hibernate)

spring - 无法使用 CATALINA_HOME/lib 文件夹中的 Spring 和 Spring Security jar

java - 使用 Jackson Framework 进行 @RequestBody 注释的 Spring Boot ObjectMapper

java - 在 jgit 中配置 known_hosts