当前位置: 代码迷 >> 综合 >> clickhouse(三):创建登录用户与设置角色权限
  详细解决方案

clickhouse(三):创建登录用户与设置角色权限

热度:98   发布时间:2023-12-27 20:32:47.0

由于clickhouse自带的默认用户只有一个(default),在实际的使用过程中,经常需要根据不同的使用人员创建不同类型的角色账号。

创建一个新账号与设置角色权限

在/etc/clickhouse-server 目录下,编辑users.xml,其中的<users>标签定义用户的相关配置信息,其结构如下:

<users><username>                      <!--用户登录名--><password>123</password>    <!--用户登录密码--><networks><ip>::/0</ip></networks>   <!--允许登录的网络地址--><profile>default</profile>  <!--用户使用的profile配置--><quota>default</quota>      <!--用户能够使用的资源限额/熔断机制--></username>
<users>

在users.xml中添加了如下配置之后,即可完成一个新用户的配置

1、用户密码的配置有三种方法,详情参考:clickhouse(二) 设置用户的登录密码

2、<networks>表示网络的访问权限,用于限制某个用户登录的客户端地址,共分为IP地址、Host主机名称以及正则匹配三种类型。

(1)、IP地址:直接使用ip地址

<ip>127.0.0.1</ip>

(2)、使用host主机名:使用host主机名设置

<host>ch5.nauu.com</host>

(3)、正则匹配:通过表达式来匹配host名称

<host>^ch\d.nauu.com$</host>

在配置了<networks>标签之后,如果登录的客户端与配置规则不匹配,就会无法登录

3、<profile>标签定义了用户的角色信息,在users.xml中的<profiles>标签中定义。

<profiles>标签下的每一个子标签代表了一种角色的信息,例如:配置了下面这个配置的用户只具有查询数据的功能

<readonly><readonly>1</readonly>
</readonly>

4、<quota>标签定义了用户单位时间内的资源限制,也可以称为是一种熔断机制。

当用户的资源使用情况达到配置阈值时,就会触发熔断机制(熔断是限制资源被过度使用的一种保护机制),正在进行的操作就会被自动切断。

<quota>标签的详细配置在users.xml文件中,每一个子标签代表一种quota配置。同样的,clickhouse也给出了默认的参考配置

<quota>     <default><interval><duration>3600</duration><queries>0</queries><errors>0</errors><result_rows>0</result_rows><read_rows>0</read_rows><execution_time>0</execution_time></interval><default>
</quota>

1、duration

? duration表示累计的时间周期,单位为秒,达到该时间周期后,清除所有收集的值,接下来的周期,将重新开始计算,当服务重启时,也会清除所有的值,重新开始新的周期。

2、queris

queris表示在该周期内,允许执行的查询次数,0为不限制。

3、errors

 errors表示在该周期内,允许引发异常的查询次数,0为不限制。

4、result_rows

result_rows表示在周期内,允许查询返回的结果行数,0为不限制。

5、read_rows设置

? read_rows表示在周期内,允许远程节点读取的数据行数,0为不限制。

6、execution_time设置

execution_time表示允许查询的总执行时间(又叫wall time),单位为秒,0为不限制。

如有错误,欢迎指正!

  相关解决方案