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

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

使用管理事件数据存储 Amazon CLI

本节介绍了您可以运行的其他几个命令,以获取有关事件数据存储的信息、启动和停止事件数据存储上的引入以及启用和禁用事件数据存储上的联合

使用获取事件数据存储 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:::amzn-s3-demo-bucket" ] }, { "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" } ] }

添加资源标签密钥和 IAM 全局条件密钥,并扩大事件大小

运行 Amazon CLI put-event-configuration命令以扩展最大事件大小,并添加最多 50 个资源标签密钥和 50 个 IAM 全局条件密钥,以提供有关事件的更多元数据。

put-event-configuration 命令接受以下参数:

  • --event-data-store— 指定事件数据存储的 ARN 或 ARN 的 ID 后缀。此参数为必需参数。

  • --max-event-size— 设置Large为可将最大事件大小设置为 1 MB。默认情况下,该值为Standard,它指定的最大事件大小各为 256 KB。

    注意

    要添加资源标签密钥或 IAM 全局条件密钥,您必须将事件大小设置为,Large以确保所有添加的密钥都包含在事件中。

  • --context-key-selectors— 指定要包含在事件数据存储所收集的事件中的密钥类型。您可以包括资源标签密钥和 IAM 全局条件密钥。有关添加的资源标签和 IAM 全局条件密钥的信息显示在事件的eventContext字段中。有关更多信息,请参阅 通过添加资源标签密钥和 IAM 全局条件键来丰富 CloudTrail 事件

    • 将 to 设置TypeTagContext为传入最多包含 50 个资源标签键的数组。如果您添加资源标签,则 CloudTrail 事件将包括与 API 调用中涉及的资源关联的选定标签密钥。与已删除资源相关的 API 事件将没有资源标签。

    • 将 to 设置TypeRequestContext为在最多 50 个 IAM 全局条件键的数组中传递。如果您添加 IAM 全局条件密钥,则 CloudTrail 事件将包含有关在授权过程中评估的所选条件密钥的信息,包括有关委托人、会话、网络和请求本身的其他详细信息。

以下示例将最大事件大小设置为,Large并添加了两个资源标签键myTagKey1myTagKey2

aws cloudtrail put-event-configuration \ --event-data-store arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE \ --max-event-size Large \ --context-key-selectors '[{"Type":"TagContext", "Equals":["myTagKey1","myTagKey2"]}]'

下一个示例将最大事件大小设置为,Large并添加了 IAM; 全局条件密钥 (aws:MultiFactorAuthAge)。

aws cloudtrail put-event-configuration \ --event-data-store arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE \ --max-event-size Large \ --context-key-selectors '[{"Type":"RequestContext", "Equals":["aws:MultiFactorAuthAge"]}]'

最后一个示例删除了所有资源标签密钥和 IAM 全局条件密钥,并将最大事件大小设置为Standard

aws cloudtrail put-event-configuration \ --event-data-store arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE \ --max-event-size Standard \ --context-key-selectors

获取事件数据存储的事件配置

运行 Amazon CLI get-event-configuration命令返回收集事件的事件数据存储 CloudTrail 的事件配置。此命令返回最大事件大小,并列出 CloudTrail 事件中包含的资源标签密钥和 IAM 全局条件密钥(如果有)。

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

使用获取事件数据存储的基于资源的策略 Amazon CLI

以下示例在组织事件数据存储上运行get-resource-policy命令。

aws cloudtrail get-resource-policy --resource-arn arn:aws:cloudtrail:us-east-1:888888888888:eventdatastore/example6-d493-4914-9182-e52a7934b207

由于该命令是在组织事件数据存储上运行的,因此输出既显示了提供的基于资源的策略,也显示了为委派的管理员账户333333333333DelegatedAdminResourcePolicy111111111111生成的策略。

