管理黑名单
本文介绍如何管理 SQL 黑名单 (SQL Blacklist)。
您可以在 StarRocks 中维护一个 SQL 黑名单,以在某些场景下禁止特定类型的 SQL,避免此类 SQL 导致集群宕机或者其他预期之外的行为。
注意
只有拥有 System 级 BLACKLIST 权限的用户才可以使用黑名单功能。
开启黑名单功能
通过以下命令开启黑名单功能。
ADMIN SET FRONTEND CONFIG ("enable_sql_blacklist" = "true");
添加黑名单
通过以下命令添加 SQL 黑名单。
ADD SQLBLACKLIST "<sql>";
sql:某类 SQL 的正则表达式。
提示
当前 StarRocks 支持将 SELECT 语句加入 SQL 黑名单。
由于 SQL 常用字符里面就包含 (
、)
、*
、.
等字符,这些字符会和正则表达式中的语义混淆,因此在设置黑名单的时候需要通过转义符作出区分,鉴于 (
和 )
在SQL中使用频率过高,我们内部进行了处理,设置的时候不需要转义,其他特殊字符需要使用转义字符""作为前缀。
示例:
-
禁止
count(\*)
。ADD SQLBLACKLIST "select count\\(\\*\\) from .+";