ACL LOG

列出最近由于 ACL 规则生成的安全事件。

语法

ACL LOG [count | RESET]

引入版本:6.0.0

复杂度摘要:O(N)

该命令显示最近 ACL 安全事件的列表:

  1. AUTH 或 HELLO 身份验证失败(原因 = auth)
  2. 违反当前 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

详细说明

每个日志条目由以下字段组成:

  1. count:60 秒内检测到的由此条目表示的安全事件数。
  2. reason:记录安全事件的原因。 command、key、channel 或 auth。
  3. context:检测到安全事件的上下文。toplevel、multi、lua 或 module。
  4. object:用户没有足够权限访问的资源。当原因是 auth 时为 auth。
  5. username:执行导致安全事件的命令的用户名或身份验证尝试失败的用户名。
  6. age-seconds:日志条目的存在时间(以秒为单位)。
  7. client-info:显示引起安全事件之一的客户端的客户端信息。
  8. entry-id:自服务器进程启动以来条目的序列号(从0开始)。也可用于检查物品是否“丢失”,是否在时间段之间掉落。
  9. timestamp-created:首次创建条目时 milliseconds 中的 UNIX 时间戳。
  10. timestamp-last-updated:上次更新条目时 milliseconds 中的 UNIX 时间戳。

Redis Software 与 Redis Cloud 兼容性

Redis
软件
Redis
Cloud
说明
❌ 标准
❌主动-主动
❌ 标准
❌主动-主动

返回值

RESP2

当调用显示安全事件时: * 数组回复:代表 ACL 安全事件的 批量字符串回复 元素数组。当使用 RESET: * 简单字符串回复: OK 调用时(如果安全日志已清除)。

RESP3

当调用显示安全事件时: * 数组回复:代表 ACL 安全事件的 批量字符串回复 元素数组。当使用 RESET: * 简单字符串回复: OK 调用时(如果安全日志已清除)。

资料来源:Redis 官方 ACL LOG 文档;中文内容参考 Redis 文档许可。