测试Audit Logs

上一节配置了 Amazon OpenSearch 来记录读/写事件,本节来生成一些事件。

导航到 OpenSearch Dashboards,选择 Dev Tools,并创建新的文档:

POST accounts/_doc/sampleuser
{
  "ssn": "123-456-7890",
  "name": "John Doe"
}

通过运行以下命令更新刚刚写入的文档:

PUT accounts/_doc/sampleuser
{
  "ssn": "123-456-7890",
  "name": "Jane Doe"
}

运行以下命令对 accounts索引发出读取请求:

GET accounts/_search

查看Audit Log

创建了事件后,通过 CloudWatch 控制台查看日志组:

image-20240617205300076

单击屏幕顶部的 Search log group 按钮。

image-20240617205335574

我们现在应该会看到类似这样的屏幕:

image-20240617205351396

展开显示 CREATE操作的行:

image-20240617205450708

在这里,我们可以看到发生的操作是什么(CREATE)、在哪个索引中发生(accounts)、执行创建操作的用户 ID (admin)以及分配给该文档的唯一文档 ID (sampleuser)。

展开并查看 UPDATE 操作:

image-20240617205628516

同样,我们可以看到被更新的文档 ID (sampleuser)、执行更新操作的用户(admin),这次我们可以看到文档的版本已从 [1] 递增到 [2],表示这个文档已被更新了多少次。

展开日志列表中的read操作项:

image-20240617205758550

这次我们可以看到操作类别是 COMPLIANCE_DOC_READ,读取的文档 ID,读取它的用户 ID 以及触发读取审核事件的字段(ssn)。

虽然Audit Log是非常有用和强大的记录数据访问的方式,但对于繁忙的索引来说,它们也有可能产生大量数据,从而意外地产生高昂的费用。请谨慎和节俭地使用Audit Log,只在有必要的地方启用它