本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用创建、更新和管理事件数据存储 AWS CLI
您可以使用 AWS CLI 来创建、更新和管理您的事件数据存储。使用时 AWS CLI,请记住您的命令在 AWS 区域 配置文件中运行。如果您想要在不同的区域中运行命令,可以为配置文件更改默认区域,或者与命令一起使用 --region 参数。
事件数据存储的可用命令
用于在 La CloudTrail ke 中创建和更新事件数据存储的命令包括:
-
create-event-data-store
来创建事件数据存储。 -
get-event-data-store
返回有关事件数据存储的信息,包括为事件数据存储配置的高级事件选择器。 -
update-event-data-store
更改现有事件数据存储的配置。 -
list-event-data-stores
列出事件数据存储。 -
delete-event-data-store
删除事件数据存储。 -
restore-event-data-store
恢复待删除的事件数据存储。 -
start-import
开始将跟踪事件导入事件数据存储中,或者重试失败的导入。 -
get-import
返回有关特定导入的信息。 -
stop-import
停止将跟踪事件导入事件数据存储。 -
list-imports
返回有关所有导入的信息,或按ImportStatus
或返回一组精选导入的信息Destination
。 -
list-import-failures
列出指定导入的导入失败。 -
stop-event-data-store-ingestion
停止在事件数据存储上提取事件。 -
start-event-data-store-ingestion
在事件数据存储上重新启动事件摄取。 -
enable-federation
在事件数据存储上启用联合,以查询 Amazon Athena 中的事件数据存储。 -
disable-federation
在事件数据存储上禁用联合。禁用联合后,您将无法再在 Amazon Athena 中查询事件数据存储的数据。您可以继续在 L CloudTrail ake 中查询。 -
put-insight-selectors
为现有事件数据存储添加或修改 Insights 事件选择器,以及启用或禁用 Insights 事件。 -
get-insight-selectors
返回有关为事件数据存储配置的 Insights 事件选择器的信息。 -
add-tags
向现有的事件数据存储中添加一个或多个标签(键值对)。 -
remove-tags
从事件数据存储中移除一个或多个标签。 -
list-tags
返回与事件数据存储关联的标签列表。
有关可用于 La CloudTrail ke 查询的命令列表,请参阅可用于 L CloudTrail ake 查询的命令。
有关 La CloudTrail ke 集成的可用命令列表,请参阅L CloudTrail ake 集成的可用命令。
使用创建事件数据存储 AWS CLI
使用 create-event-data-store
创建事件数据存储时,唯一需要的参数是 --name
,它用于标识事件数据存储。您可以配置其他可选参数,包括:
-
--advanced-event-selectors
- 指定要包括在事件数据存储中的事件的类型。默认情况下,事件数据存储会记录所有的管理事件。有关高级事件选择器的更多信息,请参阅 CloudTrail API 参考AdvancedEventSelector中的。 -
-指定用于加密传送的事件的 AWS KMS 密钥 ID CloudTrail。该值可以是前缀为--kms-key-id
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-mode
为EXTENDABLE_RETENTION_PRICING
,则有效值为介于 7 和 3653 之间的整数;如果--billing-mode
设置为FIXED_RETENTION_PRICING
,则有效值为介于 7 和 2557 之间的整数。如果未指定--retention-period
,则 CloudTrail 使用默认的保留期--billing-mode
。 -
--start-ingestion
---start-ingestion
参数在其被创建时在事件数据存储上开始事件摄取。即使未添加该参数,也会设置此参数。如果您不希望事件数据存储摄取实时事件,请指定
--no-start-ingestion
。例如,如果您要将事件复制到事件数据存储中,并且仅计划使用事件数据存储来分析过去的事件,则可能要设置此参数。仅当eventCategory
为Management
、Data
或ConfigurationItem
时,--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 事件。
-
运行 aws cloudtrail create-event-data-store
命令创建收集 Insights 事件的目标事件数据存储。 eventCategory
的值必须为Insight
。retention-period-days
替换为您希望在事件数据存储中保留事件的天数。如果--billing-mode
为EXTENDABLE_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
的值。 -
请运行 aws cloudtrail create-event-data-store
命令以创建记录管理事件的源事件数据存储。默认情况下,事件数据存储会记录所有的管理事件。您无需指定任何高级事件选择器即可记录所有管理事件。 retention-period-days
替换为您希望在事件数据存储中保留事件的天数。如果--billing-mode
为EXTENDABLE_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
的值。 -
请运行 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 定价的信息,请参阅AWS CloudTrail 定价
使用将跟踪事件导入到事件数据存储中 AWS CLI
在中 AWS 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
参数。默认情况下,事件数据存储会在创建事件时开始摄取事件。
要创建事件数据存储并将跟踪事件导入该事件数据存储
-
运行 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" }
初始
Status
为CREATED
,因此我们将运行 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" }
-
运行 start-import 命令以将跟踪事件导入步骤 1 中创建的事件数据存储。将事件数据存储的 ARN(或 ARN 的 ID 后缀)指定为
--destinations
参数的值。对于--start-event-time
,请为要复制的最早的事件指定eventTime
,对于--end-event-time
,请指定要复制的最新事件的eventTime
。为包含您的跟踪日志的 S3 存储桶--import-source
指定 S3 URI、S3 存储桶的,以及用于导入跟踪事件的角色的 ARN。 AWS 区域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" }
-
运行 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
使用获取事件数据存储 AWS CLI
以下示例 AWS 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" }
列出账户中存储的所有事件数据 AWS CLI
以下示例 AWS 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" } ] }
使用更新事件数据存储 AWS CLI
以下示例演示如何更新事件数据存储。
使用更新计费模式 AWS CLI
事件数据存储的 --billing-mode
决定了摄取和存储事件的成本,以及事件数据存储的默认和最长保留期。如果事件数据存储的 --billing-mode
设置为 FIXED_RETENTION_PRICING
,则可以将该值更改为 EXTENDABLE_RETENTION_PRICING
。如果您的事件数据存储每月摄取的事件数据少于 25TB,并且您希望采用最多 3653 天的灵活保留期,则通常建议使用 EXTENDABLE_RETENTION_PRICING
。有关定价的信息,请参阅 AWS CloudTrail 定价
注意
您不能将 --billing-mode
值从 EXTENDABLE_RETENTION_PRICING
更改为 FIXED_RETENTION_PRICING
。如果事件数据存储的计费模式设置为 EXTENDABLE_RETENTION_PRICING
,且您想改用 FIXED_RETENTION_PRICING
,则可以停止对事件数据存储的摄取,并创建一个使用 FIXED_RETENTION_PRICING
的新事件数据存储。
以下示例 AWS CLI update-event-data-store命令将事件数据存储--billing-mode
的命令从更改FIXED_RETENTION_PRICING
为EXTENDABLE_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" }
更新保留模式,启用终止保护,然后 AWS KMS key 使用指定 AWS CLI
以下示例 AWS CLI update-event-data-store命令更新事件数据存储以将其保留期更改为 100 天,并启用终止保护。必要的 --event-data-store
参数值是 ARN(或 ARN 的 ID 后缀),且是必填项;其它参数是可选项。在此示例中,添加了 --retention-period
参数,以将保留期限更改为 100 天。或者,您可以选择启用 AWS Key Management Service 加密并 AWS KMS key 通过在命令中添加并--kms-key-id
指定 KMS 密钥 ARN 作为值来指定。 --termination-protection-enabled
添加是为了在未启用终止保护的事件数据存储上启用终止保护。
AWS 无法更新记录外部事件的事件数据存储以记录 AWS 事件。同样,记录 AWS 事件的事件数据存储不能更新为从外部记录事件 AWS。
注意
如果您缩短了事件数据存储的保留期,则 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" }
使用禁用终止保护 AWS CLI
默认情况下,事件数据存储已启用终止保护,以防止事件数据存储被意外删除。当终止保护启用时,您无法删除事件数据存储。如果要删除事件数据存储,您必须先禁用终止保护。
以下示例 AWS 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" }
使用停止在事件数据存储上进行提取 AWS CLI
以下示例 AWS CLI stop-event-data-store-ingestion命令阻止事件数据存储接收事件。要停止摄取,事件数据存储 Status
必须是 ENABLED
,并且 eventCategory
必须是 Management
、Data
或 ConfigurationItem
。事件数据存储由 --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
如果成功执行操作,则没有响应。
使用开始在事件数据存储上进行提取 AWS CLI
以下示例 AWS CLI start-event-data-store-ingestion命令在事件数据存储上启动事件摄取。要开始摄取,事件数据存储 Status
必须是 STOPPED_INGESTION
,并且 eventCategory
必须是 Management
、Data
或 ConfigurationItem
。事件数据存储由 --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。
使用删除事件数据存储 AWS CLI
以下示例 AWS CLI delete-event-data-store 命令禁用 --event-data-store
指定的事件数据存储,它接受事件数据存储 ARN 或 ARN 的 ID 后缀。运行 delete-event-data-store 之后,事件数据存储的最终状态为 PENDING_DELETION
,且事件数据存储将在 7 天等待期后自动删除。
在事件数据存储上运行 delete-event-data-store 之后,您无法在使用已禁用的数据存储的查询上运行 list-queries、describe-query 或 get-query-results。处于等待删除状态时,事件数据存储计入您的账户最多十个事件数据存储的限额内。
注意
如果设置了 --termination-protection-enabled
或其 FederationStatus
为 ENABLED
,则无法删除事件数据存储。
aws cloudtrail delete-event-data-store --event-data-store arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE
如果成功执行操作,则没有响应。
使用恢复事件数据存储 AWS CLI
以下示例 AWS 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、高级事件选择器以及还原状态。