【大数据】clickhouse系列三权限控制

您所在的位置:网站首页 clickhouse用户权限管理 【大数据】clickhouse系列三权限控制

【大数据】clickhouse系列三权限控制

2024-07-13 13:41| 来源: 网络整理| 查看: 265

ClickHouse权限实体包括:

用户账户角色行策略设置描述配额

你可以通过如下2种方式配置权限实体:

通过SQL驱动的工作流方式.你需要开启这个功能.通过服务端配置文件 users.xml 和 config.xml.

我们建议你使用SQL工作流的方式。当然配置的方式也可以同时起作用, 所以如果你正在用服务端配置的方式来管理权限和账户,你可以平滑的切换到SQL驱动的工作流方式。默认ClickHouse提供了一个 default 账号,这个账号有所有的权限,但是不能使用SQL驱动方式的访问权限和账户管理。default主要用在用户名还未设置的情况,比如从客户端登录或者执行分布式查询。在分布式查询中如果服务端或者集群没有指定用户名密码那默认的账户就会被使用。

1. 通过服务端配置文件管理权限

配置文件目录/etc/clickhouse-server 主配置文件config.xml中关于用户配置,推荐在users.d目录下针对不同的用户配置不同的文件,比如这里为test用户配置了test.xml文件,这样配置灵活不相互影响。

users.d/test.xml /var/lib/clickhouse/access/

下面看test.xml内容,这里自定义了test用户,default是默认用户,如果删除默认的default用户,当查询分布式表的时候,会报错下面错误,查询本地表正常,暂时未找到原因。 DB::Exception: default: Authentication failed: password is incorrect or there is no user with such name.

300000000000 15000000000 1 0 random 1 xxxxxx ::/0 default default ::/0 default default 3600 0 0 0 0 0 2.通过SQL驱动方式管理权限

如果你刚开始使用ClickHouse,考虑如下场景:

为 default 用户开启SQL驱动方式的访问权限和账户管理。 开启SQL驱动方式的访问权限和账户管理 (1)为配置的存储设置一个目录。 ClickHouse把访问实体的相关配置存储在访问控制目录,而这个目录可以通过服务端进行配置。 (2)为至少一个账户开启SQL驱动方式的访问权限和账户管理。 默认情况,SQL驱动方式的访问权限和账户管理对所有用户都是关闭的。你需要在 users.xml 中配置至少一个用户,并且把权限管理的值设置为1。使用 default 用户登录并且创建所需要的所有用户。 不要忘记创建管理员账户 (GRANT ALL ON . WITH GRANT OPTION TO admin_user_account)。限制 default 用户的权限并且禁用SQL驱动方式的访问权限和账户管理。

创建用户

CREATE USER mira HOST IP '127.0.0.1' IDENTIFIED WITH sha256_password BY 'qwerty';

创建角色

CREATE ROLE accountant;

创建行策略

CREATE ROW POLICY pol1 ON mydb.table1 USING b=1 TO mira, peter;

创建配置描述

CREATE SETTINGS PROFILE max_memory_usage_profile SETTINGS max_memory_usage = 100000001 MIN 90000000 MAX 110000000 TO robin;

创建资源配额

CREATE QUOTA qB FOR INTERVAL 30 minute MAX execution_time = 0.5, FOR INTERVAL 5 quarter MAX queries = 321, errors = 10 TO default;


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3