KAFKA SASL配置 记录

kafka配置SASL

第1步

将kafka_client_jaas.conf/kafka_server_jaas.conf/kafka_zoo_jaas.conf三个文件放入kafka的config文件夹中,文件中配置用户,superadmin用户必须配置。

kafka_client_jaas.conf内容如下
        KafkaClient {  
                org.apache.kafka.common.security.plain.PlainLoginModule required  
                username="superadmin"  
                password="密码";  

        };

kafka_server_jaas.conf内容如下
        KafkaServer {
                org.apache.kafka.common.security.plain.PlainLoginModule required
                username="superadmin"
                password="密码"
                user_superadmin="密码"
                user_test="123456"
                user_自己的账号="密码"
};

KafkaClient {
                org.apache.kafka.common.security.plain.PlainLoginModule required
                username="superadmin"  
                password="密码";  
};

client {
                org.apache.kafka.common.security.plain.PlainLoginModule required
                username="superadmin"  
                password="密码";  
};

kafka_zoo_jaas.conf内容如下
        ZKServer{
                org.apache.kafka.common.security.plain.PlainLoginModule required
                username="superadmin"
                password="密码"
                user_superadmin="密码"
};

第2步 、修改kafka的bin文件夹中的zookeeper-server-start.sh,添加:

        export KAFKA_OPTS=" -Djava.security.auth.login.config=/data/application/kafka_2.11-1.1.1/config/kafka_zoo_jaas.conf -Dzookeeper.sasl.serverconfig=ZKServer"

第3步、修改kafka的bin文件夹中的kafka-server-start.sh,添加:

        export KAFKA_OPTS=" -Djava.security.auth.login.config=/data/application/kafka_2.11-1.1.1/config/kafka_server_jaas.conf"

第4步、修改kafka的bin文件夹中的kafka-console-producer.sh、添加:

        export KAFKA_OPTS=" -Djava.security.auth.login.config=/data/application/kafka_2.11-1.1.1/config/kafka_client_jaas.conf"

第5步、修改kafka的bin文件夹中的kafka-console-consumer.sh,添加:

        export KAFKA_OPTS=" -Djava.security.auth.login.config=/data/application/kafka_2.11-1.1.1/config/kafka_client_jaas.conf"

第6步、修改kafka的config文件夹中的consumer.properties,添加:

                security.protocol=SASL_PLAINTEXT

                sasl.mechanism=PLAIN

第7步、修改kafka的config文件夹中的producer.properties,添加:

                security.protocol=SASL_PLAINTEXT

                sasl.mechanism=PLAIN

第8步、修改kafka的config文件夹中的zookeeper.properties,添加:

                authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider

                requireClientAuthScheme=sasl

                jaasLoginRenew=3600000

第9步,修改kafka的config文件夹中的server.properties,修改:

               listeners=SASL_PLAINTEXT://192.168.20.83:9092

             添加:

             #使用的认证协议

            security.inter.broker.protocol=SASL_PLAINTEXT

            #SASL机制

            sasl.enabled.mechanisms=PLAIN

            sasl.mechanism.inter.broker.protocol=PLAIN

            #完成身份验证的类

            authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer

            #如果没有找到ACL(访问控制列表)配置,则允许任何操作。

            #allow.everyone.if.no.acl.found=true

            super.users=User:superadmin

            delete.topic.enable=true

            auto.create.topics.enable=false

第10步、启动zookeeper服务,执行:

            sh bin/zookeeper-server-start.sh config/zookeeper.properties

第11步、启动kafka服务,执行:

            sh bin/kafka-server-start.sh config/server.properties

第12步、查看topic列表,执行:

            sh bin/kafka-topics.sh --list --zookeeper localhost:2181

第13步、创建新的topic、执行:

        sh bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 16 --topic test

第14步、给admin用户授权,执行:

        sh bin/kafka-acls.sh --authorizer-properties zookeeper.connect=localhost:2181 --add --allow-principal User:superadmin --group=* --topic=*

第15步、给用户test授予某个topic的读写的权限,执行:

        sh bin/kafka-acls.sh --authorizer-properties zookeeper.connect=localhost:2181 --add --allow-principal User:test--operation Read --operation Write --topic test --group=*

        说明:

                控制读写:–operation read–operation write

                控制消费组:不控制组 --group=*,指定消费组 --grouptest-comsumer-group

第16步、移除权限,执行:

        sh bin/kafka-acls.sh --authorizer-properties zookeeper.connect=localhost:2181 --remove --allow-principal User:test --allow-host 192.168.1.101 --operation Read --operation Write --topic test

第17步、列出topic为test的所有权限账户,执行

        sh bin/kafka-acls.sh --authorizer-properties zookeeper.connect=localhost:2181 --list --topic test

第18步、测试启动消费者,执行

        sh bin/kafka-console-consumer.sh --bootstrap-server 192.168.20.83:9092 --topic test --from-beginning --consumer.config config/consumer.properties

第19步,测试启动生产者,执行

        sh bin/kafka-console-producer.sh --broker-list 192.168.20.83:9092 --topic test --producer.config config/producer.properties

第20步、Kafka tool 核心配置:

第21步、SDC kafka consumer配置(没有使用Streamsets data collector可以忽略) 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部