使用创建事件数据存储 AWS CLI - AWS CloudTrail

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

使用创建事件数据存储 AWS CLI

本节介绍如何使用 create-event-data-store 命令创建事件数据存储,并提供了可以创建的不同类型的事件数据存储的示例。

创建事件数据存储时,唯一需要的参数是 --name,它用于标识事件数据存储。您可以配置其他可选参数,包括:

  • --advanced-event-selectors - 指定要包括在事件数据存储中的事件的类型。默认情况下,事件数据存储会记录所有的管理事件。有关高级事件选择器的更多信息,请参阅 CloudTrail API 参考AdvancedEventSelector中的。

  • --kms-key-id-指定用于加密传送的事件的 KMS 密钥 ID CloudTrail。该值可以是前缀为 alias/ 的别名、别名的完全指定 ARN、密钥的完全指定 ARN 或全局唯一标识符。

  • --multi-region-enabled-创建多区域事件数据存储,用于记录您账户 AWS 区域 中所有人的事件。默认情况下,即使未添加参数,也会设置 --multi-region-enabled

  • --organization-enabled - 启用事件数据存储,以收集组织中所有账户的事件。默认情况下,不会为组织中的所有账户启用事件数据存储。

  • --billing-mode - 决定了摄取和存储事件的成本,以及事件数据存储的默认和最长保留期。

    有以下可能值:

    • EXTENDABLE_RETENTION_PRICING - 如果您每月摄取的事件数据少于 25TB,并且想要最长 3653 天(大约 10 年)的灵活保留期,则通常建议使用这种计费模式。此计费模式的默认保留期为 366 天。

    • FIXED_RETENTION_PRICING - 如果您希望每月摄取的事件数据大于 25TB,并且需要最长 2557 天(大约 7 年)的保留期,则建议采用此计费模式。此计费模式的默认保留期为 2557 天。

    默认值为 EXTENDABLE_RETENTION_PRICING

  • --retention-period - 事件在事件数据存储中保留的天数。如果 --billing-modeEXTENDABLE_RETENTION_PRICING,则有效值为介于 7 和 3653 之间的整数;如果 --billing-mode 设置为 FIXED_RETENTION_PRICING,则有效值为介于 7 和 2557 之间的整数。如果未指定--retention-period,则 CloudTrail 使用默认的保留期--billing-mode

  • --start-ingestion - --start-ingestion 参数在其被创建时在事件数据存储上开始事件摄取。即使未添加该参数,也会设置此参数。

    如果您不希望事件数据存储摄取实时事件,请指定 --no-start-ingestion。例如,如果您要将事件复制到事件数据存储中,并且仅计划使用事件数据存储来分析过去的事件,则可能要设置此参数。仅当 eventCategoryManagementDataConfigurationItem 时,--no-start-ingestion 参数才有效。

以下示例演示了如何创建不同类型的事件数据存储。

使用 S3 数据事件创建事件数据存储 AWS CLI

以下示例 AWS Command Line Interface (AWS CLI) create-event-data-store 命令创建一个名为的事件数据存储my-event-data-store,该存储选择所有 Amazon S3 数据事件,并使用 KMS 密钥进行加密。

aws cloudtrail create-event-data-store \ --name my-event-data-store \ --kms-key-id "arn:aws:kms:us-east-1:123456789012:alias/KMS_key_alias" \ --advanced-event-selectors '[ { "Name": "Select all S3 data events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::S3::Object"] }, { "Field": "resources.ARN", "StartsWith": ["arn:aws:s3"] } ] } ]'

以下为响应示例。

