记录网络活动事件 - AWS CloudTrail

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

记录网络活动事件

注意

网络活动事件处于预览版 CloudTrail ,可能会发生变化。

CloudTrail 网络活动事件使VPC端点所有者能够记录使用其VPC端点从私有VPC到的 AWS API呼叫 AWS 服务。网络活动事件可让您了解在网络中执行的资源操作VPC。例如,记录网络活动事件可以帮助VPC端点所有者检测组织外部的凭据何时尝试访问其VPC端点。

您可以记录以下服务的网络活动事件:

  • AWS CloudTrail

  • Amazon EC2

  • AWS KMS

  • AWS Secrets Manager

您可以配置跟踪和事件数据存储以记录网络活动事件。

默认情况下,跟踪和事件数据存储不记录网络活动事件。网络活动事件需支付额外费用。有关更多信息,请参阅AWS CloudTrail 定价

网络活动事件的高级事件选择器字段

您可以通过指定要记录其活动的事件源来配置高级事件选择器来记录网络活动事件。您可以使用 AWS SDKs、 AWS CLI或 CloudTrail 控制台配置高级事件选择器。

记录网络活动事件需要以下高级事件选择器字段:

  • eventCategory— 要记录网络活动事件,该值必须为NetworkActivityeventCategory只能使用Equals运算符。

  • eventSource— 您要记录其网络活动事件的事件源。 eventSource只能使用Equals运算符。如果要记录多个事件源的网络活动事件,则必须为每个事件源创建一个单独的字段选择器。

    有效值包括:

    • cloudtrail.amazonaws.com

    • ec2.amazonaws.com

    • kms.amazonaws.com

    • secretsmanager.amazonaws.com

以下高级事件选择器字段是可选的:

  • eventName— 您要筛选的请求操作。例如,CreateKeyListKeyseventName可以使用任何运算符。

  • errorCode— 您要筛选的请求的错误代码。当前,唯一有效errorCode的是VpceAccessDenied。只能将Equals运算符与一起使用errorCode

  • vpcEndpointId— 标识操作所经过的VPC端点。您可以将任何运算符与配合使用vpcEndpointId

创建跟踪或事件数据存储时,默认情况下不会记录网络活动事件。要记录 CloudTrail 网络活动事件,必须明确配置要为其收集活动的每个事件源。

记录网络活动事件需要支付额外费用。有关 CloudTrail 定价,请参阅AWS CloudTrail 定价

使用记录网络活动事件 AWS Management Console

您可以使用控制台更新现有的跟踪或事件数据存储以记录网络活动事件。

更新现有跟踪以记录网络活动事件

使用以下步骤更新现有跟踪以记录网络活动事件。

注意

记录网络活动事件需要支付额外费用。有关 CloudTrail 定价,请参阅 AWS CloudTrail 定价

  1. 登录 AWS Management Console 并打开 CloudTrail 控制台,网址为https://console.aws.amazon.com/cloudtrail/

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

  3. 网络活动事件中,选择编辑

    要记录网络活动事件,请执行以下步骤:

    1. 网络活动事件源中,选择网络活动事件的来源。

    2. Log selector template(日志选择器模板)中,选择一个模板。您可以选择记录所有网络活动事件、记录所有网络活动访问被拒绝的事件,或者选择 “自定义” 来构建自定义日志选择器以筛选多个字段,例如eventNamevpcEndpointId

    3. (可选)输入名称以标识选择器。选择器名称在高级事件选择器中列为名称,如果您展开视图,则可以JSON查看

    4. 高级事件选择器中,通过选择字段运算符和值的来构建表达式。如果您使用的是预定义日志模板,则可跳过此步骤。

      1. 要排除或包括网络活动事件,您可以从控制台中的以下字段中进行选择。

        • eventName— 您可以将任何运算符与配合使用eventName。您可以使用它来包含或排除任何事件,例如CreateKey

        • errorCode— 你可以用它来过滤错误代码。当前,唯一支持errorCode的是VpceAccessDenied

        • vpcEndpointId— 标识操作所经过的VPC端点。您可以将任何运算符与配合使用vpcEndpointId

      2. 对于每个字段,请选择 + 条件以根据需要添加任意数量的条件,所有条件总共可有最多 500 个指定值。

      3. 根据需要,选择 + Field(+ 字段)以添加其他字段。为了避免错误,请不要为字段设置冲突或重复的值。

    5. 要添加另一个要记录网络活动事件的事件源,请选择添加网络活动事件选择器

    6. (可选)展开JSON视图,将您的高级事件选择器视为一个JSON方块。

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

