记录 Insights 事件 - AWS CloudTrail

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

记录 Insights 事件

AWS CloudTrail Insights 通过持续分析 CloudTrail 管理事件,帮助 AWS 用户识别和响应与API呼叫和API错误率相关的异常活动。 CloudTrail Insights 会分析您的正常API通话量和API错误率模式(也称为基线),并在呼叫量或错误率超出正常模式时生成 Insights 事件。为管理层生成有关API呼叫量的 Insights 事件APIs,为write管理层生成有关API错误率的 Insights 事件APIs。read write

注意

要按API呼叫量记录 Insights 事件,跟踪或事件数据存储必须记录write管理事件。要按API错误率记录 Insights 事件,跟踪或事件数据存储必须记录readwrite管理事件。

CloudTrail Insights 分析发生在单个区域(而不是全球区域)的管理事件。 CloudTrail Insights 事件是在生成其支持管理事件的同一区域生成的。

将对 Insights 事件收取额外费用。如果您同时为跟踪和事件数据存储启用 Insights,则需要单独付费。有关更多信息,请参阅AWS CloudTrail 定价

了解 Insights 事件传输情况

与其他 CloudTrail 捕获类型的事件不同,Insights 事件仅在 CloudTrail 检测到与账户的典型API使用模式明显不同时才会被记录。

在何处 CloudTrail 交付事件以及接收 Insights 事件所需的时间因跟踪和事件数据存储而异。

跟踪的 Insights 事件传输

如果您已在跟踪上启用 Insights 事件并 CloudTrail 检测到异常活动,则会将 Insigh CloudTrail ts 事件传送到您的跟踪所选目标 S3 存储桶中的/CloudTrail-Insight文件夹。首次在跟踪中启用 CloudTrail Insights 后,如果检测到异常活动,则最长可能需要 36 小时 CloudTrail 才能交付第一个 Insights 事件。

如果您关闭 Insights 事件记录跟踪然后重新启用 Insights 事件,或者停止并重新启动跟踪的日志记录,则如果检测到异常活动,则可能需要长达 36 小时 CloudTrail 才能重新启动 Insights 事件的交付。

事件数据存储的 Insights 事件传输

如果您已在源事件数据存储上启用 Insights 事件,则会将 Insigh CloudTrail ts 事件传送到目标事件数据存储。首次在源事件数据存储上启用 CloudTrail Insights 后,如果检测到异常活动,则最多可能需要 7 天才能 CloudTrail 将第一个 Insights 事件传送到目标事件数据存储。

如果您关闭源事件数据存储上的 Insights 事件记录,然后重新启用 Insights 事件,或者在源事件数据存储上停止并重新启动事件摄取,则如果检测到异常活动,则最多可能需要 7 天 CloudTrail 才能重新启动 Insights 事件的交付。在 Lake 中 CloudTrail 收取 Insights 事件需要支付额外费用。如果您同时为跟踪和事件数据存储启用 Insights,则需要单独付费。有关 CloudTrail 定价的信息,请参阅AWS CloudTrail 定价

使用 “记录 Insights” 事件 AWS Management Console

您可以使用控制台在跟踪或事件数据存储上启用 Insights 事件。

在现有跟踪上启用 CloudTrail Insights 事件

使用以下步骤在现有跟踪上启用 CloudTrail Insights 事件。默认情况下,不启用 Insights 事件。

  1. 在 CloudTrail 控制台的左侧导航窗格中,打开 T rail s 页面,然后选择一个跟踪名称。

  2. Insights events(Insights 事件)中,选择 Edit(编辑)。

    注意

    记录 Insights 事件将收取额外费用。有关 CloudTrail 定价,请参阅AWS CloudTrail 定价

  3. Event type(事件类型)中,选择 Insights events(Insights 事件)。

  4. Insights 事件“选择见解类型” 下,选择API呼叫率API错误率或两者兼而有之。您的跟踪必须记录写入管理事件才能记录API通话费率的 Insights 事件。您的跟踪必须记录读取写入管理事件才能记录 Insights 事件以API确定错误率

  5. 选择保存更改以保存您的更改。

如果检测到异常活动,则最长可能需要 36 小时 CloudTrail 才能交付第一个 Insights 事件。

在现有事件数据存储上启用 CloudTrail Insights 事件

使用以下步骤在现有事件数据存储上启用 CloudTrail Insights 事件。默认情况下,不启用 Insights 事件。

在 Lake 中 CloudTrail 收取 Insights 事件需要支付额外费用。如果您同时为跟踪和事件数据存储启用 Insights,则需要单独付费。有关 CloudTrail 定价的信息,请参阅AWS CloudTrail 定价

