ACL LOG
语法
ACL LOG [count | RESET]
- 可用版本
- Redis 开源版 6.0.0
- 时间复杂度
- O(N),其中 N 是显示的条目数量。
- ACL 类别
-
@admin
,@slow
,@dangerous
,
此命令显示最近的 ACL 安全事件列表
可选参数指定要显示的条目数量。默认情况下,最多返回十个失败条目。特殊参数 RESET
会清除日志。条目从最新的开始显示。
示例
> AUTH someuser wrongpassword
(error) WRONGPASS invalid username-password pair
> ACL LOG 1
1) 1) "count"
2) (integer) 1
3) "reason"
4) "auth"
5) "context"
6) "toplevel"
7) "object"
8) "AUTH"
9) "username"
10) "someuser"
11) "age-seconds"
12) "8.038"
13) "client-info"
14) "id=3 addr=127.0.0.1:57275 laddr=127.0.0.1:6379 fd=8 name= age=16 idle=0 flags=N db=0 sub=0 psub=0 ssub=0 multi=-1 qbuf=48 qbuf-free=16842 argv-mem=25 multi-mem=0 rbs=1024 rbp=0 obl=0 oll=0 omem=0 tot-mem=18737 events=r cmd=auth user=default redir=-1 resp=2"
15) "entry-id"
16) (integer) 0
17) "timestamp-created"
18) (integer) 1675361492408
19) "timestamp-last-updated"
20) (integer) 1675361492408
每条日志条目包含以下字段:
count
:此条目代表的在 60 秒内检测到的安全事件数量。reason
:记录安全事件的原因。可以是command
、key
、channel
或auth
。context
:检测到安全事件的上下文。可以是toplevel
、multi
、lua
或module
。object
:用户权限不足无法访问的资源。当原因为auth
时,此字段为auth
。username
:执行导致安全事件的命令的用户名,或认证尝试失败的用户名。age-seconds
:日志条目的时长(秒)。client-info
:显示导致安全事件的客户端信息。entry-id
:自服务器进程启动以来的条目序列号(从 0 开始)。也可用于检查条目是否“丢失”(即发生在记录周期之间)。timestamp-created
:条目首次创建时的 UNIX 时间戳(milliseconds
,毫秒)。timestamp-last-updated
:条目最后更新时的 UNIX 时间戳(milliseconds
,毫秒)。
RESP2/RESP3 回复
当调用显示安全事件时
- 数组回复:表示 ACL 安全事件的 Bulk string 回复 元素数组。当使用
RESET
调用时 - 简单字符串回复:如果安全日志已清除,则返回
OK
。
变更历史
- 从 Redis 版本 7.2.0 开始:添加了
entry-id
、timestamp-created
和timestamp-last-updated
。