更新现有的事件数据存储以记录网络活动事件

使用以下过程更新现有的事件数据存储以记录网络活动事件。

注意

您只能在事件类型的事件数据存储中记录网络活动CloudTrail 事件

  1. 登录 AWS Management Console 并打开 CloudTrail 控制台,网址为https://console.aws.amazon.com/cloudtrail/

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

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

  4. 网络活动事件中,选择编辑

    要记录网络活动事件,请执行以下步骤:

    1. 网络活动事件源中,选择网络活动事件的来源。

    2. Log selector template(日志选择器模板)中,选择一个模板。您可以选择记录所有网络活动事件、记录所有网络活动访问被拒绝的事件,或者选择 “自定义” 来构建自定义日志选择器以筛选多个字段,例如eventNamevpcEndpointId

    3. (可选)输入名称以标识选择器。选择器名称在高级事件选择器中列为名称,如果您展开视图,则可以JSON查看

    4. 高级事件选择器中,通过选择字段运算符和值的来构建表达式。如果您使用的是预定义日志模板,则可跳过此步骤。

      1. 要排除或包括网络活动事件,您可以从控制台中的以下字段中进行选择。

        • eventName— 您可以将任何运算符与配合使用eventName。您可以使用它来包含或排除任何事件,例如CreateKey

        • errorCode— 你可以用它来过滤错误代码。当前,唯一支持errorCode的是VpceAccessDenied

        • vpcEndpointId— 标识操作所经过的VPC端点。您可以将任何运算符与配合使用vpcEndpointId

      2. 对于每个字段,请选择 + 条件以根据需要添加任意数量的条件,所有条件总共可有最多 500 个指定值。

      3. 根据需要,选择 + Field(+ 字段)以添加其他字段。为了避免错误,请不要为字段设置冲突或重复的值。

    5. 要添加另一个要记录网络活动事件的事件源,请选择添加网络活动事件选择器

    6. (可选)展开JSON视图,将您的高级事件选择器视为一个JSON方块。

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

使用记录网络活动事件 AWS Command Line Interface

您可以使用配置跟踪或事件数据存储以记录网络活动事件 AWS CLI。

示例:记录跟踪的网络活动事件

您可以使用配置跟踪以记录网络活动事件 AWS CLI。运行put-event-selectors命令为您的跟踪配置高级事件选择器。

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

示例:记录 CloudTrail 操作的网络活动事件

以下示例说明如何将跟踪配置为 CloudTrail API包含所有网络活动事件,例如CreateTrailCreateEventDataStore呼叫。该eventSource字段的值为cloudtrail.amazonaws.com

aws cloudtrail put-event-selectors / --trail-name TrailName / --region region / --advanced-event-selectors '[ { "Name": "Audit all CloudTrail API calls through VPC endpoints", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["NetworkActivity"] }, { "Field": "eventSource", "Equals": ["cloudtrail.amazonaws.com"] } ] } ]'

该命令将返回以下示例输出。

{ "TrailARN": "arn:aws:cloudtrail:us-east-1:111122223333:trail/TrailName", "AdvancedEventSelectors": [ { "Name": "Audit all CloudTrail API calls through VPC endpoints", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "NetworkActivity" ] }, { "Field": "eventSource", "Equals": [ "cloudtrail.amazonaws.com" ] } ] } ] }

示例:记录以下VpceAccessDenied项的事件 AWS KMS

以下示例说明如何将跟踪配置为包含VpceAccessDenied的事件 AWS KMS。此示例将errorCode字段设置为VpceAccessDenied事件,将eventSource字段设置为等于kms.amazonaws.com

