具有tls的节点之间的kafka授权

ttp71kqs  于 2021-06-04  发布在  Kafka
关注(0)|答案(0)|浏览(243)

我在Kafka2.6的授权ACL上过得很糟糕。我有tls设置和工作之间的我的客户端应用程序和所有Kafka节点良好。我在server.properties文件中有acl属性


# TLS Portion

advertised.listeners=SSL://10.1.1.2:9092
listeners=SSL://:9092
ssl.keystore.location=/opt/kafka/keystore.jks
ssl.keystore.password=password
ssl.key.password=password
ssl.truststore.location=/opt/kafka/truststore.jks
ssl.truststore.password=password
ssl.enabled.protocols=TLSv1.2
ssl.client.auth=required
security.inter.broker.protocol=SSL
security.protocol=SSL

# ACL Portion

authorizer.class.name=kafka.security.authorizer.AclAuthorizer
allow.everyone.if.no.acl.found=false
super.users=User:CN=me@me.me

我已经为授权日志启用了调试。如果我将allow.everybody~设置为true,它将正常工作,因为我认为它不再担心授权/acl,并且当前super.users值正在用于我的客户端应用程序,并且可以根据调试消息正常工作。
当我在每个节点上启动服务时,当节点看起来像是试图从另一个节点请求updatemetadata时,我得到clusteraction不允许。
我已经应用了acl条目,假设server cn=server.side

bin/kafka-acls.sh --authorizer kafka.security.authorizer.AclAuthorizer --authorizer-properties zookeeper.connect=10.1.1.5:2181 --add --allow-principal User:CN=server.side  --operation ClusterAction --cluster sample-cluster

在所有节点上,没有骰子。
我试着开始 --operation ALL 但那没用。我还尝试将命令指向节点,而不是使用 --bootstrap-server 这根本无法返回任何内容,并且我可以看到一个超时错误(我猜它接受acl条目,但由于上述问题,因此无法将其传播到其他节点)。
我已经为不同权限方案的主题、使用者和生产者添加了acl,但这似乎只发生在节点尝试交叉通信的启动时。结果,我的客户端应用程序消费者和生产者可以连接,授权到各自的主题,但最终没有领导者元数据问题。
我在谷歌上呆了一整天;有人知道吗?短暂性脑缺血发作

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题