连接ssl加密的kafka集群

1 kafka传输层(TLS)加密

传输层加密用于保护在Kafka集群内以及Kafka客户端与服务器之间传输的数据。Kafka通过SSL/TLS(安全套接层/传输层安全)协议来实现传输层加密。

2 获取client证书

这里我们的kafka集群已经加密,所以我们直接获取用于加密的cert证书,k8s中证书一般都是存放在secret里,

kubectl get secret kafka-tls-secret -o=jsonpath='{.data.certificate\.crt}' -n kafka | base64 --decode > client.crt

3 连接集群

3.1 使用PEM格式证书

有了证书,我们就可以开始连接kafka集群了,配置ssl-config.properties如下,

$ cat ssl-config.properties
security.protocol=SSLssl.truststore.location=/kafka/client.crtssl.truststore.type=PEM

其中,ssl.truststore.location替换成对应证书的路径。

连接kafka集群时,指定使用该配置文件,

$ kafka-topics --bootstrap-server kafka-bootstrap:9093 --command-config ssl-config.properties --list
__consumer_offsets
...

使用PEM格式证书有个问题,证书是明文的,没有加密,如果要加密证书可以使用JKS格式或者PKCS12格式。

3.2 使用JKS格式证书

我们需要使用keytool工具将cet证书转成JKS证书,

keytool -keystore truststore.jks -storepass keystore_password -noprompt -import -file client.crt -trustcacerts -storetype JKS

其中,
keystore,指定jks证书名字
storepass,指定加密证书的密码
file,指定导入的crt证书名字
storetype,指定最终生成证书格式

导入后可以查看确认下信息,

$ keytool -list -keystore truststore.jks -storepass keystore_password
Keystore type: JKS
Keystore provider: SUNYour keystore contains 1 entrymykey, Jun 5, 2024, trustedCertEntry,
Certificate fingerprint (SHA-256): AE:C3...

连接kafka集群时,ssl-config.properties设置如下,需要添加密码设置,ssl.truststore.password

$ cat ssl-config.properties
security.protocol=SSLssl.truststore.location=/kafka/truststore.jksssl.truststore.password=keystore_passwordssl.truststore.type=JKS

3.3 使用PKCS12格式证书

storetype设置为PKCS12即可,

keytool -keystore truststore.p12 -storepass keystore_password -noprompt -import -file client.crt -storetype PKCS12

同样ssl-config.properties里的格式也需要修改

$ cat ssl-config
security.protocol=SSLssl.truststore.location=/kafka/truststore.p12ssl.truststore.password=keystore_passwordssl.truststore.type=PKCS12

参考文档:

  1. https://strimzi.io/docs/0.14.0/full#configuring-internal-clients-to-trust-cluster-ca-str

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

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

相关文章

51建模网3D编辑器:一键为3D模型设置特殊材质

3D设计师要对3D模型设置玻璃或者钻石材质时,操作比较复杂,但是利用51建模网的3D编辑器,不用下载安装软件,在线通过浏览器即可编辑,具有一键设置特殊材质的功能。目前,它支持钻石材质、玻璃材质和水波纹材质…

Java——基础快速过

1.注释,标识符,关键字 1.1注释 单行注释:// 注释内容(用的最多) 多行注释:/* 注释内容*/(不推荐) 文档注释: /** 文档注释 */(常见于方法和类之上描述方法和…

Linux操作系统:在虚拟环境下zookeeper的安装与部署

将 Zookeeper 安装到指定目录 // 将zookeeper解压到安装目录 $ tar –zxvf zookeeper-3.4.10.tar.gz –C /usr/local $ mv /usr/local/zookeeper-3.4.10.tar.gz /usr/local/zookeeper 设置 zookeeper 配置文件 // 创建 data 数据目录 $ mkdir /usr/local/zookeeper/data // …

分布式任务队列系统 celery 进阶

通过前面的入门,我们大概了解了celery的工作原理及简单的入门代码示例(传送门),下面进行一些稍微复杂的任务调度学习 多目录结构异步执行 在实际项目中,使用Celery进行异步任务处理时,经常需要将代码组织…

【面试题】创建两个线程交替打印100以内数字(一个打印偶数一个打印奇数)

阅读导航 一、问题概述二、解决思路三、代码实现四、代码优化 一、问题概述 面试官:C多线程了解吗?你给我写一下,起两个线程交替打印0~100的奇偶数。就是有两个线程,一个线程打印奇数另一个打印偶数,它们交替输出&…

Aws EC2,kubeadm方式安装kubernetes(k8s)

版本 docker版本:20.10.25 k8s版本(kubeadm,kubelet和kubectl):1.20.10-0 初始化 # 禁用 SELinux sudo setenforce 0 sudo sed -i s/^SELINUXenforcing$/SELINUXpermissive/ /etc/selinux/config# 关闭防火墙 sudo …

根据word模板生成word内容(JAVA)

主要是借助 poi-tl 来实现业务需求 当时第一次尝试的是Apache poi不是很好用,不推荐 第二次是xml,找的眼睛都花了,不推荐 要求:jdk1.8,Apache POI5.2.2 我这里使用的是5.2.3版本 文档:Poi-tl Documentati…