aws cloudtrail put-event-selectors \ --region region / --trail-name TrailName / --advanced-event-selectors '[ { "Name": "Audit AccessDenied AWS KMS events through VPC endpoints", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["NetworkActivity"] }, { "Field": "eventSource", "Equals": ["kms.amazonaws.com"] }, { "Field": "errorCode", "Equals": ["VpceAccessDenied"] } ] } ]'

该命令将返回以下示例输出。

{ "TrailARN": "arn:aws:cloudtrail:us-east-1:111122223333:trail/TrailName", "AdvancedEventSelectors": [ { "Name": "Audit AccessDenied AWS KMS events through VPC endpoints", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "NetworkActivity" ] }, { "Field": "eventSource", "Equals": [ "kms.amazonaws.com" ] }, { "Field": "errorCode", "Equals": [ "VpceAccessDenied" ] } ] } ] }

示例:通过特定VPC端点记录EC2VpceAccessDenied事件

以下示例说明如何将您的跟踪配置为包含针对特定VPC终端节点的 Amazon VpceAccessDenied EC2 事件。此示例将errorCode字段设置为VpceAccessDenied事件,将eventSource字段设置为ec2.amazonaws.com.rproxy.goskope.comvpcEndpointId等于感兴趣的VPC端点。

aws cloudtrail put-event-selectors \ --region region / --trail-name TrailName / --advanced-event-selectors '[ { "Name": "Audit AccessDenied EC2 events over a specific VPC endpoint", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["NetworkActivity"] }, { "Field": "eventSource", "Equals": ["ec2.amazonaws.com"] }, { "Field": "errorCode", "Equals": ["VpceAccessDenied"] }, { "Field": "vpcEndpointId", "Equals": ["vpce-example8c1b6b9b7"] } ] } ]'

该命令将返回以下示例输出。

{ "TrailARN": "arn:aws:cloudtrail:us-east-1:111122223333:trail/TrailName", "AdvancedEventSelectors": [ { "Name": "Audit AccessDenied EC2 events over a specific VPC endpoint", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "NetworkActivity" ] }, { "Field": "eventSource", "Equals": [ "ec2.amazonaws.com" ] }, { "Field": "errorCode", "Equals": [ "VpceAccessDenied" ] }, { "Field": "vpcEndpointId", "Equals": [ "vpce-example8c1b6b9b7" ] } ] } ] }

示例:记录事件数据存储的网络活动事件

您可以使用配置事件数据存储以包含网络活动事件 AWS CLI。使用create-event-data-store命令创建新的事件数据存储以记录网络活动事件。使用 update-event-data-store 命令为现有事件数据存储更新高级事件选择器。

要查看您的事件数据存储是否包含网络活动事件,请运行get-event-data-store命令。

aws cloudtrail get-event-data-store --event-data-store EventDataStoreARN

示例:记录 CloudTrail 操作的所有网络活动事件

以下示例说明如何创建包含与 CloudTrail 操作相关的所有网络活动事件(例如对CreateTrail和的调用)的事件数据存储CreateEventDataStore。该eventSource字段的值设置为cloudtrail.amazonaws.com

aws cloudtrail create-event-data-store \ --name "EventDataStoreName" \ --advanced-event-selectors '[ { "Name": "Audit all CloudTrail API calls over VPC endpoint", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["NetworkActivity"] }, { "Field": "eventSource", "Equals": ["cloudtrail.amazonaws.com"] } ] } ]'

该命令将返回以下示例输出。

