记录跟踪的管理事件 - Amazon CloudTrail
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

记录跟踪的管理事件

默认情况下,跟踪将记录所有管理事件,但不包含数据事件或见解事件。数据事件或见解事件需额外支付费用。有关更多信息,请参阅 Amazon CloudTrail 定价

管理事件

通过管理事件,可以了解对在您 Amazon 账户内的资源上执行的管理操作。这些也称为控制层面操作。示例管理事件包括:

  • 配置安全性 (例如,IAMAttachRolePolicyAPI 操作

  • 注册设备 (例如,Amazon EC2CreateDefaultVpcAPI 操作

  • 配置传送数据的规则CreateSubnetAPI 操作

  • 设置日志记录(例如,Amazon CloudTrail CreateTrail API 操作)

管理事件还包括在您的账户中发生的非 API 事件。例如,当一个用户登录到您的账户时,CloudTrail 会记录ConsoleLoginevent. 有关更多信息,请参阅 CloudTrail 捕获的非 API 活动。有关 CloudTrail 为其记录的受支持管理事件的列表Amazon服务,请参阅CloudTrail 支持的服务和集成

默认情况下,跟踪将配置为记录管理事件。有关 CloudTrail 为其记录的受支持管理事件的列表Amazon服务,请参阅CloudTrail 支持的服务和集成

注意

CloudTrail事件历史记录功能只支持管理事件。Event history 功能并不支持所有管理事件。您不能排除Amazon Key Management Service(Amazon KMS) 来自的事件事件历史记录;应用于跟踪的设置不适用于事件历史记录。有关更多信息,请参阅 使用 CloudTrail 事件历史记录查看事件

记录管理事件与Amazon Web Services Management Console

  1. 打开跟踪页面,然后选择跟踪名称。

  2. 适用于管理事件中,选择编辑

    • 选择是否希望您的跟踪记录Read事件,写入事件或两者均可执行。

    • 选择ExcludeAmazon KMS事件以筛选Amazon Key Management Service(Amazon KMS) 事件。默认设置是包含所有Amazon KMS事件.

      用于记录或排除的选项Amazon KMS事件仅当您在跟踪上记录管理事件时才可用。如果选择不记录管理事件,Amazon KMS事件未记录,并且您无法更改Amazon KMS事件日志记录设置。

      EncryptDecryptGenerateDataKey 等 Amazon KMS 操作通常会生成大量事件(占比超过 99%)。这些操作现在记录为读取事件。低容量,相关Amazon KMS操作,例如DisableDelete, 和ScheduleKey(这通常占不到 0.5%Amazon KMS事件卷)记录为写入事件.

      要排除高容量事件,如EncryptDecrypt, 和GenerateDataKey,但仍然记录相关事件,例如DisableDeleteScheduleKey,选择记录写入管理事件,然后清除ExcludeAmazon KMS事件

    选择更新跟踪当你完成。

读取和写入事件

在配置您的跟踪以记录管理事件时,您可以指定是需要只读事件和/或只写事件还是均不需要。

  • Read

    只读事件包括将读取您的资源但不进行更改的 API 操作。例如,只读事件包括 Amazon EC2DescribeSecurityGroupsDescribeSubnetsAPI 操作。这些操作仅返回有关 Amazon EC2 资源的信息,但不更改您的配置。

  • 写入

    只写事件包括将修改(或可能修改)您的资源的 API 操作。例如,Amazon EC2RunInstancesTerminateInstancesAPI 操作将修改您的实例。

示例:记录单独跟踪的读取和写入事件

以下示例说明如何将跟踪配置为将账户的日志活动拆分到单独的 S3 存储桶中:一个存储桶接收只读事件,另一个存储桶接收只写事件。

  1. 您创建一个跟踪并选择一个名为 read-only-bucket 的 S3 存储桶来接收日志文件。然后,您更新跟踪以指定您需要Read管理事件。

  2. 您创建另一个跟踪并选择一个名为 write-only-bucket 的 S3 存储桶来接收日志文件。然后,您更新跟踪以指定您需要写入管理事件。

  3. Amazon EC2DescribeInstancesTerminateInstancesAPI 操作将在您的账户中执行。

  4. DescribeInstances API 操作是只读事件,它匹配第一个跟踪的设置。跟踪将记录事件并将事件传送到 read-only-bucket

  5. TerminateInstances API 操作是只写事件,它匹配第二个跟踪的设置。跟踪将记录事件并将事件传送到 write-only-bucket

使用记录事件Amazon命令行界面

您可以使用配置您的跟踪AmazonCLI。

要查看您的跟踪是否正在记录管理事件,请运行 get-event-selectors 命令。

aws cloudtrail get-event-selectors --trail-name TrailName

以下示例返回跟踪的默认设置。默认情况下,跟踪记录所有管理事件,记录所有事件源的事件,但不记录数据事件。

{ "EventSelectors": [ { "ExcludeManagementEventSources": [], "IncludeManagementEvents": true, "DataResources": [], "ReadWriteType": "All" } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName" }

要将跟踪配置为记录管理事件,请运行 put-event-selectors 命令。以下示例说明如何配置您的跟踪以包含两个 S3 对象的所有管理事件。您可以为一个跟踪指定 1 至 5 个事件选择器。您可以为一个跟踪指定 1 至 250 个数据资源。

注意

无论有多少个事件选择器,最多只能有 250 个 S3 数据资源。

aws cloudtrail put-event-selectors --trail-name TrailName --event-selectors '[{ "ReadWriteType": "All", "IncludeManagementEvents":true, "DataResources": [{ "Type": "AWS::S3::Object", "Values": ["arn:aws:s3:::mybucket/prefix", "arn:aws:s3:::mybucket2/prefix2"] }] }]'

以下示例返回为跟踪配置的事件选择器。

{ "EventSelectors": [ { "ExcludeManagementEventSources": [], "IncludeManagementEvents": true, "DataResources": [ { "Values": [ "arn:aws:s3:::mybucket/prefix", "arn:aws:s3:::mybucket2/prefix2", ], "Type": "AWS::S3::Object" } ], "ReadWriteType": "All" } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName" }

要从跟踪的日志中排除 Amazon Key Management Service (Amazon KMS) 事件,请运行 put-event-selectors 命令并添加值为 kms.amazonaws.comExcludeManagementEventSources 属性。以下示例为名为 TrailName 的跟踪创建事件选择器,以包括只读和只写管理事件,但排除 Amazon KMS 事件。由于 Amazon KMS 可以生成大量事件,因此此示例中的用户可能希望限制事件以管理跟踪的成本。在此版本中,您只能从事件源 kms.amazonaws.com 中排除事件。

aws cloudtrail put-event-selectors --trail-name TrailName --event-selectors '[{"ReadWriteType": "All","ExcludeManagementEventSources": ["kms.amazonaws.com"],"IncludeManagementEvents": true]}]'

以下示例返回为跟踪配置的事件选择器。

{ "EventSelectors": [ { "ExcludeManagementEventSources": [ "kms.amazonaws.com" ], "IncludeManagementEvents": true, "DataResources": [], "ReadWriteType": "All" } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName" }

要再次开始将 Amazon KMS 事件记录到跟踪,请传递一个空字符串作为 ExcludeManagementEventSources 的值,如以下命令中所示。

aws cloudtrail put-event-selectors --trail-name TrailName --event-selectors '[{"ReadWriteType": "All","ExcludeManagementEventSources": [],"IncludeManagementEvents": true]}]'

要将相关 Amazon KMS 事件记录到跟踪(如 DisableDeleteScheduleKey),并排除高量 Amazon KMS 事件(如 EncryptDecryptGenerateDataKey),请记录只写管理事件,并保留关于记录 Amazon KMS 事件的默认设置,如以下示例所示。

aws cloudtrail put-event-selectors --trail-name TrailName --event-selectors '[{"ReadWriteType": "WriteOnly","ExcludeManagementEventSources": [],"IncludeManagementEvents": true]}]'

使用记录事件Amazon开发工具包

使用 GetEventSelectors 操作以查看您的跟踪是否正在记录某个跟踪的管理事件。您可以配置您的跟踪以使用 PutEventSelectors 操作记录管理事件。有关详细信息,请参阅 Amazon CloudTrail API 参考

将事件发送到 Amazon CloudWatch Logs

CloudTrail 支持将数据和管理事件发送到 CloudWatch Logs。在配置您的跟踪以将事件发送到 CloudWatch Logs 日志组时,CloudTrail 只发送您在跟踪中指定的事件。例如,如果您将跟踪配置为仅记录管理事件,则您的跟踪仅将管理事件传送至您的 CloudWatch Logs 日志组。有关更多信息,请参阅 使用 Amazon CloudTrail ch Logs 监控 CloudWatch Logs 日志文件