{ "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-ee54-4813-92d5-999aeEXAMPLE", "Name": "my-event-data-store", "Status": "CREATED", "AdvancedEventSelectors": [ { "Name": "Select all S3 data events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "resources.type", "Equals": [ "AWS::S3::Object" ] }, { "Field": "resources.ARN", "StartsWith": [ "arn:aws:s3" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "BillingMode": "EXTENDABLE_RETENTION_PRICING", "RetentionPeriod": 366, "KmsKeyId": "arn:aws:kms:us-east-1:123456789012:alias/KMS_key_alias", "TerminationProtectionEnabled": true, "CreatedTimestamp": "2023-11-09T22:19:39.417000-05:00", "UpdatedTimestamp": "2023-11-09T22:19:39.603000-05:00" }

使用 KMS 网络活动事件创建事件数据存储 AWS CLI

以下示例说明如何创建事件数据存储以包含的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 a VPC endpoint", "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 a VPC endpoint", "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" }

有关网络活动事件的更多信息,请参阅记录网络活动事件

使用为 AWS Config 配置项目创建事件数据存储 AWS CLI

以下示例 AWS CLI create-event-data-store命令创建一个名为的事件数据存储库config-items-eds,用于选择 AWS Config 配置项目。要收集配置项目,请在高级事件选择器中指定 eventCategory 字段等于 ConfigurationItem

aws cloudtrail create-event-data-store \ --name config-items-eds \ --advanced-event-selectors '[ { "Name": "Select AWS Config configuration items", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["ConfigurationItem"] } ] } ]'

以下为响应示例。

{ "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-ee54-4813-92d5-999aeEXAMPLE", "Name": "config-items-eds", "Status": "CREATED", "AdvancedEventSelectors": [ { "Name": "Select AWS Config configuration items", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "ConfigurationItem" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "BillingMode": "EXTENDABLE_RETENTION_PRICING", "RetentionPeriod": 366, "TerminationProtectionEnabled": true, "CreatedTimestamp": "2023-11-07T19:03:24.277000+00:00", "UpdatedTimestamp": "2023-11-07T19:03:24.468000+00:00" }

使用为管理事件创建组织事件数据存储 AWS CLI

以下示例 AWS CLI create-event-data-store命令创建一个组织事件数据存储库,用于收集所有管理事件并将--billing-mode参数设置为FIXED_RETENTION_PRICING

aws cloudtrail create-event-data-store --name org-management-eds --organization-enabled --billing-mode FIXED_RETENTION_PRICING

以下为响应示例。

{ "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE6-d493-4914-9182-e52a7934b207", "Name": "org-management-eds", "Status": "CREATED", "AdvancedEventSelectors": [ { "Name": "Default management events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Management" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": true, "BillingMode": "FIXED_RETENTION_PRICING", "RetentionPeriod": 2557, "TerminationProtectionEnabled": true, "CreatedTimestamp": "2023-11-16T15:30:50.689000+00:00", "UpdatedTimestamp": "2023-11-16T15:30:50.851000+00:00" }

使用 Insights 事件创建事件数据存储 AWS CLI

要在 L CloudTrail ake 中记录 Insights 事件,您需要一个收集 Insights 事件的目标事件数据存储和一个启用 Insights 并记录管理事件的源事件数据存储。

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

  1. 运行 aws cloudtrail create-event-data-store 命令创建收集 Insights 事件的目标事件数据存储。eventCategory 的值必须为 Insightretention-period-days替换为您希望在事件数据存储中保留事件的天数。如果 --billing-modeEXTENDABLE_RETENTION_PRICING,则有效值为介于 7 和 3653 之间的整数;如果 --billing-mode 设置为 FIXED_RETENTION_PRICING,则有效值为介于 7 和 2557 之间的整数。如果未指定--retention-period,则 CloudTrail 使用默认的保留期--billing-mode

    如果您使用 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-05-08T15:22:33.578000+00:00", "UpdatedTimestamp": "2023-05-08T15:22:33.714000+00:00" }

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

  2. 请运行 aws cloudtrail create-event-data-store 命令以创建记录管理事件的源事件数据存储。默认情况下,事件数据存储会记录所有的管理事件。您无需指定任何高级事件选择器即可记录所有管理事件。retention-period-days替换为您希望在事件数据存储中保留事件的天数。如果 --billing-modeEXTENDABLE_RETENTION_PRICING,则有效值为介于 7 和 3653 之间的整数;如果 --billing-mode 设置为 FIXED_RETENTION_PRICING,则有效值为介于 7 和 2557 之间的整数。如果未指定--retention-period,则 CloudTrail 使用默认的保留期--billing-mode。如果您正在创建组织事件数据存储,请包括 --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-05-08T15:25:35.578000+00:00", "UpdatedTimestamp": "2023-05-08T15:25:35.714000+00:00" }

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

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

    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 后,最多 CloudTrail 可能需要 7 天才能开始交付 Insights 事件,前提是在此期间检测到异常活动。

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

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

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