美文网首页
Clickhouse 配置带访问权限控制的zookeeper

Clickhouse 配置带访问权限控制的zookeeper

作者: 陌上闻笛 | 来源:发表于2020-04-25 19:51 被阅读0次

    一、背景

    由于部门内clickhouse集群依赖的zookeeper集群并未设置访问权限控制,所以被安全部门通报漏洞

    二、解决的方案

    1、不把Zookeeper直接暴露在公网
    2、添加访问控制,根据情况选择对应方式(认证用户,用户名密码)
    3、绑定指定IP访问(利用IPtable实现)

    三、实现

    这里我们选择方案二(别问我为哈 手动黑人3问号)

    3.1 zookeeper配置

    首先打开命令行客户端 zkCli.sh

    /opt/soft/zookeeper/bin/zkCli.sh
    

    为zookeeper 增加一个认证用户
    格式如下: addauth digest 用户名:密码明文

    addauth digest clickhouse:myPassword
    

    为zk路径设置权限,这里有明文和密文两种方式

    首先创建一个测试目录

    create /test test
    
    • 方式一 明文
    setAcl /test auth:clickhouse:myPassword:cdrwa
    
    • 方式二 密文(密文密码的生成规则和目录权限可参考文末 : Zookeeper ACL权限配置及zkclient示例)
    setAcl /test digest:clickhouse:myPassword:cdrwa
    

    查看设置的权限

    getAcl /test
    

    此时只有:clickhouse:myPassword 能对/test目录操作

    配置zk中的clickhouse目录
    这里看zk的用途,如果zk只为ck提供服务,那么可以直接为/目录设置权限

    setAcl / auth:clickhouse:myPassword:cdrwa
    

    如果zk还同时为其他框架提供服务那么可只为ck使用的目录设置权限

    setAcl /clickhouse auth:clickhouse:myPassword:cdrwa
    

    这里需要注意的是zk的路径权限不会继承,也就是说你对于/clickhouse设置的权限 对于/clickhouse/xx 是不生效的 但是如果ck里配置了zk的用户及密码 那么由ck创建出的zk路径是带有权限的

    3.2 clickhouse配置

    在metrika.xml中配置zk的用户密码(注意这里密码需要配置成明文)

        <zookeeper-servers>
            <node index="1">
                <host>example1</host>
                <port>2181</port>
            </node>
            <node index="2">
                <host>example2</host>
                <port>2181</port>
            </node>
            <node index="3">
                <host>example3</host>
                <port>2181</port>
            </node>
            <identity>clickhouse:myPassword</identity>
        </zookeeper-servers>
    

    配置完必须重启所有ck服务 (如果长时间无法停止 可强制kill掉)

    /etc/init.d/clickhouse-server restart
    

    3.3 验证

    随便找一个表查询或写入,无误即可
    如果报错检查

    • zk用户名密码是否配置
    • ck xml配置明文密码是否正确 是否同步
    • ck 是否全部重启

    3.4 以后如果想通过zkCli操作ck的路径怎么办???

    那当然是登录zkCli
    再执行addauth digest clickhouse:myPassword 即可操作带有权限的路径

    参考文档:
    Zookeeper ACL权限配置及zkclient示例

    相关文章

      网友评论

          本文标题:Clickhouse 配置带访问权限控制的zookeeper

          本文链接:https://www.haomeiwen.com/subject/tlxgihtx.html