如何为ClickHouse用户赋予数据库级别的Select权限
操作步骤
- 登录到MRS集群装有ClickHouse客户端的节点,执行如下命令:
su - omm
source {客户端安装目录}/bigdata_env
kinit 组件用户(普通集群无需执行kinit命令)
clickhouse client --host clickhouse实例节点IP --port 9000 -m --user clickhouse –password 'clickhouse用户密码'
查看ClickHouse用户密码:
登录FusionInsight Manager界面,选择“集群 > 服务 > ClickHouse > 实例”,单击任意ClickHouseServer角色名称。进入ClickHouseServer“概览”页面,单击“配置文件”中的users.xml文件,查看ClickHouse用户密码。
- 创建指定数据库只读权限角色,有如下两种方案:
方案一:
- 创建指定数据库只读权限角色(以default数据库为例,下同):
create role ck_role on cluster default_cluster;
GRANT SELECT ON default.* TO ck_role on cluster default_cluster;
- 创建普通用户
CREATE USER user_01 on cluster default_cluster IDENTIFIED WITH PLAINTEXT_PASSWORD BY 'password';
- 将只读权限角色赋予普通用户
- 查看用户权限
select * from system.grants where role_name = 'ck_role';
方案二:
创建指定数据库只读权限用户:
- 创建指定数据库只读权限角色(以default数据库为例,下同):