使用CloudTrail监视AWS中的API调用和用户活动

CloudTrail是一项服务,用于跟踪AWS云中的用户活动和API使用情况。 它启用了AWS账户的审核和治理。 有了它,您可以监视您的AWS账户中发生的事情并对其进行持续监视。 它提供事件历史记录,以跟踪资源更改。 您还可以在S3中启用所有事件的日志记录,并分析哪些其他服务(例如Athena或Cloudwatch)。

在本教程中,我们将查看您的AWS账户的事件历史记录。 另外,我们将创建一个“线索”并将事件存储在S3中,并使用Cloudwatch对其进行分析。

活动历史

所有读/写管理事件均由事件历史记录。 它使您可以查看,过滤和下载过去90天内的最新AWS账户活动。 您无需为此设置任何内容。

使用AWS控制台

转到服务“ CloudTrail”,然后单击仪表板上。 您可以看到事件名称,时间和来源。 您可以单击“查看完整的事件历史记录”以获取所有事件。

事件历史细节

在事件历史记录的详细信息页面上,可以选择一个过滤器。 要查看所有事件,请使用如上所述的Read-only和false。

使用AWS CLI

您还可以使用AWS CLI查看事件。 以下命令显示了您的帐户的终止实例。

# aws cloudtrail lookup-events --lookup-attributes AttributeKey=EventName,AttributeValue=TerminateInstances

步道

现在,让我们创建一条路径,该路径将记录您帐户的所有事件并将其存储在S3存储桶中。

在左侧,选择“足迹”,然后单击“创建足迹”

创建足迹

在下一页上,提供跟踪名称,选择创建一个新的S3存储桶,然后指定存储桶名称。 (如果您已经有一个存储桶,则还可以选择现有的s3存储桶)

选择线索属性1

向下滚动页面并启用CloudWatch Logs。 创建一个日志组并命名。 另外,分配IAM角色并命名。 然后,单击下一步。

点击下一步

如果要记录所有类型的事件,请单击“事件类型”部分下的选择选项。 我们正在处理管理事件。 因此,单击下一步。

选择日志事件下一个

现在,查看您的配置,然后单击“创建跟踪”。

您还可以在以下AWS命令的帮助下查看已创建路径的列表。

# aws cloudtrail list-trails

list-trails-cli

使用以下命令查看我们在上面创建的路径的所有事件。

# aws cloudtrail describe-trails --trail-name-list management-events

describe-trails-cli

在Cloudwatch中分析日志

在创建CloudTrail的过程中,我们定义了将日志发送到Cloudwatch。 因此,转到Cloudwatch服务,然后单击“日志组”。

日志组cloudwatch

默认情况下,日志将无限期保存且永不过期。 在这里,您还可以应用滤波器以获得所需的输出。 例如,我们将在AWS账户中查看所有正在运行的实例。 为此,使用过滤器“ RunInstances”,如下所示。 输出以JSON格式显示。

runinstance-filter-cloudwatch

您还可以使用CLI获取所有日志事件。 运行以下命令以获取您在上面定义的日志组的所有事件。

# aws logs filter-log-events --log-group-name aws-cloudtrail-logs-20201229

在本文中,我们将介绍如何使用CloudTrail审计和查找AWS账户中的活动。 感谢您的阅读。

另请阅读如何在不重新引导的情况下扩展EC2实例的EBS引导磁盘

Sidebar