注意

您只能在包含 CloudTrail 管理事件的事件数据存储上启用 CloudTrail Insights 事件。您无法在其他事件数据存储类型上启用 CloudTrail Insights 事件。

  1. 在 CloudTrail 控制台左侧导航窗格的 Lake 下,选择事件数据存储

  2. 选择事件数据存储名称。

  3. 管理事件中,选择编辑

  4. 选择启用 Insights

  5. 选择 CloudTrail 将在其中提供 Insights 事件的目标事件数据存储。目标事件数据存储将根据该事件数据存储中的管理事件活动收集 Insights 事件。有关如何创建目标事件数据存储的信息,请参阅 要创建记录 Insights 事件的目标事件数据存储

  6. “选择见解类型” 下,选择API通话率API错误率或两者兼而有之。您的事件数据存储必须记录写入管理事件才能记录API通话费率的 Insights 事件。您的事件数据存储必须记录读取写入管理事件才能记录 Insights 事件以API确定错误率

  7. 选择保存更改以保存您的更改。

如果检测到异常活动,则最长可能需要 7 天 CloudTrail 才能交付第一个 Insights 事件。

使用 “记录 Insights” 事件 AWS Command Line Interface

您可以使用 AWS CLI配置跟踪和事件数据存储以记录 Insights 事件。

注意

要按API呼叫量记录 Insights 事件,跟踪或事件数据存储必须记录write管理事件。要按API错误率记录 Insights 事件,跟踪或事件数据存储必须记录readwrite管理事件。

使用记录跟踪的 Insights 事件 AWS CLI

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

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

以下结果显示跟踪的默认设置。默认情况下,跟踪记录不记录 Insights 事件。InsightType 属性值为空,并且未指定 Insights 事件选择器,因为未启用见解事件收集。

如果您未添加 Insights 选择器,则该get-insight-selectors命令将返回以下错误消息:“调用 GetInsightSelectors 操作时出现错误 (InsightNotEnabledException):Trail name 未启用见解。Edit the trail settings to enable Insights, and then try the operation again.”

{ "InsightSelectors": [ ], "TrailARN": "arn:aws:cloudtrail:us-east-1:123456789012:trail/TrailName" }

要将跟踪配置为记录 Insights 事件,请运行 put-insight-selectors 命令。以下示例说明如何配置跟踪以包含 Insights 事件。Insights 选择器值可以是 ApiCallRateInsight 和/或 ApiErrorRateInsight

aws cloudtrail put-insight-selectors --trail-name TrailName --insight-selectors '[{"InsightType": "ApiCallRateInsight"},{"InsightType": "ApiErrorRateInsight"}]'

以下结果显示为跟踪配置的 Insights 事件选择器。

{ "InsightSelectors": [ { "InsightType": "ApiErrorRateInsight" }, { "InsightType": "ApiCallRateInsight" } ], "TrailARN": "arn:aws:cloudtrail:us-east-1:123456789012:trail/TrailName" }

使用记录事件数据存储的 Insights 事件 AWS CLI

要在事件数据存储上启用 Insights,必须有一个用于记录管理事件的源事件数据存储和一个用于记录 Insights 事件的目标事件数据存储。

要查看事件数据存储上是否启用了 Insights 事件,请运行 get-insight-selectors 命令。

aws cloudtrail get-insight-selectors --event-data-store arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE

要查看事件数据存储是否被配置为接收 Insights 事件或管理事件,请运行 get-event-data-store 命令。

aws cloudtrail get-event-data-store --event-data-store arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-d483-5c7d-4ac2-adb5dEXAMPLE

