首页 > 其他分享 >ClickHouse用户管理安全指南

ClickHouse用户管理安全指南

时间:2023-04-10 11:46:03浏览次数:30  
标签:指南 abce 0.0 用户 密码 ClickHouse com clickhouse

用户管理

用户信息存储在user.xml文件中。

通常建议多个用户,使用单独的XML文件进行管理。默认是位于目录/etc/clickhouse-server/users.d/下。

例如,创建如下两个用户:ClickHouse和abce​

<users>
    <clickhouse>
        <networks>
            <ip>127.0.0.1</ip>
            <ip>0.0.0.0/0</ip>
            <ip>::/0</ip>
        </networks>          
        <password_sha256_hex>716b36073a90c6fe1d445ac1af85f4777c5b7a155cea359961826a030513e448</password_sha256_hex>
        <profile>clickhouse_operator</profile>
        <quota>default</quota>
    </clickhouse>
    <abce>
        <networks>
            <ip>127.0.0.1</ip>
        </networks>
        <password_sha456_hex>73d1b1b1bc1dabfb97f216d897b7968e44b06457920f00f2dc6c1ed3be25ad4c</password_sha256_hex>
        <profile>default</profile>
    </abce>
</users>

其中:

ClickHouse:密码是clickhouse_password ,以sha256哈希的方式存储,默认的profile是clickhouse_operator,可以从任意地方访问clickhouse

abce:只能从localhost访问clickhouse

SQL命令方式设置

要使用access_management setting显式开启sql控制方式。比如为abce开始sql方式的访问控制:

<users>
    <abce>
       <access_management>1</access_management>
    </abce>
</users>

开启后,就可以通过sql命令的方式来设置用户里,比如:​

CREATE USER IF NOT EXISTS myabc
  IDENTIFIED WITH SHA256_PASSWORD BY 'verysecretpassword'
  HOST IP '192.168.22.47/24' SETTINGS readonly=1;

 

用户网络权限管理

可以设置用户可以访问clickhouse的地址。其中:

·IP: IP地址或掩码。其中0.0.0.0/0表示所有的IPv4地址;::/0表示所有的IPv6地址

·Host:DNS可以解析的主机名

·Host Regexp (Regular Expression): 正则表达式匹配的主机名

比如:​

ALTER USER abce HOST IP '192.168.0.0/16';
ALTER USER abce HOST REGEXP 'chistadata[1234].com';

通过xml文件进行网络设置

位于/etc/clickhouse-server/config.d下的xml文件中的<networks>元素中。比如:​

#只能从本地访问
<networks>
    <ip>127.0.0.1</ip>
</networks>

#只能从站点example.com或者chistadata[1234].com匹配的地址访问
<networks>
    <host>example.com</host>
    <host_regexp>chistadata[1234].com</host_regexp>
</networks>

 

用户密码管理

可以以SHA256或纯文本的方式存储密码。​

#生成sha256的密码
echo -n "password" | sha256sum | tr -d '-'

#或者
echo -n "PasswordForUserabce" | shasum -a 256 | tr -d '-'
c15bc95c03932a67f8c3d6b6370e44416b62fd690982c591754afb2f375cdc36

用xml管理密码​

<users>
    <John>
        <password_sha256_hex>5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8</password_sha256_hex>
    </John>
</users>

用sql命令设置密码

ALTER USER abce IDENTIFIED WITH sha256_hash BY '5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8';

 

配额管理

配额是按时间间隔设置的,可以设置为不同的限制。例如,名为limited的配额有一个间隔,将最大查询设置为1000个,另一个间隔允许在24小时内总共进行10000个查询。​

<quotas>
    <limited>
        <interval>
            <duration>3600</duration>
            <queries>1000</queries>
        </interval>
        <interval>
            <duration>86400</duration>
            <queries>10000</queries>
    </limited>
</quotas>

 

用户Profiles管理

比如,为abce配置一个profile​

<profiles>
    <restricted>
        <!-- The maximum number of threads when running a single query. -->
        <max_threads>8</max_threads>
    </default>
</profiles>

<users>
    <abce>
        <networks>
            <ip>127.0.0.1</ip>
            <ip>0.0.0.0/0</ip>
            <ip>::/0</ip>
        </networks>
        <password_sha256_hex>c15bc95c03932a67f8c3d6b6370e44416b62fd690982c591754afb2f375cdc36</password_sha256_hex>
        <profile>restricted</profile>
    </abce>
