使用clickhouse多半应用在实时数仓项目来支持adhoc查询,为了确保企业数据安全高效的使用,那么权限控制与资源隔离是必不可少的
clickhouse在20.4之后的版本开始支持基于RBAC的访问控制管理;主要包括的功能有:用户创建、角色创建、权限管理以及资源隔离;接下来我们将演示如何使用这些功能
配置管理员账户
管理员账户主要用来进行权限分配和管理用的;需要在user.xml中进行如下配置:
## clickhouse自带default用户,但是该用户拥有所有权限且没有设置登陆密码和开启RBAC
pwd
1
::/0
default
default
access_management 默认为0,设置为1标识开启RBAC权限控制。
admin 配置的用户名
password 用户对应的密码
networks 运行访问的客户端ip、host
profile clickhouse角色
quota 配额,分配给该用户的资源
配置config.xml新增如下配置: ## 用来存储创建的用户和角色
/data/work/clickhouse/access/
## 此配置必须有 否则会报
## DB::Exception: Not found a storage to insert user
创建普通用户
普通用户是权限作用的实体,可以设置独立的密码和操作范围,业务人员通过登陆不同的账户来行使不同的数据权限。 create user ## 创建用户u1 并限制ip只能在本地登陆数据库
## 通过明文或加密方式配置密码