使用创建、更新和管理事件数据存储 Amazon CLI - Amazon CloudTrail
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用创建、更新和管理事件数据存储 Amazon CLI

您可以使用 Amazon CLI 来创建、更新和管理您的事件数据存储。使用时 Amazon CLI,请记住您的命令在 Amazon Web Services 区域 配置文件中运行。如果您想要在不同的区域中运行命令,可以为配置文件更改默认区域,或者与命令一起使用 --region 参数。

事件数据存储的可用命令

用于在 La CloudTrail ke 中创建和更新事件数据存储的命令包括:

有关可用于 La CloudTrail ke 查询的命令列表,请参阅可用于 L CloudTrail ake 查询的命令

有关 La CloudTrail ke 集成的可用命令列表,请参阅L CloudTrail ake 集成的可用命令

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

使用 create-event-data-store 命令创建事件数据存储。

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

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

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

  • --multi-region-enabled-创建多区域事件数据存储,用于记录您账户 Amazon Web Services 区域 中所有人的事件。默认情况下,即使未添加参数,也会设置 --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 数据事件创建事件数据存储 Amazon CLI

以下示例 Amazon Command Line Interface (Amazon 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" }

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

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

aws cloudtrail create-event-data-store \ --name config-items-eds \ --advanced-event-selectors '[ { "Name": "Select Amazon 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 Amazon 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" }

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

以下示例 Amazon 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 事件创建事件数据存储 Amazon 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

    如果您使用 Amazon 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 后,如果检测到异常活动,则最长可能需要 7 天 CloudTrail 才能交付第一个 Insights 事件。

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

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

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

使用将跟踪事件导入到事件数据存储中 Amazon CLI

在中 Amazon CLI,您可以将跟踪事件导入到事件数据存储中。本部分中的过程演示如何通过运行 create-event-data-store 命令来创建和配置事件数据存储,然后使用 start-import 命令将事件导入该事件数据存储。有关导入跟踪事件的更多信息,包括有关注意事项和所需权限的信息,请参阅 将跟踪事件复制到事件数据存储

正在准备导入跟踪事件

在导入跟踪事件之前,请做好以下准备工作。

  • 确保您的角色具有将跟踪事件导入事件数据存储的所需权限

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

    将跟踪事件导入 CloudTrail Lake 时, CloudTrail 解压缩以 gzip(压缩)格式存储的日志。然后 CloudTrail 将日志中包含的事件复制到您的事件数据存储中。未压缩数据的大小可能大于 Amazon S3 的实际存储大小。要对未压缩数据的大小进行总体估计,将 S3 存储桶中日志的大小乘以 10。您可以使用此估算值为您的应用场景选择 --billing-mode 值。

  • 确定您要为 --retention-period 指定的值。 CloudTrail 如果事件早于指定的保留期eventTime,则不会复制该事件。

    要确定适当的保留期,请计算要复制的最早事件(以天为单位)和要将事件在事件数据存储中保留的天数之和,如以下公式所示:

    保留期限 = oldest-event-in-days+ number-days-to-retain

    例如,如果您要复制的最早事件已有 45 天,并且您想将事件在事件数据存储中再保留 45 天,则可以将保留期设置为 90 天。

  • 决定是否要使用事件数据存储来分析任何未来的事件。如果您不想摄取任何未来事件,请在创建事件数据存储时包含 --no-start-ingestion 参数。默认情况下,事件数据存储会在创建事件时开始摄取事件。

要创建事件数据存储并将跟踪事件导入该事件数据存储

  1. 运行 create-event-data-store 命令以创建新的事件数据存储。在此示例中,--retention-period 被设置为 120 是因为要复制的最早事件已有 90 天了,且我们希望将这些事件保留 30 天。之所以设置 --no-start-ingestion 参数,是因为我们不想摄取任何未来事件。在此示例中,--billing-mode 未设置,是因为我们使用的是默认值 EXTENDABLE_RETENTION_PRICING,因为我们预计摄取的事件数据少于 25TB。

    注意

    如果您正在创建事件数据存储来替换跟踪,我们建议将 --advanced-event-selectors 配置为与您的跟踪的事件选择器相匹配,以确保事件覆盖范围相同。默认情况下,事件数据存储会记录所有的管理事件。

    aws cloudtrail create-event-data-store --name import-trail-eds --retention-period 120 --no-start-ingestion

    以下为响应示例:

    { "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLEa-4357-45cd-bce5-17ec652719d9", "Name": "import-trail-eds", "Status": "CREATED", "AdvancedEventSelectors": [ { "Name": "Default management events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Management" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "BillingMode": "EXTENDABLE_RETENTION_PRICING", "RetentionPeriod": 120, "TerminationProtectionEnabled": true, "CreatedTimestamp": "2023-11-09T16:52:25.444000+00:00", "UpdatedTimestamp": "2023-11-09T16:52:25.569000+00:00" }

    初始 StatusCREATED,因此我们将运行 get-event-data-store 命令来验证摄取是否已停止。

    aws cloudtrail get-event-data-store --event-data-store eds-id

    响应显示 Status 现在为 STOPPED_INGESTION,这表明事件数据存储未摄取实时事件。

    { "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLEa-4357-45cd-bce5-17ec652719d9", "Name": "import-trail-eds", "Status": "STOPPED_INGESTION", "AdvancedEventSelectors": [ { "Name": "Default management events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Management" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "BillingMode": "EXTENDABLE_RETENTION_PRICING", "RetentionPeriod": 120, "TerminationProtectionEnabled": true, "CreatedTimestamp": "2023-11-09T16:52:25.444000+00:00", "UpdatedTimestamp": "2023-11-09T16:52:25.569000+00:00" }
  2. 运行 start-import 命令以将跟踪事件导入步骤 1 中创建的事件数据存储。将事件数据存储的 ARN(或 ARN 的 ID 后缀)指定为 --destinations 参数的值。对于 --start-event-time,请为要复制的最早的事件指定 eventTime,对于 --end-event-time,请指定要复制的最新事件的 eventTime。为包含您的跟踪日志的 S3 存储桶--import-source指定 S3 URI、S3 存储桶的,以及用于导入跟踪事件的角色的 ARN。 Amazon Web Services 区域

    aws cloudtrail start-import \ --destinations ["arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLEa-4357-45cd-bce5-17ec652719d9"] \ --start-event-time 2023-08-11T16:08:12.934000+00:00 \ --end-event-time 2023-11-09T17:08:20.705000+00:00 \ --import-source {"S3": {"S3LocationUri": "s3://aws-cloudtrail-logs-123456789012-612ff1f6/AWSLogs/123456789012/CloudTrail/","S3BucketRegion":"us-east-1","S3BucketAccessRoleArn": "arn:aws:iam::123456789012:role/service-role/CloudTrailLake-us-east-1-copy-events-eds"}}

    以下为响应示例。

    { "CreatedTimestamp": "2023-11-09T17:08:20.705000+00:00", "Destinations": [ "arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLEa-4357-45cd-bce5-17ec652719d9" ], "EndEventTime": "2023-11-09T17:08:20.705000+00:00", "ImportId": "EXAMPLEe-7be2-4658-9204-b38c3257fcd1", "ImportSource": { "S3": { "S3BucketAccessRoleArn": "arn:aws:iam::123456789012:role/service-role/CloudTrailLake-us-east-1-copy-events-eds", "S3BucketRegion":"us-east-1", "S3LocationUri": "s3://aws-cloudtrail-logs-123456789012-111ff1f6/AWSLogs/123456789012/CloudTrail/" } }, "ImportStatus": "INITIALIZING", "StartEventTime": "2023-08-11T16:08:12.934000+00:00", "UpdatedTimestamp": "2023-11-09T17:08:20.806000+00:00" }
  3. 运行 get-import 命令以获取有关导入的信息。

    aws cloudtrail get-import --import-id import-id

    以下为响应示例。

    { "ImportId": "EXAMPLEe-7be2-4658-9204-b38c3EXAMPLE", "Destinations": [ "arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLEa-4357-45cd-bce5-17ec652719d9" ], "ImportSource": { "S3": { "S3LocationUri": "s3://aws-cloudtrail-logs-123456789012-111ff1f6/AWSLogs/123456789012/CloudTrail/", "S3BucketRegion":"us-east-1", "S3BucketAccessRoleArn": "arn:aws:iam::123456789012:role/service-role/CloudTrailLake-us-east-1-copy-events-eds" } }, "StartEventTime": "2023-08-11T16:08:12.934000+00:00", "EndEventTime": "2023-11-09T17:08:20.705000+00:00", "ImportStatus": "COMPLETED", "CreatedTimestamp": "2023-11-09T17:08:20.705000+00:00", "ImportStatistics": { "PrefixesFound": 1548, "PrefixesCompleted": 1548, "FilesCompleted": 92845, "EventsCompleted": 577249, "FailedEntries": 0 } }

    如果没有故障,导入完成时 ImportStatus 显示为 COMPLETED,如果出现故障,则会显示 FAILED

    如果导入具有 FailedEntries,则可以运行 list-import-failures 命令以返回失败列表。

    aws cloudtrail list-import-failures --import-id import-id

    要重试失败的导入,请仅使用 --import-id 参数运行 start-import 命令。重试导入时,将在出现故障的位置 CloudTrail 恢复导入。

    aws cloudtrail start-import --import-id import-id

使用获取事件数据存储 Amazon CLI

以下示例 Amazon CLI get-event-data-store命令返回有关由必需--event-data-store参数指定的事件数据存储的信息,该参数接受 ARN 或 ARN 的 ID 后缀。

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

以下为响应示例。创建时间和上次更新时间采用 timestamp 格式。

{ "EventDataStoreARN": "arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE", "Name": "s3-data-events-eds", "Status": "ENABLED", "AdvancedEventSelectors": [ { "Name": "Log DeleteObject API calls for a specific S3 bucket", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "eventName", "Equals": [ "DeleteObject" ] }, { "Field": "resources.ARN", "StartsWith": [ "arn:aws:s3:::bucketName" ] }, { "Field": "readOnly", "Equals": [ "false" ] }, { "Field": "resources.type", "Equals": [ "AWS::S3::Object" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "BillingMode": "FIXED_RETENTION_PRICING", "RetentionPeriod": 2557, "TerminationProtectionEnabled": true, "CreatedTimestamp": "2023-11-09T22:20:36.344000+00:00", "UpdatedTimestamp": "2023-11-09T22:20:36.476000+00:00" }

列出账户中存储的所有事件数据 Amazon CLI

以下示例 Amazon CLI list-event-data-stores命令返回有关当前区域中账户中存储的所有事件数据的信息。可选参数包括 --max-results,以指定希望在单个页面上通过命令返回的最大结果数。如果结果数超过指定的 --max-results 值,请再次运行命令,添加返回的 NextToken 值来获取下一页的结果。

aws cloudtrail list-event-data-stores

以下为响应示例。

{ "EventDataStores": [ { "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE7-cad6-4357-a84b-318f9868e969", "Name": "management-events-eds" }, { "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE6-88e1-43b7-b066-9c046b4fd47a", "Name": "config-items-eds" }, { "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLEf-b314-4c85-964e-3e43b1e8c3b4", "Name": "s3-data-events" } ] }

使用更新事件数据存储 Amazon CLI

以下示例演示如何更新事件数据存储。

使用更新计费模式 Amazon CLI

事件数据存储的 --billing-mode 决定了摄取和存储事件的成本,以及事件数据存储的默认和最长保留期。如果事件数据存储的 --billing-mode 设置为 FIXED_RETENTION_PRICING,则可以将该值更改为 EXTENDABLE_RETENTION_PRICING。如果您的事件数据存储每月摄取的事件数据少于 25TB,并且您希望采用最多 3653 天的灵活保留期,则通常建议使用 EXTENDABLE_RETENTION_PRICING。有关定价的信息,请参阅 Amazon CloudTrail 定价管理 CloudTrail 湖泊成本

注意

您不能将 --billing-mode 值从 EXTENDABLE_RETENTION_PRICING 更改为 FIXED_RETENTION_PRICING。如果事件数据存储的计费模式设置为 EXTENDABLE_RETENTION_PRICING,且您想改用 FIXED_RETENTION_PRICING,则可以停止对事件数据存储的摄取,并创建一个使用 FIXED_RETENTION_PRICING 的新事件数据存储。

以下示例 Amazon CLI update-event-data-store命令将事件数据存储--billing-mode的命令从更改FIXED_RETENTION_PRICINGEXTENDABLE_RETENTION_PRICING。必要的 --event-data-store 参数值是 ARN(或 ARN 的 ID 后缀),且是必填项;其它参数是可选项。

aws cloudtrail update-event-data-store \ --region us-east-1 \ --event-data-store arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE \ --billing-mode EXTENDABLE_RETENTION_PRICING

以下为响应示例。

{ "EventDataStoreArn": "event-data-store arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE", "Name": "management-events-eds", "Status": "ENABLED", "AdvancedEventSelectors": [ { "Name": "Default management events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Management" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "BillingMode": "EXTENDABLE_RETENTION_PRICING", "RetentionPeriod": 2557, "TerminationProtectionEnabled": true, "CreatedTimestamp": "2023-10-27T10:55:55.384000-04:00", "UpdatedTimestamp": "2023-10-27T10:57:05.549000-04:00" }

更新保留模式,启用终止保护,然后 Amazon KMS key 使用指定 Amazon CLI

以下示例 Amazon CLI update-event-data-store命令更新事件数据存储以将其保留期更改为 100 天,并启用终止保护。必要的 --event-data-store 参数值是 ARN(或 ARN 的 ID 后缀),且是必填项;其它参数是可选项。在此示例中,添加了 --retention-period 参数,以将保留期限更改为 100 天。或者,您可以选择启用 Amazon Key Management Service 加密并 Amazon KMS key 通过在命令中添加并--kms-key-id指定 KMS 密钥 ARN 作为值来指定。 --termination-protection-enabled添加是为了在未启用终止保护的事件数据存储上启用终止保护。

Amazon 无法更新记录外部事件的事件数据存储以记录 Amazon 事件。同样,记录 Amazon 事件的事件数据存储不能更新为从外部记录事件 Amazon。

注意

如果您缩短了事件数据存储的保留期,则 CloudTrail 会删除所有保留期eventTime早于新保留期的事件。例如,如果之前的保留期为 365 天,而您将其缩短为 100 天,则 CloudTrail 会移除eventTime超过 100 天的事件。

aws cloudtrail update-event-data-store \ --event-data-store arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE \ --retention-period 100 \ --kms-key-id "arn:aws:kms:us-east-1:0123456789:alias/KMS_key_alias" \ --termination-protection-enabled

以下为响应示例。

{ "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-ee54-4813-92d5-999aeEXAMPLE", "Name": "my-event-data-store", "Status": "ENABLED", "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": 100, "KmsKeyId": "arn:aws:kms:us-east-1:0123456789:alias/KMS_key_alias", "TerminationProtectionEnabled": true, "CreatedTimestamp": "2023-10-27T10:55:55.384000-04:00", "UpdatedTimestamp": "2023-10-27T10:57:05.549000-04:00" }

使用禁用终止保护 Amazon CLI

默认情况下,事件数据存储已启用终止保护,以防止事件数据存储被意外删除。当终止保护启用时,您无法删除事件数据存储。如果要删除事件数据存储,您必须先禁用终止保护。

以下示例 Amazon CLI update-event-data-store命令通过传递--no-termination-protection-enabled参数来禁用终止保护。

aws cloudtrail update-event-data-store \ --region us-east-1 \ --no-termination-protection-enabled \ --event-data-store arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE

以下为响应示例。

{ "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE", "Name": "management-events-eds", "Status": "ENABLED", "AdvancedEventSelectors": [ { "Name": "Default management events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Management" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "BillingMode": "EXTENDABLE_RETENTION_PRICING", "RetentionPeriod": 366, "TerminationProtectionEnabled": false, "CreatedTimestamp": "2023-10-27T10:55:55.384000-04:00", "UpdatedTimestamp": "2023-10-27T10:57:05.549000-04:00" }

使用停止在事件数据存储上进行提取 Amazon CLI

以下示例 Amazon CLI stop-event-data-store-ingestion命令阻止事件数据存储接收事件。要停止摄取,事件数据存储 Status 必须是 ENABLED,并且 eventCategory 必须是 ManagementDataConfigurationItem。事件数据存储由 --event-data-store 指定,它接受事件数据存储 ARN 或 ARN 的 ID 后缀。运行 stop-event-data-store-ingestion 后,事件数据存储的状态将更改为 STOPPED_INGESTION

处于 STOPPED_INGESTION 状态时,事件数据存储计入您的账户最多十个事件数据存储的限额内。

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

如果成功执行操作,则没有响应。

使用开始在事件数据存储上进行提取 Amazon CLI

以下示例 Amazon CLI start-event-data-store-ingestion命令在事件数据存储上启动事件摄取。要开始摄取,事件数据存储 Status 必须是 STOPPED_INGESTION,并且 eventCategory 必须是 ManagementDataConfigurationItem。事件数据存储由 --event-data-store 指定,它接受事件数据存储 ARN 或 ARN 的 ID 后缀。运行 start-event-data-store-ingestion 后,事件数据存储的状态将更改为 ENABLED

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

如果成功执行操作,则没有响应。

在事件数据存储上启用联合身份验证

要启用联合身份验证,请运行 aws cloudtrail enable-federation 命令,以提供所需的 --event-data-store--role 参数。对于 --event-data-store,请提供事件数据存储 ARN(或 ARN 的 ID 后缀)。对于 --role,请提供您的联合身份验证角色的 ARN。该角色必须存在于您的账户中,并提供所需的最低权限

aws cloudtrail enable-federation --event-data-store arn:aws:cloudtrail:region:account-id:eventdatastore/eds-id --role arn:aws:iam::account-id:role/federation-role-name

此示例说明委托管理员如何通过在管理账户中指定事件数据存储的 ARN 和在委托管理员账户中指定联合身份验证角色的 ARN 来在组织事件数据存储上启用联合身份验证。

aws cloudtrail enable-federation --event-data-store arn:aws:cloudtrail:region:management-account-id:eventdatastore/eds-id --role arn:aws:iam::delegated-administrator-account-id:role/federation-role-name

在事件数据存储上禁用联合身份验证

要在事件数据存储上禁用联合身份验证,请运行 aws cloudtrail disable-federation 命令。事件数据存储由 --event-data-store 指定,它接受事件数据存储 ARN 或 ARN 的 ID 后缀。

aws cloudtrail disable-federation --event-data-store arn:aws:cloudtrail:region:account-id:eventdatastore/eds-id
注意

如果这是组织事件数据存储,则使用管理账户的账户 ID。

使用删除事件数据存储 Amazon CLI

以下示例 Amazon CLI delete-event-data-store 命令禁用 --event-data-store 指定的事件数据存储,它接受事件数据存储 ARN 或 ARN 的 ID 后缀。运行 delete-event-data-store 之后,事件数据存储的最终状态为 PENDING_DELETION,且事件数据存储将在 7 天等待期后自动删除。

在事件数据存储上运行 delete-event-data-store 之后,您无法在使用已禁用的数据存储的查询上运行 list-queriesdescribe-queryget-query-results。处于等待删除状态时,事件数据存储计入您的账户最多十个事件数据存储的限额内。

注意

如果设置了 --termination-protection-enabled 或其 FederationStatusENABLED,则无法删除事件数据存储。

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

如果成功执行操作,则没有响应。

使用恢复事件数据存储 Amazon CLI

以下示例 Amazon CLI restore-event-data-store 命令恢复待删除的事件数据存储。事件数据存储由 --event-data-store 指定,它接受事件数据存储 ARN 或 ARN 的 ID 后缀。您只能在删除后的七天等待期内恢复被删除的事件数据存储。

aws cloudtrail restore-event-data-store --event-data-store EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE

响应包括有关事件数据存储的信息,包括其 ARN、高级事件选择器以及还原状态。