暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Clickhouse用户权限管理

IT那活儿 2024-07-29
337

点击上方“IT那活儿”公众号--专注于企业全栈运维技术分享,不管IT什么活儿,干就完了!!!


用户密码加密

生产环境下,配置文件中明文配置用户密码存在安全风险,当前clickhouse支持的密码加密算法SHA256,SHA1,配置文件中使用加密密码进行配置。修改user.xml文件立即生效无需重启clickhouse。)
1.1 SHA256算法生成加密密码
如下示例:
PASSWORD=default; echo "$PASSWORD"; echo -n "$PASSWORD" | sha256sum | tr -d '-'
vi /etc/clickhosue-serer/user.xml 修改明文<password><password_sha256_hex>
<password_sha256_hex>37a8eec1ce19687d132fe29051dca629d164e2c4958ba141d5f4133a33f0688f</password_sha256_hex>

登录clickhouse测试使用转换前密码):
clickhouse-client --password "default"
1.2 SHA1算法生成加密密码
如下示例:
PASSWORD=123456; echo "$PASSWORD"; echo -n "$PASSWORD" | sha1sum | tr -d '-' | xxd -r -p | sha1sum | tr -d '-'
vi /etc/clickhosue-serer/user.xml 修改明文<password><password_double_sha1_hex>
<password_double_sha1_hex>6bb4837eb74329105ee4568dda7dc67ed2ca2ad9</password_double_sha1_hex>

登录clickhouse测试使用转换前密码):
clickhouse-client --password "123456"


创建管理用户

我们需要在/etc/clickhouse-server/users.xml配置文件中配置account_admin用户,给用户赋予SQL-driven access control 和 account management 权限。

标签

意思

access_management

指的是访问管理功能,它允许你控制哪些用户可以访问哪些数据以及执行哪些操作

named_collection_control

允许对指定的命名集合进行特定操作


管理用户权限测试

使用管理员用户登录clickhouse:

3.1 创建用户和修改用户密码

创建一个名为test_user用户,它的密码是zxl123:
CREATE USER test_user IDENTIFIED BY 'zxl123';
修改test_user用户密码为123456:
ALTER USER test_user IDENTIFIED BY '123456';

3.2 创建测试数据库和测试表

3.3 赋予test_user用户在test_db数据库下所有表的增删改查权限

查看test_user用户的权限赋予情况:
show grants for test_user;

3.4 权限回收

回收test_user的select权限:
REVOKE SELECT ON test_db.* from test_user;

总 结:

通过这些步骤,你可以在ClickHouse中有效地管理用户权限。本指南旨在帮助用户深入了解ClickHouse数据库的账号与权限管理功能,确保数据库的安全性和数据的完整性。

END


本文作者:章啸林(上海新炬中北团队)

本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论