接口功能介绍
分页查询DML审计规则列表。
接口约束
请先订购DRDS实例。
URI
GET /v2/dml-audit/list-rule
路径参数
无
Query参数
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
prodInstId | 是 | String | DRDS产品实例id | cb236d462b924ef7bfba5ecf1d61de2b | |
groupName | 是 | String | 分组名称 | 默认分组 | |
pageNow | 否 | Integer | 当前页,若为空或小于1,默认是1 | 1 | |
pageSize | 否 | Integer | 页大小,若为空或小于1,默认是10 | 20 |
请求参数
请求头header参数
无
请求体body参数
无
响应参数
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
code | 是 | String | 返回码 取值范围:0表示成功,1表示失败 | 0 | |
message | 是 | String | 结果描述 | success | |
result | 否 | Array of Objects | 返回对象,列表,若无该字段或该字段为null或者空列表,都代表返回对象为空。 | result |
表 result
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
enabled | 是 | String | 是否开启,true表示开启,false表示关闭 | true | |
handler | 是 | String | 审计方式, RejectHandler(拒绝) ; WarnHandler (告警) | RejectHandler | |
id | 是 | String | 规则id | ||
type | 是 | String | 审计类型 | RegexMatcher | |
desc | 是 | String | 审计规则名 | Truncate table语句 | |
errMsg | 否 | String | 拒绝或告警的提示信息 | Truncate table | |
handlerName | 是 | String | 审计方式名,拒绝或告警 | 拒绝 | |
regexp | 否 | String | 正则表达式,当审计类型为RegexMatcher时该字段有值。 | (?i)^truncate * s. $** | |
count | 否 | String | sql或数量,当type为ParameterizedSqlMatcher、SqlMatcher时,表示sql. 其他则为数量或为空。 | ||
params | 否 | Array of Objects | 内置审计规则的参数(部分,并非所有内置规则都有),自定义规则无该字段 | parm | |
deletable | 否 | Boolean | 是否可以删除,空或者false表示不可以删除(系统内置审计规则),true表示可以删除(自定义审计规则)。 |
表param
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
name | 是 | String | 参数名 | maxAffectedRows | |
value | 是 | String | 参数值 | 1000 | |
desc | 是 | String | 参数描述 | 最大影响行数 |
请求示例
请求头header
无
请求体body
无
响应示例
{
"code": 0,
"message": "success",
"result": [
{
"enabled": "false",
"handler": "RejectHandler",
"id": "/dbproxy_cluster/dbproxy_cluster_0000000372/groups/group_0000000429/interceptor/dml/interceptor_0000000430",
"type": "DmlWithoutWhereMatcher",
"desc": "Update/Delete不带where条件",
"errMsg": "Update/Delete without where",
"handlerName": "拒绝"
},
{
"enabled": "false",
"handler": "RejectHandler",
"id": "/dbproxy_cluster/dbproxy_cluster_0000000372/groups/group_0000000429/interceptor/dml/interceptor_0000000431",
"type": "RegexMatcher",
"desc": "Truncate table语句",
"regexp": "(?i)^truncate\\s.*$",
"errMsg": "Truncate table",
"handlerName": "拒绝"
},
{
"enabled": "false",
"handler": "RejectHandler",
"id": "/dbproxy_cluster/dbproxy_cluster_0000000372/groups/group_0000000429/interceptor/dml/interceptor_0000000432",
"type": "DmlLimitMatcher",
"desc": "Update/Delete带limit条件",
"errMsg": "Update/Delete with limit",
"handlerName": "拒绝"
},
{
"enabled": "false",
"handler": "RejectHandler",
"id": "/dbproxy_cluster/dbproxy_cluster_0000000372/groups/group_0000000429/interceptor/dml/interceptor_0000000433",
"type": "DmlOrderByMatcher",
"desc": "Update/Delete带order by条件",
"errMsg": "Update/Delete with order by",
"handlerName": "拒绝"
},
{
"enabled": "false",
"handler": "WarnHandler",
"id": "/dbproxy_cluster/dbproxy_cluster_0000000372/groups/group_0000000429/interceptor/dml/interceptor_0000000434",
"type": "BroadcastMatcher",
"desc": "广播语句",
"errMsg": "broadcast sql",
"handlerName": "警告"
},
{
"enabled": "false",
"handler": "RejectHandler",
"id": "/dbproxy_cluster/dbproxy_cluster_0000000372/groups/group_0000000429/interceptor/dml/interceptor_0000000435",
"type": "InsertUpdateDeleteCrossNodeMatcher",
"desc": "Insert/Update/Delete语句跨分片执行",
"errMsg": "Insert/Update/Delete sql cross multi node",
"handlerName": "拒绝"
},
{
"enabled": "false",
"handler": "RejectHandler",
"id": "/dbproxy_cluster/dbproxy_cluster_0000000372/groups/group_0000000429/interceptor/dml/interceptor_0000000436",
"type": "SelectAllMatcher",
"desc": "Select * 语句",
"errMsg": "Select *",
"handlerName": "拒绝"
},
{
"enabled": "false",
"handler": "WarnHandler",
"id": "/dbproxy_cluster/dbproxy_cluster_0000000372/groups/group_0000000429/interceptor/dml/interceptor_0000000437",
"type": "JoinCrossNodeMatcher",
"desc": "跨分片Join语句",
"errMsg": "Join statement cross multi node",
"handlerName": "警告"
},
{
"enabled": "false",
"handler": "WarnHandler",
"id": "/dbproxy_cluster/dbproxy_cluster_0000000372/groups/group_0000000429/interceptor/dml/interceptor_0000000438",
"type": "UnionCrossNodeMatcher",
"desc": "跨分片Union语句",
"errMsg": "Union statement cross multi node",
"handlerName": "警告"
},
{
"enabled": "false",
"count": "10000",
"handler": "RejectHandler",
"id": "/dbproxy_cluster/dbproxy_cluster_0000000372/groups/group_0000000429/interceptor/dml/interceptor_0000000439",
"type": "DataMergeRowsMatcher",
"desc": "select汇聚超过限定行数",
"errMsg": "Data merge more than 10000 row",
"handlerName": "拒绝"
},
{
"enabled": "false",
"count": "10000",
"handler": "RejectHandler",
"id": "/dbproxy_cluster/dbproxy_cluster_0000000372/groups/group_0000000429/interceptor/dml/interceptor_0000000440",
"type": "UpdateDeleteAffectedRowsMatcher",
"desc": "update和delete语句,限制影响行数",
"errMsg": "affected rows is more than expected",
"handlerName": "拒绝"
},
{
"enabled": "false",
"handler": "RejectHandler",
"id": "/dbproxy_cluster/dbproxy_cluster_0000000372/groups/group_0000000429/interceptor/dml/interceptor_0000000441",
"type": "SelectAffectedRowsMatcher",
"desc": "select语句,限制影响行数",
"errMsg": "affected rows is more than expected",
"params": [
{
"name": "maxAffectedRows",
"value": "10000",
"desc": "最大影响行数"
},
{
"name": "maxExplainRecordsPerDn",
"value": "5",
"desc": "单个dn,explain的最大结果数"
}
],
"handlerName": "拒绝"
},
{
"enabled": "false",
"handler": "RejectHandler",
"id": "/dbproxy_cluster/dbproxy_cluster_0000000372/groups/group_0000000429/interceptor/dml/interceptor_0000000442",
"type": "UpdateDeleteRowsMatcher",
"desc": "update/delete语句,限制实际影响行数",
"errMsg": "rows is more than expected",
"params": [
{
"name": "maxRows",
"value": "10000",
"desc": "最大影响行数"
},
{
"name": "maxExecuteTime",
"value": "60",
"desc": "最多执行时间(秒)"
}
],
"handlerName": "拒绝"
},
{
"enabled": "true",
"handler": "RejectHandler",
"id": "/dbproxy_cluster/dbproxy_cluster_0000000372/groups/group_0000000429/interceptor/dml/interceptor_0000000556",
"type": "RegexMatcher",
"desc": "drop table语句",
"regexp": "(?i)^drop table\\s.*$",
"errMsg": "SQL is not permit execute",
"deletable": "true",
"handlerName": "拒绝"
},
{
"enabled": "true",
"count": "select sleep(10)",
"handler": "RejectHandler",
"id": "/dbproxy_cluster/dbproxy_cluster_0000000372/groups/group_0000000429/interceptor/dml/interceptor_0000000560",
"type": "SqlMatcher",
"desc": "sleep语句",
"errMsg": "SQL is not permit execute",
"deletable": "true",
"handlerName": "拒绝"
}
]
}
状态码
请参考 状态码说明。