当前使用的kafka-0.8.2.2 没有安全管理模块
kafka-manager没有安全管理模块,通过nginx反向代理、用户认证来实现安全管理
做相应的网络安全限制,对外桌面服务可以直接访问nginx服务器,而无法访问部署kafka-mannager的主机(限制端口)
方式1:基于kafka-0.8.2.2 开发管理模块
对SSL,kerberos,zookeeper分布式鉴权方方式做了些了解,发现要想实现kafka-0.8.2.2数据安全管理,都需要修改其核心代码,风险和工作量都太大。
方式2:kafka升级
由于之前的应用开发都是基于kafka-0.8.2.2的,kafka升级,之前的应用开发代码都要调整,工作量也不小
方式3:基于网络端口的弱权限管理
通过网络、端口权限管理,指定的服务器才可以访问操作kafka
对kafka服务器本身,做服务器账户权限管理,指定特定人员统一运维kafka服务
对kafka/bin目录做权限管理(可以的话,进入目录要输入账户密码)
总结:
方式1:风险和工作量都太大,不适用
方式2:kafak升级,应用代码都要调整,测试,工作量大,应用已经上线,影响生产环境
方式3:弱权限处理,对生产环境影响小,通过kafka-manager来操作(基于nginx的安全管理)
基于如上分析:建议采用方式3,做kafka安全管理