kafka java客户端加密_kafka消息加密(SASL/PLAIN)

kafka消息加密(SASL/PLAIN)

具体的配置方式官网已经说的很清楚了(尽量去官网看)

官网配置

分为以下几个步骤

1、 在conf文件目录下添加文件kafka_server_jaas.conf(文件目录 文件名随意)内容如下

KafkaServer {

org.apache.kafka.common.security.plain.PlainLoginModule required

username="admin"

password="admin-secret"

user_admin="admin-secret"

user_alice="alice-secret";

};

第一行 暂时不清楚干嘛

第二行 客户端连接的时候 可以使用这个用户名admin

最后两行的意思是 使用admin 密码得是 admin-secret 使用alice 密码得是alice-secret

至于如何扩展应该知道了

2、 修改配置文件

一般启动命令后面 会指定配置文件 一般是server.properties 也可以自定义 我们以它为例

添加如下配置

listeners=SASL_SSL(SASL_PLAINTEXT)://host.name:port

security.inter.broker.protocol=SASL_SSL(SASL_PLAINTEXT)

sasl.mechanism.inter.broker.protocol=PLAIN

sasl.enabled.mechanisms=PLAIN

这里要将原来的 listeners改为上面的样子同时协议要保持一致

3、 修改启动文件

win下和liunix会有些许不同 但是修改的文件的文件名都是一样的kafka-run-class

找到最下方(我的是win)

set COMMAND=%JAVA% %KAFKA_HEAP_OPTS% %KAFKA_JVM_PERFORMANCE_OPTS% %KAFKA_JMX_OPTS% %KAFKA_LOG4J_OPTS% -cp %CLASSPATH% %KAFKA_OPTS% %*

rem echo.

rem echo %COMMAND%

rem echo.

%COMMAND%

添加

set KAFKA_SASL_OPTS=-Djava.security.auth.login.config=D:/myprogram/kafka/config/kafka_server_jaas.conf

set后面的名字随便起

然后

set COMMAND=%JAVA% %KAFKA_HEAP_OPTS% %KAFKA_JVM_PERFORMANCE_OPTS% %KAFKA_JMX_OPTS% %KAFKA_LOG4J_OPTS% %KAFKA_SASL_OPTS% -cp %CLASSPATH% %KAFKA_OPTS% %*

在原来的COMMAND 里面把KAFKA_SASL_OPTS这个加进去 加到-cp的前面

上面的三步处理完 你的kafka服务就可以启动了

Java客户端配置

这边要做的就很少了 只要在配置文件里加上如下配置就可以了

spring:

kafka:

bootstrap-servers: 127.0.0.1:9092

consumer:

group-id: tst-1

auto-offset-reset: earliest

properties:

security.protocol: SASL_PLAINTEXT

sasl.mechanism: PLAIN

#sasl.jaas.config: org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="admin-secret";

sasl.jaas.config: org.apache.kafka.common.security.plain.PlainLoginModule required username="alice" password="alice-secret";

对上面的配置进行简单的说明

group-id 这个在启用机密后 就必须配置了 不然会报错

@KafkaListener annotation; a group.id is required when group management is used.

这个我觉得应该是服务器要识别这个消费者吧 用id标识

security.protocol: SASL_PLAINTEXT

sasl.mechanism: PLAIN

上面的这两个要和服务器端使用的保持一致

最后的这个配置 sasl.jaas.config 后面的值一定要用分号结尾 另外这个值也可以保存到文件中 kafka.client.conf

KafkaClient {

com.sun.security.auth.module.Krb5LoginModule required

useKeyTab=true

storeKey=true

keyTab="/etc/security/keytabs/kafka_client.keytab"

principal="kafka-client-1@EXAMPLE.COM";

};

然后在使用jvm参数

-Djava.security.auth.login.config=…/kafka.client.conf也是可以的

另外还有一条

同一个用户名和密码 可以在多个java客户端使用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/526991.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oracle查询本月第一天_oracle获取本月第一天和最后一天及Oracle trunc()函数的用法...

