ACL LOG
列出最近由于 ACL 规则生成的安全事件。
语法
ACL LOG [count | RESET]
引入版本:6.0.0
复杂度摘要:O(N)
该命令显示最近 ACL 安全事件的列表:
AUTH或HELLO身份验证失败(原因 = auth)- 违反当前 ACL 规则的命令 - 不允许的命令(原因 = 命令)。 - 不允许的键(原因 = 键)。 - 不允许的发布/订阅频道(原因 = 频道)。
可选参数指定要显示的条目数。默认情况下最多返回十次失败。特殊的 RESET 参数会清除日志。条目从最新的开始显示。
可选参数
count | RESET
要返回的最近条目数,或清除日志的 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:首次创建条目时milliseconds中的 UNIX 时间戳。timestamp-last-updated:上次更新条目时milliseconds中的 UNIX 时间戳。
Redis Software 与 Redis Cloud 兼容性
| Redis 软件 |
Redis Cloud |
说明 |
|---|---|---|
| ❌ 标准 |
❌ 标准 |
返回值
RESP2
当调用显示安全事件时: * 数组回复:代表 ACL 安全事件的 批量字符串回复 元素数组。当使用 RESET: * 简单字符串回复: OK 调用时(如果安全日志已清除)。
RESP3
当调用显示安全事件时: * 数组回复:代表 ACL 安全事件的 批量字符串回复 元素数组。当使用 RESET: * 简单字符串回复: OK 调用时(如果安全日志已清除)。
资料来源:Redis 官方 ACL LOG 文档;中文内容参考 Redis 文档许可。