kafka server使用kerberos

本机为kafka server服务器java

 

在本地安装kerberos客户端服务器

 

建立本机princ: addprinc test/192.168.1.170@YLH.COMui

 

根据本机的ip生成keytab: xst -k ylh.keytab test/192.168.1.170.net

 

修改kafka/config/server.propertiesdebug

listeners=PLAINTEXT://192.168.1.170:9092, SASL_PLAINTEXT://192.168.1.170:9093日志

advertised.listeners=PLAINTEXT://192.168.1.170:9092, SASL_PLAINTEXT://192.168.1.170:9093server

authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer . //acl相关,配置后才能启用aclblog

security.inter.broker.protocol= SASL_PLAINTEXTip

sasl.mechanism.inter.broker.protocol=GSSAPIci

sasl.enabled.mechanisms=GSSAPI

sasl.kerberos.service.name=test //这里的service.name要跟上面创建的principal相对应,kafka/kafkahost3@EXAMPLE.COM的principal服务名就是kafka

super.users=User:test //这里的User要跟上面创建的principal相对应,acl相关,broker服务自己是采用kafka这个服务身份进行交互,只有配置成superuser才能获取集群内的metadata信息

 

 

创建kafka/config/kafka_server_jaas.conf文件, 如下三个是可选的

KafkaServer{

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

useKeyTab=true

storeKey=true

keyTab="/home/yao/ylh170.keytab"

principal="test/192.168.1.170@YLH.COM";

};

 

//为了bin目录下kafka-console-consumer.sh之类的的脚本使用的

KafkaClient{

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

useKeyTab=true

storeKey=true

keyTab="/home/yao/ylh170.keytab"

principal="test/192.168.1.170@YLH.COM";

};

 

//集群使用的zookeeper并无启用kerberos,因此没有client模块

Client {

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

useKeyTab=true

storeKey=true

keyTab="/home/yao/ylh170.keytab"

principal="test/192.168.1.170@YLH.COM";

};

 

 

修改kafka/bin/kafka-server-start.sh, 修改exec $base_dir/kafka-run-class.sh $EXTRA_ARGS 行,-Dsun.security.krb5.debug=true为可选,开启kerberos日志

exec $base_dir/kafka-run-class.sh $EXTRA_ARGS -Dsun.security.krb5.debug=true -Djava.security.krb5.conf=/etc/krb5.conf -Djava.security.auth.login.config=/home/yao/software/kafka_kerberos/config/kafka_server_jaas.conf kafka.Kafka "$@"

 

安装kerberos: https://my.oschina.net/u/185335/blog/2963061

kafka sever配置kerberos: https://my.oschina.net/u/185335/blog/2963062

kafka client使用kerberos: https://my.oschina.net/u/185335/blog/2963063

相关文章
相关标签/搜索