select to_char(trunc(add_months(last_day(sysdate), -1) 1), yyyy-mm-dd) "本月第一天", to_char(last_day(sysdate), yyyy-mm-dd) "本月最后一天" --Oracle trunc()函数的用法 /**************日期********************/ 1.select trunc(sysdate) …

20199计算机二级java答案_计算机二级Java练习题-2019.9

是不是急于做大量的计算机等级考试题库,却因测试结果不尽人意而心慌不安?不要急!考无忧小编为大家准备了一些二级Java练习题,希望能帮助大家高效复习,轻松通关!1.下列叙述中正确的是()。A.栈是“先进先出”…

java处理请求的流程_Java Spring mvc请求处理流程详解

Spring mvc请求处理流程详解前言spring mvc框架相信很多人都很熟悉了,关于这方面的资料也是一搜一大把。但是感觉讲的都不是很细致,让很多初学者都云里雾里的。本人也是这样,之前研究过,但是后面一段时间不用发现又忘记了。所以决…

php之二叉树,数据结构之二叉树——链式存储结构(php代码实现)

/*** ClearBiTree() 清空二叉树* CreateBiTree() 创建二叉树* BiTreeEmpty() 判断二叉树是否为空* BiTreeDepth() 返回二叉树的深度* root() 返回二叉树的根* Parent() 返回给定元素的双亲* LeftChild() 要返回左孩子的元素* RightChild() 要返回右孩子的元素* LeftSibling() 要…

php 面向对象 特性,PHP面向对象三大特点学习

PHP面向对象三大特点学习class B extends A{public function __construct(){//两种方法都行A::test();parent::test();}}$bnew B();5、如果一个子类(派生类)的方法与父类的方法完全一样时(public,protected),我们称为方法覆盖或方法重写(override)&#…

云虚机php.ini在,虚拟主机php.ini在哪

虚拟主机php.ini在哪?虚拟主机php.ini文件一般放置在文件管理器的“others”文件夹中。php.ini文件控制了PHP很多方面的性能和行为,且必须命名为“php.ini”。PHP.ini文件部分配置指令简短说明:short_open_tag boolean决定是否允许使用 PHP 代…

robust off matlab,matlab_robust LM test 求指点!(空间计量)

空间计量软件包中的示例命令:trtrace((WW)*W);[N junk]size(W);[nobs k]size(x);Tnobs/N;betaresults.beta;resresults.resid;sigeres*res/nobs;WXB20;EWE0;EWY0;xpxix*x\eye(k);WXBkron(speye(T),W)*x*beta;MWXB(speye(N*T)-x*xpxi*x)*WXB;WXB2WXB*MWXB;for t1:Tt1…

2019matlab中的floyd,基于matlab的floyd算法详解

function [d,path]floyd(a,sp,ep)% floyd - 最短路问题%% Syntax: [d,path]floyd(a,sp,ep)%% Inputs:% a - 距离矩阵是指i到j之间的距离,可以是有向的% sp - 起点的标号% ep - 终点的标号%% Outputs:% d - 最短路的距离% path - 最短路的…

.1 matlab,1 MATLAB集成环境

启动MATLAB后,将进入MATLAB集成环境。MATLAB集成环境包括MATLAB主窗口、命令窗口(Command Window)、工作空间窗口(Workspace)、命令历史窗口(Command History)、当前目录窗口(Current Directory)和启动平台窗口(Launch Pad)。一、命令窗口命令窗口是MATLAB的主要交互…

matlab 读取mov文件格式,VideoReader 支持的文件格式 - MATLAB VideoReader.getFileFormats - MathWorks 中国...

获取受支持的文件格式。formats VideoReader.getFileFormats()Video File Formats:.asf - ASF File.asx - ASX File.avi - AVI File.m4v - MPEG-4 Video.mj2 - Motion JPEG2000.mov - QuickTime movie.mp4 - MPEG-4.mpg - MPEG-1.wmv - Windows Media Video此输出适用于 Windo…

java parseint(12.0),如何实现一个parseInt

如何实现一个parseIntfunction(string, [radix]) {}如果string不为字符串类型, 则先将string转化为字符串类型string会忽略前后的空白依次解析字符, 如果字符不是指定基数中的字符( 例如:2进制中的3、 10进制中的f )则停止解析( 首字符为或-时除外 ), 返回已经解析好的整数如果…

matlab 类 继承,继承MATLAB中的密封类

在MATLAB中,一个类的attributes之一(在classdef之后定义)是Sealed,这意味着没有类可以将它用作超类(或者更确切地说,“表示这些类没有被设计为支持子类. “1).例如,如果我尝试实例化一个定义如下的类(考虑表是密封的)&#xff1a;classdef SomeLie < tableend我会得到’MATL…

smarty 引用php类,smarty 的PHP引用

摘要&#xff1a;<?phpsession_start ();//改时区date_default_timezone_set("PRC");//引入模板引擎require smarty.init.php;//对象class test{public $site"php中文网";public function welcome(){return &session_start();//改时区date_default…

平行志愿遵循分数优先php,2020平行志愿的录取规则是什么有哪些优势

摘要&#xff1a; 2020平行志愿的录取规则是什么有哪些优势为你介绍平行志愿的投档原则仍为“分数优先&#xff0c;遵循志愿”&#xff0c;而传统的顺序志愿则是根据“志愿优先&#xff0c;按分排序”。 2020平行志愿录取规则 平行志愿的投档原则仍为“分数优先&#xff0c;遵循…

qq收不到oracle邮件,腾讯企业邮箱发送邮件失败

一直使用的腾讯企业邮箱&#xff0c;但是最近发现发送邮件全是失败的&#xff0c;提示&#xff1a;javax.mail.MessagingException: Could not connect to SMTP host: smtp.exmail.qq.com, port: 25;nested exception is:java.net.ConnectException: 连接超时 (Connection time…

Oracle quartile函数,Oracle分析函数六——数据分布函数及报表函数

Oracle 分析函数——数据分布函数及报表 函数CUME_DIST功能描述&#xff1a;计算一行在组中的相对位置&#xff0c; CUME_DIST 总是返回大于 0 、小于或等于 1 的数&#xff0c;该数表示该行在 N 行中的位置。例如&#xff0c;在一个 3 行的组中&#xff0c;返回的累计分布值为…

oracle ora 03137,今天遇到奇怪的ORA-03137错误(包含trc文件)

今天下午同事突然反映&#xff0c;打开一个用户数据的时候报错&#xff1a;ora-03114:未连接数据库很奇怪的错误信息&#xff0c;查看alert log文件系统在报错&#xff1a;2010/6/24 13:46:46 Thu Jun 24 13:46:46 2010Errors in file /u01/oracle/diag/rdbms/orcl/orcl/t…

redhat配置oracle yum源,Redhat5和6 YUM源配置的区别

一、概述随着各个软件版本的不断升级&#xff0c;我们需要掌握的软件特性也越来越多&#xff0c;技术的不断更新也促进了我们脑细胞的循环。 今天在配置RedHat6.3的yum源时也出现了一个有趣的事情&#xff0c;下面请听俺道来。二、问题处理问题源于哥们处&#xff0c;自己就搭建…

脚本自启动oracle,自动启动和关闭Oracle 脚本

配置完ASM实例后&#xff0c;每次启动oracle数据库服务器的时候要先启动ASM实例&#xff0c;然后启动数据库实例&#xff1b;关闭的时候&#xff0c;需要先关闭oracle数据库实例&#xff0c;然后关闭ASM实例&#xff1b;敲起命来来麻烦的很&#xff0c;因而改进了原来的shell脚…

php中fread()函数,php fread()函数

定义fread()函数用于读取文件。语法PHP fread()函数具有以下语法。fread(file,length)参数参数是否必须描述file需要。要读取的打开文件length需要。要读取的最大字节数返回值此函数返回读取的字符串&#xff0c;或失败时为FALSE。实例1/*http://www.manongjc.com/article/1800…