{ "ResourceArn": "arn:aws:cloudtrail:us-east-1:888888888888:eventdatastore/example6-d493-4914-9182-e52a7934b207", "ResourcePolicy": { "Version": "2012-10-17", "Statement": [{ "Sid": "EdsPolicyA", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::666666666666:root" }, "Action": [ "cloudtrail:geteventdatastore", "cloudtrail:startquery", "cloudtrail:describequery", "cloudtrail:cancelquery", "cloudtrail:generatequery", "cloudtrail:generatequeryresultssummary" ], "Resource": "arn:aws:cloudtrail:us-east-1:888888888888:eventdatastore/example6-d493-4914-9182-e52a7934b207" }] }, "DelegatedAdminResourcePolicy": { "Version": "2012-10-17", "Statement": [{ "Sid": "Organization-EventDataStore-Auto-Generated-Delegated-Admin-Statement", "Effect": "Allow", "Principal": { "AWS": ["333333333333", "111111111111"] }, "Action": [ "cloudtrail:AddTags", "cloudtrail:CancelQuery", "cloudtrail:CreateEventDataStore", "cloudtrail:DeleteEventDataStore", "cloudtrail:DescribeQuery", "cloudtrail:DisableFederation", "cloudtrail:EnableFederation", "cloudtrail:GenerateQuery", "cloudtrail:GenerateQueryResultsSummary", "cloudtrail:GetEventConfiguration", "cloudtrail:GetEventDataStore", "cloudtrail:GetInsightSelectors", "cloudtrail:GetQueryResults", "cloudtrail:ListEventDataStores", "cloudtrail:ListQueries", "cloudtrail:ListTags", "cloudtrail:RemoveTags", "cloudtrail:RestoreEventDataStore", "cloudtrail:UpdateEventDataStore", "cloudtrail:StartEventDataStoreIngestion", "cloudtrail:StartQuery", "cloudtrail:StopEventDataStoreIngestion", "cloudtrail:UpdateEventDataStore" ], "Resource": "arn:aws:cloudtrail:us-east-1:888888888888:eventdatastore/example6-d493-4914-9182-e52a7934b207" }] } }

使用将基于资源的策略附加到事件数据存储 Amazon CLI

要在手动或计划刷新期间在仪表板上运行查询,您需要将基于资源的策略附加到与仪表板上的小组件关联的每个事件数据存储。这允许 CloudTrail Lake 代表您运行查询。有关基于资源的策略的更多信息,请参阅示例:允许 CloudTrail 运行查询以刷新仪表板

以下示例将基于资源的策略附加到事件数据存储中,该策略 CloudTrail 允许在仪表板刷新时在仪表板上运行查询。account-id替换为您的账户 ID、eds-arn CloudTrail 将运行查询的事件数据存储的 ARN 以及控制面板dashboard-arn的 ARN。

aws cloudtrail put-resource-policy \ --resource-arn eds-arn \ --resource-policy '{"Version": "2012-10-17", "Statement": [{"Sid": "EDSPolicy", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Resource": "eds-arn", "Action": "cloudtrail:StartQuery", "Condition": { "StringEquals": { "AWS:SourceArn": "dashboard-arn", "AWS:SourceAccount": "account-id"}}} ]}'

以下为响应示例。

{ "ResourceArn": "arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE", "ResourcePolicy": "{ "Version": "2012-10-17", "Statement": [{ "Sid": "EDSPolicy", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Resource": "eds-arn", "Action": "cloudtrail:StartQuery", "Condition": { "StringEquals": { "AWS:SourceArn": "dashboard-arn", "AWS:SourceAccount": "account-id" } } } ] }" }

有关其他策略示例,请参阅适用于事件数据存储的基于资源的策略示例

使用删除附加到事件数据存储的基于资源的策略 Amazon CLI

以下示例删除附加到事件数据存储的基于资源的策略。eds-arn替换为事件数据存储的 ARN。

aws cloudtrail delete-resource-policy --resource-arn eds-arn

如果成功,此命令不会产生任何输出。

使用停止在事件数据存储上摄取 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 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、高级事件选择器以及还原状态。