ACL 日志
语法
ACL LOG [count | RESET]
- 从以下位置开始可用:
- 6.0.0
- 时间复杂度:
- O(N),其中 N 是显示的条目数。
- ACL 类别:
-
@admin
,@slow
,@dangerous
,
该命令显示最近的 ACL 安全事件列表:
optional 参数指定要显示的条目数。默认情况下
最多返回 10 个失败。特别的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
当 reason 为auth
.username
:执行导致安全事件的命令的用户名或身份验证尝试失败的用户名。age-seconds
:日志条目的存在时间(以秒为单位)。client-info
:显示导致其中一个安全事件的客户端的客户端信息。entry-id
:自服务器进程启动以来条目的序列号(从 0 开始)。也可以用来检查物品是否 “丢失”,如果它们在周期之间落下。timestamp-created
:UNIX 时间戳milliseconds
在首次创建条目时。timestamp-last-updated
:UNIX 时间戳milliseconds
在上次更新条目的时间。
RESP2/RESP3 回复
调用以显示安全事件时:
- Array reply:表示 ACL 安全事件的 Bulk string reply 元素数组。
当使用
RESET
: - 简单的字符串回复:
OK
如果安全日志被清除。
历史
- 从 Redis 版本 7.2.0 开始:添加了条目 ID、创建时间戳和上次更新时间戳。