使用创建事件数据存储 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" }

使用为 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 的值必须为 Insight。Replace(替换) retention-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" }

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

  2. 请运行 aws cloudtrail create-event-data-store 命令以创建记录管理事件的源事件数据存储。默认情况下,事件数据存储会记录所有的管理事件。您无需指定任何高级事件选择器即可记录所有管理事件。Replace(替换) 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" }

    在步骤 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 定价