以下过程向您展示如何创建目标和源事件数据存储,然后启用 Insights 事件。

  1. 运行 aws cloudtrail create-event-data-store 命令创建收集 Insights 事件的目标事件数据存储。eventCategory 的值必须为 Insight。Replace(替换) retention-period-days 以及您希望在事件数据存储中保留事件的天数。

    如果您使用 AWS Organizations 组织的管理账户登录,则如果要向委派的管理员授予对事件数据存储的访问权限,请添加--organization-enabled参数。

    aws cloudtrail create-event-data-store \ --name insights-event-data-store \ --no-multi-region-enabled \ --retention-period retention-period-days \ --advanced-event-selectors '[ { "Name": "Select Insights events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Insight"] } ] } ]'

    以下为响应示例。

    { "Name": "insights-event-data-store", "ARN": "arn:aws:cloudtrail:us-east-1:111122223333:eventdatastore/EXAMPLEf852-4e8f-8bd1-bcf6cEXAMPLE", "AdvancedEventSelectors": [ { "Name": "Select Insights events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Insight" ] } ] } ], "MultiRegionEnabled": false, "OrganizationEnabled": false, "BillingMode": "EXTENDABLE_RETENTION_PRICING", "RetentionPeriod": "90", "TerminationProtectionEnabled": true, "CreatedTimestamp": "2023-11-08T15:22:33.578000+00:00", "UpdatedTimestamp": "2023-11-08T15:22:33.714000+00:00" }

    在步骤 3 中,您将使用响应中的ARN(或 ID 后缀ARN)作为--insights-destination参数的值。

  2. 请运行 aws cloudtrail create-event-data-store 命令以创建记录管理事件的源事件数据存储。默认情况下,事件数据存储会记录所有的管理事件。您无需指定任何高级事件选择器即可记录所有管理事件。Replace(替换) retention-period-days 以及您希望在事件数据存储中保留事件的天数。如果您正在创建组织事件数据存储,请包括 --organization-enabled 参数。

    aws cloudtrail create-event-data-store --name source-event-data-store --retention-period retention-period-days

    以下为响应示例。

    { "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:111122223333:eventdatastore/EXAMPLE9952-4ab9-49c0-b788-f4f3EXAMPLE", "Name": "source-event-data-store", "Status": "CREATED", "AdvancedEventSelectors": [ { "Name": "Default management events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Management" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "BillingMode": "EXTENDABLE_RETENTION_PRICING", "RetentionPeriod": 90, "TerminationProtectionEnabled": true, "CreatedTimestamp": "2023-11-08T15:25:35.578000+00:00", "UpdatedTimestamp": "2023-11-08T15:25:35.714000+00:00" }

    在步骤 3 中,您将使用响应中的ARN(或 ID 后缀ARN)作为--event-data-store参数的值。

  3. 请运行 put-insight-selectors 命令以启用 Insights 事件。Insights 选择器值可以是 ApiCallRateInsight 和/或 ApiErrorRateInsight。对于--event-data-store参数,请指定用于记录管理事件并启用 Insights 的源事件数据存储的ARN(或 ID 后缀ARN)。对于--insights-destination参数,请指定用于记录 Insights 事件的目标事件数据存储的ARN(或 ID 后缀ARN)。

    aws cloudtrail put-insight-selectors --event-data-store arn:aws:cloudtrail:us-east-1:111122223333:eventdatastore/EXAMPLE9952-4ab9-49c0-b788-f4f3EXAMPLE --insights-destination arn:aws:cloudtrail:us-east-1:111122223333:eventdatastore/EXAMPLEf852-4e8f-8bd1-bcf6cEXAMPLE --insight-selectors '[{"InsightType": "ApiCallRateInsight"},{"InsightType": "ApiErrorRateInsight"}]'

    以下结果显示为事件数据存储配置的 Insights 事件选择器。

    { "EventDataStoreARN": "arn:aws:cloudtrail:us-east-1:111122223333:eventdatastore/EXAMPLE9952-4ab9-49c0-b788-f4f3EXAMPLE", "InsightsDestination": "arn:aws:cloudtrail:us-east-1:111122223333:eventdatastore/EXAMPLEf852-4e8f-8bd1-bcf6cEXAMPLE", "InsightSelectors": [ { "InsightType": "ApiErrorRateInsight" }, { "InsightType": "ApiCallRateInsight" } ] }

    首次在事件数据存储上启用 CloudTrail Insights 后,如果检测到异常活动,则最长可能需要 7 天 CloudTrail 才能交付第一个 Insights 事件。

    CloudTrail Insights 分析发生在单个区域(而不是全球区域)的管理事件。 CloudTrail Insights 事件是在生成其支持管理事件的同一区域生成的。

    对于组织事件数据存储, CloudTrail 分析来自每个成员账户的管理事件,而不是分析组织所有管理事件的聚合。

在 Lake 中 CloudTrail 收取 Insights 事件需要支付额外费用。如果您同时为跟踪和事件数据存储启用 Insights,则需要单独付费。有关 CloudTrail 定价的信息,请参阅AWS CloudTrail 定价

使用 “记录 Insights” 事件 AWS SDKs

运行该GetInsightSelectors操作以查看您的跟踪或事件数据存储是否启用 Insights 事件。您可以配置您的跟踪或事件数据存储,以便通过PutInsightSelectors操作启用 Insights 事件。有关更多信息,请参阅《AWS CloudTrail API参考》。