如何使用sasl\u ssl和gssapi协议配置kafka服务器

jvidinwx  于 2021-06-04  发布在  Kafka
关注(0)|答案(2)|浏览(875)

我是Apache·Kafka的新手,以下是我迄今为止所做的,
下载Kafka2.12-2.1.0
为zookeeper创建批处理文件以运行zookeeper服务器: start kafka_2.12-2.1.0.\bin\windows\zookeeper-server-start.bat kafka_2.12-2.1.0.\config\zookeeper.properties 为apache kafka服务器生成批处理文件 start kafka_2.12-2.1.0\bin\windows\kafka-server-start.bat kafka_2.12-2.1.0\config\server.properties 使用批处理文件启动生产者。 start kafka_2.12-2.1.0.\bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic 3drocket-player 它运行良好,但现在我正在寻找身份验证。因为我必须实现一个具有特定身份验证设置的使用者(客户机的要求)。类似的安全协议是sasl\u ssl,ssl机制是gssapi。出于这个原因,我试图搜索和查找confluet文档,但问题是如何采取每一步都太抽象了。
我正在寻找详细的配置步骤,根据我的设置。如何使用sasl ssl和gssapi协议配置我的kafka服务器。最初我发现gssapi/keberos有一个单独的服务器,那么我需要安装更多的服务器吗?在合流的Kafka内部有任何内在的解决方案。

ncgqoxb0

ncgqoxb01#

在server.properties中配置sasl端口
e、 (克)

listeners=SASL_SSL://host.name:port
security.inter.broker.protocol=SASL_SSL
sasl.mechanism.inter.broker.protocol=GSSAPI
sasl.enabled.mechanisms=GSSAPI
sasl.kerberos.service.name=kafka
ssl.keystore.location=/path/to/keystore.jks
ssl.keystore.password=keystore_password
ssl.truststore.location=/path/to/truststore.jks
ssl.truststore.password=truststore_password
ssl.enabled.protocols=TLSv1.2,TLSv1.1,TLSv1

https://kafka.apache.org/documentation/#security_configbrokerhttps用法://kafka.apache.org/documentation/#security\u sasl\u config
客户端:运行kafka客户端时,需要设置这些属性。

security.protocol=SASL_SSL
ssl.truststore.location=/path/to/truststore.jks
ssl.truststore.password=truststore_password
sasl.mechanism=GSSAPI
sasl.kerberos.service.name=kafka

https://kafka.apache.org/documentation/#security_configclientshttps://kafka.apache.org/documentation/#安全性ŠsaslŠkerberosŠclientconfig
然后配置jaas配置

KafkaClient {
   com.sun.security.auth.module.Krb5LoginModule required
   useKeyTab=true
   keyTab="path/to/kafka_client.keytab"
   storeKey=true
   useTicketCache=false
   principal="kafka-client-1@EXAMPLE.COM";
};
wtzytmuj

wtzytmuj2#

... sasl/gssapi适用于使用kerberos的组织(例如,通过使用activedirectory)。你不需要为apachekafka安装一个新的服务器®. 要求kerberos管理员为集群中的每个kafka代理以及将使用kerberos身份验证(通过客户端和工具)访问kafka的每个操作系统用户提供一个主体。https://docs.confluent.io/current/kafka/authentication_sasl/authentication_sasl_gssapi.html#kafka-sasl认证gssapi。。。。

相关问题