用途:为 ClickHouse 提供安全加固与访问控制配置参考,覆盖 RBAC、行策略、配额、网络安全、审计日志与最佳实践。
主要能力: RBAC:创建角色(CREATE ROLE analyst)、授权(GRANT SELECT ON db.* TO analyst)、分配用户(GRANT analyst TO user1),角色可继承;查看授权用 SHOW GRANTS FOR user1,查看用户定义用 SHOW CREATE USER username,轮换密码用 ALTER USER username IDENTIFIED BY 'new_password'。 行策略:按用户限制行访问,如 CREATE ROW POLICY p ON db.table FOR SELECT USING tenant_id = currentUser();多个策略之间为 AND 关系,可用于多租户数据隔离;查看策略用 system.row_policies。 配额:按用户或 IP 限制资源,如 CREATE QUOTA q FOR user1 ... LIMIT max_queries = 100;支持按小时、按天等区间,限制项包括 max_queries、max_result_rows、max_read_rows、max_execution_time;监控用 system.quota_usage。 网络安全:按 IP 限制用户访问,如 CREATE USER u HOST IP '10.0.0.0/8';客户端连接使用 TLS,复制使用服务器间加密,内部与外部访问使用不同端口。 审计日志:启用 system.session_log 跟踪登录,system.query_log 记录所有查询及用户信息,system.text_log 记录服务器级事件,可用 TTL 配置日志保留。
最佳实践:最小权限原则,只授予所需权限;使用角色而非直接给用户授权;区分只读用户与管理员用户;为所有非管理员用户启用配额;定期审计授权与访问模式;监控连接使用 readonly = 1 设置。
限制:资料未提供具体版本要求、完整配置示例、性能影响数据及部署步骤,实际使用需结合环境验证。