用户管理
用户信息存储在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