[Kafka with kraft] SASL_PLAINTEXT认证

这篇具有很好参考价值的文章主要介绍了[Kafka with kraft] SASL_PLAINTEXT认证。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文基于kafka3.3.1使用kraft作为仲裁,进行测试,kafka with zookeeper使用也是一样的。

修改服务器配置

1.创建kafka_server_jaas.conf文件,写入如下内容

KafkaServer {
    org.apache.kafka.common.security.plain.PlainLoginModule required
    username="admin"
    password="admin-sec"
    user_admin="admin-sec"
    user_producer="prod-sec"
    user_consumer="cons-sec";
};
  • username: 定义了一个公共的用户名密码,用于节点间通信

  • user_xxx: 自定义用户,主要用于客户端连接kafka,所以可以使用的用户必须在此定义。等号后面是密码,xxx是用户名。格式不能错。

  • 注意倒数第一行和倒数第二行都有一个分号

2.修改kafka-server-start.sh启动脚本的最后一行,将上述文件作为参数传递个kafka:exec $base_dir/kafka-run-class.sh $EXTRA_ARGS -Djava.security.auth.login.config=/usr/local/kafka/config/kafka_server_jaas.conf kafka.Kafka "$@"。注意修改文件路径。

3.修改 kafka 配置文件下的server.properties

# 这两行主要是修改协议
listeners=SASL_PLAINTEXT://0.0.0.0:9193 
advertised.listeners=SASL_PLAINTEXT://12.120.20.3:9092

# inter.broker.listener.name=PLAINTEXT # 如果这一行默认是开启的注释掉这一行

# 增加下面四行配置
security.inter.broker.protocol=SASL_PLAINTEXT
sasl.enabled.mechanisms=PLAIN
sasl.mechanism.inter.broker.protocol=PLAIN
allow.everyone.if.no.acl.found=true

4.重启kafka节点

修改控制台生产者消费者配置

这一节主要配置控制台生产者和消费者。主要用于测试,如果直接用程序调试这一节可以跳过。

5.消费者新建jaas文件kafka_client_consumer_jaas.conf

KafkaClient {
    org.apache.kafka.common.security.plain.PlainLoginModule required
    username="consumer"
    password="cons-sec";
};

6.生产者新建jaas文件kafka_client_producer_jaas.conf

KafkaClient {
    org.apache.kafka.common.security.plain.PlainLoginModule required
    username="producer"
    password="prod-sec";
};

7.修改生产者客户端脚本kafka-console-producer.sh,指定配置文件.注意文件路径

exec $(dirname $0)/kafka-run-class.sh -Djava.security.auth.login.config=/data/users/yulei/kafka_2.12-3.3.1/config/kraft/kafka_client_producer_jaas.conf kafka.tools.ConsoleProducer "$@"

8.修改消费者客户端脚本kafka-console-consumer.sh

exec $(dirname $0)/kafka-run-class.sh -Djava.security.auth.login.config=/data/users/yulei/kafka_2.12-3.3.1/config/kraft/kafka_client_consumer_jaas.conf kafka.tools.ConsoleConsumer "$@"

9.创建生产者配置文件producer.properties

security.protocol=SASL_PLAINTEXT
sasl.mechanism=PLAIN

10.创建消费者配置文件consumer.properties

security.protocol=SASL_PLAINTEXT
sasl.mechanism=PLAIN

11.控制台启动消费者,生产者测试

bin/kafka-console-producer.sh --topic aa --bootstrap-server localhost:9092 --producer.config config/kraft/producer.propertis
bin/kafka-console-consumer.sh --topic aa --from-beginning --bootstrap-server localhost:8082 --consumer.config config/kraft/consumer.properties

Springboot集成带SASL_PLAINTEXT认证的kafka

springboot集成kafka只需要修改配置文件即可,业务代码不需要修改

spring:
  kafka:
    bootstrap-servers: localhost:9092
    consumer:
      key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
      value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
      # 消费者主要添加如下四行,注意用户名密码与第一步中的kafka_server_jaas.conf相同
      properties:
        sasl.mechanism: PLAIN
        security.protocol: SASL_PLAINTEXT
        sasl.jaas.config: org.apache.kafka.common.security.plain.PlainLoginModule required username="consumer" password="cons-sec";
    producer:
    # 生产者主要添加如下四行,注意用户名密码与第一步中的kafka_server_jaas.conf相同
      properties:
        sasl.mechanism: PLAIN
        security.protocol: SASL_PLAINTEXT
        sasl.jaas.config: org.apache.kafka.common.security.plain.PlainLoginModule required username="producer" password="prod-sec";
      key-serializer: org.apache.kafka.common.serialization.StringSerializer
      value-serializer: org.apache.kafka.common.serialization.StringSerializer

Flink集成SASL_PLAINTEXT认证的kafka

flink集成带SASL_PLAINTEXT认证的kafka同样只需要下面三个配置,业务代码不需要修改。文章来源地址https://www.toymoban.com/news/detail-612618.html