</users>

 

修改用户的密码,并改为在任何地址都可访问。​

alter user abc@'192.168.%.%'rename to abc@'%'identified with sha256_password by 'abc';

 

 

 

 

标签:指南,abce,0.0,用户,密码,ClickHouse,com,clickhouse
From: https://www.cnblogs.com/abclife/p/17295906.html

相关文章

  • iPicture用户协议
    InordertouseiPictureanditsservices,youshouldreadandabidebythe"iPictureLicenseAgreement"(hereinafterreferredtoas(thisagreement).Aseparateagreementforaservice,andchoosetoacceptornot.Restrictions,disclaimersmay......
  • [转载] 长达1.7万子的关键字指南
    文章转自:https://www.cnblogs.com/chanshuyi/p/quick-start-of-mysql-explain.html当你的数据里只有几千几万,那么SQL优化并不会发挥太大价值,但当你的数据里去到了几百上千万,SQL优化的价值就体现出来了!因此稍微有些经验的同学都知道,怎么让MySQL查询语句又快又好是一件很重要......
  • 删除用户失败处理
    oralce删除用户失败处理,有用用户会话占用导致删除用户失败,可先锁定用户,观察是否会影响到其他系统,如果无影响再做删除。1.alteruseruserNameaccountlock;--锁定用户2.selectusername,sid,serial#fromv$sessionwhereusername=upper('userName');3.altersystemkill......
  • MongoDB、Redis、HBase、Cassandra、Elasticsearch、ClickHouse等NoSQL数据库简介及优
    MongoDBMongoDB是一个基于文档的NoSQL数据库,它使用BSON(二进制JSON)格式存储数据。MongoDB支持动态查询,可以轻松地处理非结构化数据。它还支持水平扩展,可以在多个节点上分布数据。优点:灵活性高,支持非结构化数据存储。支持水平扩展,可以在多个节点上分布数据。支持动态查询,可......
  • controller随时取出登录用户信息的思路
    1.新建一个BaseController,里面写好公共方法,这些方法可以从springContextHoder取出当前线程绑定的请求信息,例如request和response,在这些方法里对request进行取出或者分析操作,例如header里的token。2.其他controller则继承BaseController,调用父类的方法,则可以随时取出当前登录用户......
  • 近万字总结:Java8 Stream流式处理指南
    总结/朱季谦在实际项目当中,若能熟练使用Java8的Stream流特性进行开发,就比较容易写出简洁优雅的代码。目前市面上很多开源框架,如Mybatis-Plus、kafkaStreams以及Flink流处理等,都有一个相似的地方,即用到Stream流特性,其写出的代码简洁而易懂,当然,若是在不熟悉流特性的基础上而贸......
  • Blender动画节点插件用户指南-接口
    推荐:将 NSDT场景编辑器 加入你的3D开发工具链。接口大部分界面位于节点编辑器中,而其余部分该界面存在于其他区域,例如3D视口。动画节点有自己的节点编辑器,您可以通过以下方式选择单击“涂料表”图标在工具栏中。一个新的可以通过单击“新建”按钮来添加节点树。节点......
  • 【IDA PRO权威指南】二
    基本ida导航跳转到地址jumptoaddress对话框导航历史记录jump-jumptopreviousposition可以跳转到前一个位置jumptonextposition跳转到后一个位置栈帧栈帧是在程序运行时栈中分配的内存块,专门用于特定的函数调用。也通过栈帧(也称激活记录)使得对函数参数和局部变量进......
  • py深度学习指南
    常用函数获取当前运行目录(类似c++)importsyscurent_dir=sys.argv[0]模型保存与读取importtorch#保存模型步骤torch.save(model,'net.pth')#保存整个神经网络的模型结构以及参数torch.save(model,'net.pkl')#同上torch.save(model.state_dict(),'net......
  • Pro Android学习笔记(二六):用户界面和控制(14):RelativeLayout
    相对布局:RelativeLayoutRelativeLayout也是非常常用的布局,能够精确对控件的位置进行网格对齐,可以设置在控件与其他控件的相对位置,以及控件在容器中的位置。缺省控件的位置为最上面还最左边。下面结合一个例子来进行解说。<?xmlversinotallow="1.0"encoding="utf-8"?><Relativ......