我的编程空间,编程开发者的网络收藏夹
学习永远不晚

kafka添加安全验证配置方式

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

kafka添加安全验证配置方式

  • 综合考虑性能影响、管理成本、安全等级要求,接入便利程度。 
  • 鉴权采用SASL+PLAINTEXT 方式。
  • 每个集群会分配统一的访问账号及密码用于客户端访问。 

服务端配置 

1. config 目录添加kafka_server_jaas.conf 配置文件

内容:

KafkaServer {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="admin"
password="7f8d9dsf789ds7ffsdfdsfu9"
user_admin="7f8d9dsf789ds7ffsdfdsfu9"
user_alice="xjfkddjfdssifds";
};

2. kafka-run-class.sh 添加

KAFKA_OPTS="$KAFKA_OPTS -Djava.security.auth.login.config=/home/finance/App/kafka_2.12-2.5.1/config/kafka_server_jaas.conf"

3. config/server.properties

添加

security.inter.broker.protocol=SASL_PLAINTEXT

sasl.mechanism.inter.broker.protocol=PLAIN

sasl.enabled.mechanisms=PLAIN

listener, advertised.listeners 添加对应SASL_PLAINTEXT 监听器

listeners=SASL_PLAINTEXT://10.193.196.112:9092

advertised.listeners=SASL_PLAINTEXT://10.193.196.112:9092

客户端接入改造

就是在java程序中将安全参数配置进来

生产者、消费者属性配置加入一下配置

props.put("sasl.jaas.config", "org.apache.kafka.common.security.plain.PlainLoginModule required username=alice password=alice;");
props.put("security.protocol", "SASL_PLAINTEXT");
props.put("sasl.mechanism", "PLAIN");

springboot 高版本估计有支持在properties文件中直接配置,此处没有验证。

完整配置示例

此方法,可以用KafkaProperties 获取properties配置文件中的参数后,再往里面添加新的参数

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.kafka.KafkaProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.kafka.annotation.EnableKafka;
import org.springframework.kafka.config.ConcurrentKafkaListenerContainerFactory;
import org.springframework.kafka.config.KafkaListenerContainerFactory;
import org.springframework.kafka.core.DefaultKafkaConsumerFactory;
import org.springframework.kafka.core.DefaultKafkaProducerFactory;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.kafka.listener.ConcurrentMessageListenerContainer;

import java.util.Map;


@Configuration
@EnableKafka
public class KafkaProducerConfig {
	@Autowired
	private KafkaProperties kafkaProperties;
	
	
	@Bean
	public KafkaListenerContainerFactory<ConcurrentMessageListenerContainer<String, String>> kafkaListenerContainerFactory() {
		ConcurrentKafkaListenerContainerFactory<String, String> factory = new ConcurrentKafkaListenerContainerFactory<>();
		Map<String, Object> props = kafkaProperties.buildConsumerProperties();
		props.put("sasl.jaas.config", "org.apache.kafka.common.security.plain.PlainLoginModule required username=user1 password=pass1;");
		props.put("security.protocol", "SASL_PLAINTEXT");
		props.put("sasl.mechanism", "PLAIN");
		factory.setConsumerFactory(new DefaultKafkaConsumerFactory<>(props));
		factory.setConcurrency(2);
		factory.getContainerProperties().setPollTimeout(1500);
		return factory;
	}


	
	@Bean
	public KafkaTemplate<String, String> kafkaTemplate() {
		Map<String, Object> props = kafkaProperties.buildProducerProperties();
		props.put("sasl.jaas.config", "org.apache.kafka.common.security.plain.PlainLoginModule required username=user1 password=pass1;");
		props.put("security.protocol", "SASL_PLAINTEXT");
		props.put("sasl.mechanism", "PLAIN");
		return new KafkaTemplate<>(new DefaultKafkaProducerFactory<>(props));
	}
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

kafka添加安全验证配置方式

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

kafka添加安全验证配置方式

这篇文章主要介绍了kafka添加安全验证配置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2022-11-13

安全模式下配置Hadoop身份验证

在安全模式下配置Hadoop身份验证需要完成以下步骤:1. 生成Kerberos认证相关的密钥和凭据:```kdb5_util create -sktadd -k /etc/security/keytabs/nn.service.keyta
2023-10-11

加强您的Linux服务器安全性:配置和管理身份验证

加强Linux服务器安全性:身份验证配置与管理身份验证是Linux服务器安全性的基石,通过实施强密码、启用多因素身份验证和限制登录尝试等措施,可以防止未授权访问和恶意活动。管理身份验证涉及帐户锁定、定期审查和启用日志记录。其他考虑因素包括使用身份验证服务器、实施单点登录和部署入侵检测系统。定期评估和渗透测试有助于识别和修复安全漏洞。强大的身份验证措施可显著增强服务器安全性,保护敏感数据并维护系统完整性。
加强您的Linux服务器安全性:配置和管理身份验证
2024-04-09

加强您的Linux服务器安全性:配置和管理身份验证

1. 使用强密码:确保所有用户使用强密码,包括至少8个字符,包含大写字母、小写字母、数字和特殊字符。2. 禁止root登录:禁用root用户的直接登录,只允许使用普通用户登录,然后切换到root用户进行管理操作。3. 使用SSH密钥身份验证
2023-10-09

node.js配置Token验证的2种方式总结

token验证,在设计登录注册和一些权限接口时发挥作用,下面这篇文章主要给大家介绍了关于node.js配置Token验证的2种方式,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
2023-02-03

Django日志logging的配置和自定义添加方式

目录一、日志的概念二、Django日志1.logging模块默认定义了以下几个日志等级2. logging模块的使用方式介绍三、Logging提供的模块级别的函数四、Logging日志模块四大组件1.Logger日志记录器2.logging
2023-05-12

Spring Security配置多个数据源并添加登录验证码的实例代码

这篇文章主要介绍了Spring Security配置多个数据源并添加登录验证码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2022-11-13

IIS+PHP添加对webp格式图像的支持配置方法

这篇文章主要介绍了IIS+PHP添加对webp格式图像的支持,需要的朋友可以参考下
2023-05-16

vue如何动态添加store、路由和国际化配置方式

这篇文章主要为大家展示了“vue如何动态添加store、路由和国际化配置方式”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue如何动态添加store、路由和国际化配置方式”这篇文章吧。vue动
2023-06-29

Linux中FTP服务器搭建与安全配置方式

本文详细介绍了在Linux中搭建和安全配置FTP服务器的方法。首先,搭建FTP服务器需要安装FTP服务软件,配置监听端口和根目录等设置,然后启动服务。安全配置包括禁用匿名访问、使用PAM认证、强制密码复杂性、启用TLS/SSL连接、设置防火墙规则以及限制可上传的文件类型。此外,定期检查FTP配置、监控连接和进行安全评估也很重要。最佳实践包括遵循最小权限原则、备份数据、保持软件最新以及监控可疑活动。
Linux中FTP服务器搭建与安全配置方式
2024-04-02

springboot配置开发和测试环境并添加启动路径方式方法是什么

本篇内容主要讲解“springboot配置开发和测试环境并添加启动路径方式方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“springboot配置开发和测试环境并添加启动路径方式方法是什
2023-06-25

Linux下PHP网站服务器安全配置加固防护方法【推荐】

php被广泛用于各种Web开发。而当服务器端脚本配置错误时会出现各种问题。现今,大部分Web服务器是基于linux环境下运行(比如:Ubuntu,Debian等)。 本文详细总结了PHP网站在Linux服务器上面的安全配置,包含PHP安全、
2022-06-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录