/**
     * 构建kafka数据源,结果格式为ImageResult
     *
     * @param address 集群地址
     * @param topics  topic
     * @return 图片结果数据源
     */
    private static KafkaSource<ImageResult> getImageResultSource(String address, String... topics) {
        final Properties props = new Properties();
        props.setProperty("security.protocol", "SASL_PLAINTEXT");
        props.setProperty("sasl.mechanism", "PLAIN");
        props.setProperty("sasl.jaas.config", "org.apache.kafka.common.security.plain.PlainLoginModule required username=\"consumer\" password=\"cons-sec\";");

        return KafkaSource.<ImageResult>builder()
                .setBootstrapServers(address)
                .setTopics(topics)
                .setGroupId("results-group")
                .setProperties(props)
                .setStartingOffsets(OffsetsInitializer.latest())
                .setValueOnlyDeserializer(new SimpleImageResultSchema())
                .build();
    }

到了这里,关于[Kafka with kraft] SASL_PLAINTEXT认证的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Kafka动态认证SASL/SCRAM配置+整合springboot配置

    zookeeper启动命令: [root@master-yzjgxh2571705819-1651919082731-99-0727183 bin]# ./zkServer.sh start [root@master-yzjgxh2571705819-1651919082731-99-0727183 bin]# ./zkServer.sh stop kafka启动命令: /data/program/kafka2.12/bin/kafka-server-start.sh /data/program/kafka2.12/config/server.properties 1)创建broker建通信用户:admin(在使用sasl之

    2024年01月16日
    浏览(41)
  • CentOS7安装部署Kafka with KRaft

    Apache Kafka 是一个开源分布式事件流平台,已被数千家公司用于高性能数据管道、流分析、数据集成和关键任务应用程序。 KRaft(Kafka Raft)模式是从 Apache Kafka 2.8.0 版本开始引入,KRaft 旨在摒弃对 ZooKeeper 的依赖。在以前的版本中,Apache Kafka 依赖于 ZooKeeper 来管理集群元数据和

    2024年02月04日
    浏览(48)
  • kafka 安装 以及 Kraft 模式、安全认证配置

    常见安装:zookeeper + kafka zookeeper 单节点安装 : apach官网下载对应包:apache-zookeeper-3.7.1-bin.tar.gz 修改对应配置文件 /conf/zoo_sample.cfg ,配置端口以及数据目录 sh zkServer.sh start 启动 、 sh zkServer.sh stop 停止、 sh zkServer.sh status 状态 sh zkCli.sh -server 客户端 zookeeper 集群安装: 在每个

    2024年02月10日
    浏览(50)
  • 单机部署Kafka和开启SASL认证

    操作系统:linux apache-zookeeper-3.8.1-bin.tar.gz kafka_2.13-3.4.0.tgz 1.上传zookeeper 与kafka到 /opt 2、解压 tar -zxvf apache-zookeeper-3.8.1-bin.tar.gz tar -zxvf  kafka_2.13-3.4.0.tgz mv apache-zookeeper-3.8.1-bin zookeeper mv kafka_2.13-3.4.0 kafka 3、修改zookeeper配置文件并启动 修改zoo.cfg,增加以下命令 创建zk_server_j

    2024年01月22日
    浏览(42)
  • Apache zookeeper kafka 开启SASL安全认证_kafka开启认证(1)

    先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7 深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前! 因此收集整理了一份《2024年最新网络安全全套学习资料》

    2024年04月23日
    浏览(35)
  • kafka配置SASL/PLAIN 安全认证

    为zookeeper添加SASL支持,在配置文件zoo.cfg添加 新建zk_server_jaas.conf文件,为Zookeeper添加账号认证信息.这个文件你放在哪里随意,只要后面zkEnv配置正确的路径就好了。我是放在 /opt/zookeeper/conf/home 路径下。zk_server_jaas.conf文件的内容如下 Server { org.apache.kafka.common.security.plain.Plai

    2024年02月10日
    浏览(39)
  • kafka安全认证与授权(SASL/PLAIN)

    SASL 鉴权协议,主要用来保证客户端登录服务器的时候,传输的鉴权数据的安全性,SASL是对用户名和密码加解密用的 SSL 是一种间于传输层(比如TCP/IP)和应用层(比如HTTP)的协议。对传输内容进行加密,如HTTPS 如果使用了SASL但是没有使用SSL,那么服务端可以认证客户端的身

    2023年04月25日
    浏览(43)
  • Kafka SASL认证授权(六)全方位性能测试

    Kafka SASL认证授权(六)全方位性能测试。 官网地址:https://kafka.apache.org/ 一、场景 线上已经有kafka集群,服务运行稳定。但是因为产品升级,需要对kakfa做安全测试,也就是权限验证。 但是增加权限验证,会不会对性能有影响呢?影响大吗?不知道呀! 因此,本文就此来做

    2024年02月07日
    浏览(38)
  • Apache zookeeper kafka 开启SASL安全认证

    背景:我之前安装的kafka没有开启安全鉴权,在没有任何凭证的情况下都可以访问kafka。搜了一圈资料,发现有关于sasl、acl相关的,准备试试。 Kafka是一个高吞吐量、分布式的发布-订阅消息系统。Kafka核心模块使用Scala语言开发,支持多语言(如Java、Python、Go等)客户端,它可

    2024年03月14日
    浏览(45)
  • 【kafka-ui】支持kafka with kraft的可视化集群管理工具

    本文在kafka3.3.1版本基础上进行测试 在早期使用kafka的时候一般使用Kafka Tool或者kafka eagle,前者为桌面软件,后者为浏览器软件。总体来说体验一般,但是还比较够用。 但是从kafka3.3.1开始,已经正式抛弃zookeeper使用自己的仲裁器了,但是上述两种kafka可视化工具的更新好像并

    2024年02月02日
    浏览(94)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包