Kafka配置6--Windows下设置和增加SASL用户或用户权限

6 篇文章 0 订阅
4 篇文章 0 订阅

Kafka配置1--Windows环境安装和配置Kafka

Kafka配置2--Windows下配置Kafka的SASL-PLAIN身份验证

Kafka配置3--Windows下配置Kafka集群

Kafka配置4--Windows下配置Kafka的SSL证书

Kafka配置5--Windows下配置Kafka的集群+SASL+SSL

Kafka配置6--Windows下设置和增加SASL用户或用户权限

 

        在前面的文章中,我们给Zookeeper和Kafka设置了登录验证账户,分别在zk_server_jaas.conf和kafka_server_jaas.conf文件中设置了相应的账户,如下所示。

        单纯的只是在这2个文件中设置是不起作用的,客户端在使用的时候是没有任何权限的,所以接下来我们还需要通过Kafka的命令设置每个账户的主题、读和写等权限,这样在客户端(如C#)使用某账户时才有相应的操作权限。

Server {
	org.apache.kafka.common.security.plain.PlainLoginModule required
	username="admin"
	password="admin123456"
	user_quber="quber123456"
	user_quber1="quber123456"
	user_quber2="quber123456"
	user_scyjTestUser1="quber123456"
	user_scyjTestUser2="quber123456"
	user_scyjTestUser3="quber123456";
};
KafkaServer {
	org.apache.kafka.common.security.plain.PlainLoginModule required
	username="admin"
	password="admin123456"
	user_admin="admin123456"
	user_quber="quber123456"
	user_quber1="quber123456"
	user_quber2="quber123456"
	user_scyjTestUser1="quber123456"
	user_scyjTestUser2="quber123456"
	user_scyjTestUser3="quber123456";
};

 

注意:

        以下所有命令执行,都是在CMD窗口中执行的,不管Kafka是配置的单机模式还是集群模式,只需要将CMD窗口随便定位到其中一个Kafka的安装目录即可。

 

1、查询主题和用户权限
    1.1、查询主题
        查询192.168.2.200:2181,192.168.2.200:2182,192.168.2.200:2183这3个集群的主题

.\bin\windows\kafka-topics.bat --zookeeper 192.168.2.200:2181,192.168.2.200:2182,192.168.2.200:2183 --list


    1.2、查询权限
        查询192.168.2.200:2181,192.168.2.200:2182,192.168.2.200:2183这3个集群的用户权限,一下命令为查询在主题TestTopic1下有哪些用户权限

.\bin\windows\kafka-acls.bat --authorizer kafka.security.auth.SimpleAclAuthorizer --authorizer-properties zookeeper.connect=192.168.2.200:2181,192.168.2.200:2182,192.168.2.200:2183 --list --topic TestTopic1


2、全新配置
    我们在前面的文章中提到了D:\Net_Program\Net_KafkaConfig目录下有zk_server_jaas.conf和kafka_server_jaas.conf文件,这2个文件就是存储用户和密码的,如果是新配置或者中途新增加用户,都需要在这2个文件中先配置增加好
    
    2.1、创建主题
        创建一个集群主题,名称为TestTopic1

.\bin\windows\kafka-topics.bat --create --zookeeper 192.168.2.200:2181,192.168.2.200:2182,192.168.2.200:2183 --replication-factor 1 --partitions 1 --topic TestTopic1

        
    2.1、设置用户quber的读和写权限
        设置quber的主题权限为TestTopic1,读取的分组权限为TestGroup1

.\bin\windows\kafka-acls.bat --authorizer kafka.security.auth.SimpleAclAuthorizer --authorizer-properties zookeeper.connect=192.168.2.200:2181,192.168.2.200:2182,192.168.2.200:2183 --add --allow-principal User:quber --operation Read --operation Write --topic TestTopic1
.\bin\windows\kafka-acls.bat --authorizer kafka.security.auth.SimpleAclAuthorizer --authorizer-properties zookeeper.connect=192.168.2.200:2181,192.168.2.200:2182,192.168.2.200:2183 --add --allow-principal User:quber --operation Read --group TestGroup1

        
    2.2、设置quber1的读权限
        设置quber1的主题权限为TestTopic1,读取的分组权限为TestGroup2

.\bin\windows\kafka-acls.bat --authorizer kafka.security.auth.SimpleAclAuthorizer --authorizer-properties zookeeper.connect=192.168.2.200:2181,192.168.2.200:2182,192.168.2.200:2183 --add --allow-principal User:quber1 --operation Read --topic TestTopic1
.\bin\windows\kafka-acls.bat --authorizer kafka.security.auth.SimpleAclAuthorizer --authorizer-properties zookeeper.connect=192.168.2.200:2181,192.168.2.200:2182,192.168.2.200:2183 --add --allow-principal User:quber1 --operation Read --group TestGroup2

        
    2.3、设置quber2的写权限
        设置quber2的主题权限为TestTopic1

.\bin\windows\kafka-acls.bat --authorizer kafka.security.auth.SimpleAclAuthorizer --authorizer-properties zookeeper.connect=192.168.2.200:2181,192.168.2.200:2182,192.168.2.200:2183 --add --allow-principal User:quber2 --operation Write --topic TestTopic1

    2.4、重启Kafka服务
        在设置完毕后需要重启Kafka服务才生效


3、中途新增加用户
    首先需要我们在D:\Net_Program\Net_KafkaConfig目录中的zk_server_jaas.conf和kafka_server_jaas.conf文件中增加需要增加的用户和密码,然后才使用下列命令设置增加用户的权限

    scyjTestUser1:读和写,主题:SCYJ-TEST-TOPIC1,读的分组:SCYJ-TEST-GROUP1
    scyjTestUser2:读,主题:SCYJ-TEST-TOPIC1,读的分组:SCYJ-TEST-GROUP2
    scyjTestUser3:写,主题:SCYJ-TEST-TOPIC1
    
    3.1、创建主题

.\bin\windows\kafka-topics.bat --create --zookeeper 192.168.2.200:2181,192.168.2.200:2182,192.168.2.200:2183 --replication-factor 1 --partitions 1 --topic SCYJ-TEST-TOPIC1

        
    3.2、设置用户scyjTestUser1的读和写权限
        设置scyjTestUser1的主题权限为SCYJ-TEST-TOPIC1,读取的分组权限为SCYJ-TEST-GROUP1

.\bin\windows\kafka-acls.bat --authorizer kafka.security.auth.SimpleAclAuthorizer --authorizer-properties zookeeper.connect=192.168.2.200:2181,192.168.2.200:2182,192.168.2.200:2183 --add --allow-principal User:scyjTestUser1 --operation Read --operation Write --topic SCYJ-TEST-TOPIC1
.\bin\windows\kafka-acls.bat --authorizer kafka.security.auth.SimpleAclAuthorizer --authorizer-properties zookeeper.connect=192.168.2.200:2181,192.168.2.200:2182,192.168.2.200:2183 --add --allow-principal User:scyjTestUser1 --operation Read --group SCYJ-TEST-GROUP1

    
    3.3、设置scyjTestUser2的读权限
        设置scyjTestUser2的主题权限为SCYJ-TEST-TOPIC1,读取的分组权限为SCYJ-TEST-GROUP2

.\bin\windows\kafka-acls.bat --authorizer kafka.security.auth.SimpleAclAuthorizer --authorizer-properties zookeeper.connect=192.168.2.200:2181,192.168.2.200:2182,192.168.2.200:2183 --add --allow-principal User:scyjTestUser2 --operation Read --topic SCYJ-TEST-TOPIC1
.\bin\windows\kafka-acls.bat --authorizer kafka.security.auth.SimpleAclAuthorizer --authorizer-properties zookeeper.connect=192.168.2.200:2181,192.168.2.200:2182,192.168.2.200:2183 --add --allow-principal User:scyjTestUser2 --operation Read --group SCYJ-TEST-GROUP2

    
    3.4、设置scyjTestUser3的写权限
        设置scyjTestUser3的主题权限为SCYJ-TEST-TOPIC1

.\bin\windows\kafka-acls.bat --authorizer kafka.security.auth.SimpleAclAuthorizer --authorizer-properties zookeeper.connect=192.168.2.200:2181,192.168.2.200:2182,192.168.2.200:2183 --add --allow-principal User:scyjTestUser3 --operation Write --topic SCYJ-TEST-TOPIC1

    3.5、重启Kafka服务
        在设置完毕后需要重启Kafka服务才生效

 

到此,整个Kafka的用户权限就设置完毕了
    
        
        
        
        
        
        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值