如何使用 ACL 对所有 zookeeper 访问命令进行身份验证?

问题描述

我们启用了zookeeper ACL配置,也可以在节点上进行设置。 例如

 *./bin/zookeeper-shell.sh localhost:2181 getAcl /brokers
         Connecting to localhost:2181
         WATCHER::
         WatchedEvent state:SyncConnected type:None path:null
         'sasl,'root
         : cdrwa*

但它只验证少数命令而不是全部

例如如果我对受限节点执行 ls 它会给出错误

*./bin/zookeeper-shell.sh localhost:2181 ls /brokers
    Connecting to localhost:2181
    WATCHER::
    WatchedEvent state:SyncConnected type:None path:null
    Authentication is not valid : /brokers*

虽然它不会为 getAcl、stat 等命令抛出错误

*./bin/zookeeper-shell.sh localhost:2181 stat /brokers
       Connecting to localhost:2181
       WATCHER::
       WatchedEvent state:SyncConnected type:None path:null
       cZxid = 0x4
       ctime = Wed Jan 13 15:25:47 IST 2021
       mZxid = 0x4
       mtime = Wed Jan 13 15:25:47 IST 2021
       pZxid = 0xd
       cversion = 3
       dataVersion = 0
       aclVersion = 2
       ephemeralOwner = 0x0
       dataLength = 0
       numChildren = 3*

我们如何为所有命令添加身份验证?

另外,有没有办法从所有节点的 ACL 中删除 anyone 用户

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)