「随笔」如何评价GPT-4o

关于GPT-4o的评价 方向一:对比分析 GPT(Generative Pre-trained Transformer)是一系列由OpenAI开发的预训练语言模型。从GPT-1到GPT-4,每一个版本都在模型规模、训练数据量和能力上有所提升。GPT-1是最初的版本,它引入…

Java 基础 - idea汉字输出乱码

在使用 IntelliJ IDEA 时,如果在控制台输出汉字出现乱码,通常是因为控制台的字符编码设置不正确。以下是解决这个问题的步骤: 1、设置 IDEA 控制台编码 1.1、修改 IDE 设置 打开 IntelliJ IDEA,点击 File 菜单,然后…

Next React

最新版的next在安装的时候&#xff0c;已经集成了React,不需要在单文件头部单独引入React,可以直接使用React语法。 一&#xff1a;路由跳转 import Link from next/link<Link href"/pathA">测试</Link> 最新版本的next中的Link 不需要在Link下一级使…

MySQL的联合索引及案例分析

1. 联合索引 关于联合索引的详解参考博客【Mysql-----联合索引和最左匹配】&#xff0c;包含讲解 最左匹配 联合索引失效的情况 不遵循最左匹配原则范围查询右边失效原理like索引失效原理 比较关注的点在于&#xff1a; 对A、B、C三个字段创建一个联合索引&#xff08;A, …

在线建站流程分析

建站流程是指通过互联网创建一个个人或企业网站的过程。随着互联网的发展&#xff0c;越来越多的人和机构开始意识到网络的重要性&#xff0c;建站成为一种常见的行为。在线建站的流程一般包括以下几个步骤。 首先&#xff0c;选择一个合适的建站平台。目前&#xff0c;有很多在…

前端逆向之查看接口调用栈

一、来源 再分析前端请求接口数据的时候&#xff0c;其中有一个sid不知道是前端如何获取的&#xff0c;一般情况下只需要全局搜搜sid这个字符串或者请求接口的名称就可以了&#xff0c;基本都能找到sid的来源&#xff0c;但是今天这个不一样&#xff0c;搜什么都搜不到 接口地…

面试题------>MySQL!!!

一、连接查询 ①&#xff1a;左连接left join &#xff08;小表在左&#xff0c;大表在右&#xff09; ②&#xff1a;右连接right join&#xff08;小表在右&#xff0c;大表在左&#xff09; 二、聚合函数 SQL 中提供的聚合函数可以用来统计、求和、求最值等等 COUNT&…

Python连接数据库进行数据查询

Python连接数据库进行数据查询 mysql数据库&#xff08;mariadb&#xff09;连接数据库创建Cursor对象模块安装代码 Oracle数据库连接数据库模块安装代码 SQL server数据库连接数据库模块安装代码 mysql数据库&#xff08;mariadb&#xff09; 连接数据库 首先&#xff0c;你…

AI论文工具推荐

AI 在学术界的使用情况也比较疯狂&#xff0c;特别是一些美国大学&#xff0c;用 AI 来辅助阅读文献以及辅助写论文的越来越多&#xff0c;毕竟确实可以提高写作效率&#xff0c;特别是在文献综述和初稿生成方面。 但在科研界其实&#xff0c;发现看论文的速度已经赶不上发论文…

发现 Laravel 中的 api 响应时间明显过长

背景 近期在排查网站后台页面功能时 发现&#xff0c;部分查询页面&#xff0c;明显响应时间过长&#xff08;12秒&#xff09;&#xff0c;不合理 优先排查 接口运行时长 经过打印&#xff0c;发现代码是正常的&#xff0c;且时间仅需不到一秒 进一步怀疑是 VUE框架的渲染加载…

“粘土风格”轻松拿捏,基于函数计算部署 ComfyUI实现AI生图

阿里云函数计算 FC 一键部署火爆全球工作流 AI 生图平台—— ComfyUI &#xff0c;实现更高质量的图像生成&#xff0c;三步轻松完成“黏土”创意AI画作&#xff0c;晒图赢眼部按摩器等好礼&#xff01; 活动地址&#xff1a; https://developer.aliyun.com/topic/june/fcspma…

编写备份MySQL 脚本

目录 环境准备 增量备份 增量备份和差异备份 完整代码如下 测试脚本是否正常 星期天运行脚本&#xff08;完全备份&#xff09; 星期一运备份脚本&#xff08;增量备份&#xff09; 星期二备份数据&#xff08;其他天--增量备份&#xff09; 星期三备份数据&#xff08;差异备…

最大连续1 的个数Ⅲ(滑动窗口)

题目&#xff1a; 给定一个二进制数组 nums 和一个整数 k&#xff0c;如果可以翻转最多 k 个 0 &#xff0c;则返回 数组中连续 1 的最大个数 。 首先&#xff0c;我们需要了解题干的意思&#xff1a;我们需要将给定的一个只有 0 和 1 的数组&#xff0c;最多将其中 k 个0改变…