{ "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:111122223333:eventdatastore/EXAMPLE492-301f-4053-ac5e-EXAMPLE441aa", "Name": "EventDataStoreName", "Status": "ENABLED", "AdvancedEventSelectors": [ { "Name": "Audit all CloudTrail API calls over VPC endpoint", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "NetworkActivity" ] }, { "Field": "eventSource", "Equals": [ "cloudtrail.amazonaws.com" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "RetentionPeriod": 366, "TerminationProtectionEnabled": true, "CreatedTimestamp": "2024-05-20T21:00:17.673000+00:00", "UpdatedTimestamp": "2024-05-20T21:00:17.820000+00:00" }

示例:记录以下VpceAccessDenied项的事件 AWS KMS

以下示例说明如何创建事件数据存储以包含其中的VpceAccessDenied事件 AWS KMS。此示例将errorCode字段设置为VpceAccessDenied事件,将eventSource字段设置为等于kms.amazonaws.com

aws cloudtrail create-event-data-store \ --name EventDataStoreName \ --advanced-event-selectors '[ { "Name": "Audit AccessDenied AWS KMS events over VPC endpoints", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["NetworkActivity"] }, { "Field": "eventSource", "Equals": ["kms.amazonaws.com"] }, { "Field": "errorCode", "Equals": ["VpceAccessDenied"] } ] } ]'

该命令将返回以下示例输出。

{ "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:111122223333:eventdatastore/EXAMPLEb4a8-99b1-4ec2-9258-EXAMPLEc890", "Name": "EventDataStoreName", "Status": "CREATED", "AdvancedEventSelectors": [ { "Name": "Audit AccessDenied AWS KMS events over VPC endpoints", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "NetworkActivity" ] }, { "Field": "eventSource", "Equals": [ "kms.amazonaws.com" ] }, { "Field": "errorCode", "Equals": [ "VpceAccessDenied" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "RetentionPeriod": 366, "TerminationProtectionEnabled": true, "CreatedTimestamp": "2024-05-20T21:00:17.673000+00:00", "UpdatedTimestamp": "2024-05-20T21:00:17.820000+00:00" }

示例:通过特定VPC端点记录EC2VpceAccessDenied事件

以下示例说明如何创建事件数据存储以包含特定VPC终端节点EC2的 Amazon VpceAccessDenied 事件。此示例将errorCode字段设置为VpceAccessDenied事件,将eventSource字段设置为ec2.amazonaws.com.rproxy.goskope.comvpcEndpointId等于感兴趣的VPC端点。

aws cloudtrail create-event-data-store \ --name EventDataStoreName \ --advanced-event-selectors '[ { "Name": "Audit AccessDenied EC2 events over a specific VPC endpoint", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["NetworkActivity"] }, { "Field": "eventSource", "Equals": ["ec2.amazonaws.com"] }, { "Field": "errorCode", "Equals": ["VpceAccessDenied"] }, { "Field": "vpcEndpointId", "Equals": ["vpce-example8c1b6b9b7"] } ] } ]'

该命令将返回以下示例输出。

{ "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:111122223333:eventdatastore/EXAMPLEb4a8-99b1-4ec2-9258-EXAMPLEc890", "Name": "EventDataStoreName", "Status": "CREATED", "AdvancedEventSelectors": [ { "Name": "Audit AccessDenied EC2 events over a specific VPC endpoint", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "NetworkActivity" ] }, { "Field": "eventSource", "Equals": [ "ec2.amazonaws.com" ] }, { "Field": "errorCode", "Equals": [ "VpceAccessDenied" ] }, { "Field": "vpcEndpointId", "Equals": [ "vpce-example8c1b6b9b7" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "RetentionPeriod": 366, "TerminationProtectionEnabled": true, "CreatedTimestamp": "2024-05-20T21:00:17.673000+00:00", "UpdatedTimestamp": "2024-05-20T21:00:17.820000+00:00" }

使用记录事件 AWS SDKs

运行该GetEventSelectors操作以查看您的跟踪是否正在记录网络活动事件。您可以通过运行PutEventSelectors操作将跟踪配置为记录网络活动事件。有关更多信息,请参阅《AWS CloudTrail API参考》。

运行该GetEventDataStore操作以查看您的事件数据存储是否正在记录网络活动事件。通过运行CreateEventDataStoreUpdateEventDataStore操作并指定高级事件选择器,您可以将事件数据存储配置为包含网络活动事件。有关更多信息,请参阅使用创建、更新和管理事件数据存储 AWS CLI和参AWS CloudTrail API考