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

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

记录数据事件

本节介绍如何使用CloudTrail 控制台和记录数据事件Amazon CLI

默认情况下,跟踪和事件数据存储不记录数据事件。记录数据事件将收取额外费用。有关更多信息,请参阅Amazon CloudTrail 定价

数据事件提供有关对在资源上或资源内执行的资源操作的信息。这些也称为数据层面操作。数据事件通常是高容量活动。

示例数据事件包括:

您可以使用高级事件选择器来创建细粒度的选择器,通过仅记录用例中感兴趣的特定事件来帮助您控制成本。例如,您可以使用高级事件选择器通过在eventName字段上添加过滤器来记录特定的API呼叫。有关更多信息,请参阅 使用高级事件选择器筛选数据事件

注意

您的跟踪记录的事件可在 Amazon 中找到 EventBridge。例如,如果您选择记录 S3 对象的数据事件而非管理事件,则您的跟踪将仅处理和记录指定 S3 对象的数据事件。这些 S3 对象的数据事件可在 Amazon 中找到 EventBridge。有关更多信息,请参阅 Amazon EventBridge 用户指南中的来自 Amazon 服务的事件

数据事件

下表显示可用于跟踪的数据事件类型。数据事件类型(控制台)列显示控制台中的相应选择。resources.typ resources.type e 值列显示了您使用或指定的值,以便在跟踪中包含该类型的数据事件。 Amazon CLI CloudTrail APIs

对于跟踪,您可以使用基本或高级事件选择器在通用存储桶、Lambda 函数和 DynamoDB 表(显示在表的前三行)中记录 Amazon S3 对象的数据事件。您只能使用高级事件选择器来记录其余行中显示的数据事件类型。

Amazon Web Services 服务 描述 数据事件类型(控制台) resources.type 值
Amazon DynamoDB

表上的 Amazon DynamoDB API 项目级活动(例如PutItemDeleteItem、和操作)。UpdateItem API

注意

对于启用了流的表,数据事件中的 resources 字段同时包含 AWS::DynamoDB::StreamAWS::DynamoDB::Table。如果您为 resources.type 指定 AWS::DynamoDB::Table,则原定设置情况下,它将同时记录 DynamoDB 表和 DynamoDB 流事件。要排除直播事件,请eventName在该字段上添加过滤器。

DynamoDB

AWS::DynamoDB::Table

Amazon Lambda

Amazon Lambda 函数执行活动 (the InvokeAPI)。

Lambda AWS::Lambda::Function
Amazon S3

Amazon S3 对象级API活动(例如GetObjectDeleteObject、和PutObjectAPI操作),涉及通用存储桶中的对象。

S3 AWS::S3::Object
Amazon AppConfig

Amazon AppConfig API用于配置操作@@ 的活动,例如对StartConfigurationSession和的调用GetLatestConfiguration

Amazon AppConfig AWS::AppConfig::Configuration
Amazon B2B 数据交换

Transformer 操作的 B2B 数据交换API活动,例如对GetTransformerJob和的调用StartTransformerJob

B2B 数据交换 AWS::B2BI::Transformer
Amazon Bedrock Amazon Bedrock 在代理别名上的API活动 Bedrock 代理别名 AWS::Bedrock::AgentAlias
Amazon Bedrock 流别名上的 Amazon Bedrock API 活动。 基岩流别名 AWS::Bedrock::FlowAlias
Amazon Bedrock Amazon Bedrock 在护栏上的API活动。 基岩护栏 AWS::Bedrock::Guardrail
Amazon Bedrock 知识库上的 Amazon Bedrock API 活动 Bedrock 知识库 AWS::Bedrock::KnowledgeBase
Amazon Bedrock Amazon Bedrock 在模特上的API活动。 基岩模型 AWS::Bedrock::Model
Amazon CloudFront

CloudFront API在 a 上的活动 KeyValueStore.

CloudFront KeyValueStore AWS::CloudFront::KeyValueStore
Amazon Cloud Map Amazon Cloud Map API命名空间上的@@ 活动 Amazon Cloud Map 命名空间 AWS::ServiceDiscovery::Namespace
Amazon Cloud Map Amazon Cloud Map API服务上的@@ 活动 Amazon Cloud Map service AWS::ServiceDiscovery::Service
Amazon CloudTrail

CloudTrail PutAuditEvents用于记录外部事件的 L CloudTrail ake 频道上的活动 Amazon。

CloudTrail 频道 AWS::CloudTrail::Channel
Amazon CloudWatch

亚马逊在指标方面的 CloudWatch API活动

CloudWatch 公制 AWS::CloudWatch::Metric
Amazon CloudWatch RUM

应用程序监视器上的亚马逊 CloudWatch RUMAPI活动。

RUM应用程序监视器 AWS::RUM::AppMonitor
Amazon CodeWhisperer 亚马逊在定制方面的 CodeWhisperer API活动。 CodeWhisperer 定制 AWS::CodeWhisperer::Customization
Amazon CodeWhisperer 亚马逊在个人资料上的 CodeWhisperer API活动。 CodeWhisperer AWS::CodeWhisperer::Profile
Amazon Cognito

亚马逊 Cognito 在亚马逊 Cog n ito 身份池上的API活动。

Cognito 身份池 AWS::Cognito::IdentityPool
Amazon Web Services Data Exchange

Amazon Web Services Data Exchange API资产活动。

Data Exchange 资产

AWS::DataExchange::Asset

Amazon Deadline Cloud

Deadline Cloud API舰队上的活动。

Deadline Cloud 舰队

AWS::Deadline::Fleet

Amazon Deadline Cloud

Deadline Cloud API工作活动。

Deadline Cloud 工作

AWS::Deadline::Job

Amazon Deadline Cloud

Deadline Cloud API队列中的活动。

Deadline Cloud queue

AWS::Deadline::Queue

Amazon Deadline Cloud

Deadline Cloud API对工人的活动。

Deadline Cloud 工人

AWS::Deadline::Worker

Amazon DynamoDB

Amazon Dyn API amoDB 直播中的活动。

DynamoDB Streams AWS::DynamoDB::Stream
Amazon 最终用户消息社交 Amazon 最终用户消息通过电话号码进行社交API活动IDs。 社交消息电话号码 ID AWS::SocialMessaging::PhoneNumberId
Amazon Elastic Block Store

Amazon Elastic Block Store (EBS) 直接存储,例如APIsPutSnapshotBlockGetSnapshotBlock、和ListChangedBlocks在亚马逊EBS快照上。

Amazon EBS 直销 APIs AWS::EC2::Snapshot
Amazon EMR Amazon 在预写日志工作空间中的EMRAPI活动 EMR预写日志工作空间 AWS::EMRWAL::Workspace
Amazon FinSpace

Amazon FinSpaceAPI在环境中的活动。

FinSpace AWS::FinSpace::Environment
Amazon Glue

Amazon Glue API在 Lake Formation 创建的桌子上的活动。

Lake Formation AWS::Glue::Table
Amazon GuardDuty

探测器的亚马逊 GuardDuty API活动。

GuardDuty 探测器 AWS::GuardDuty::Detector
Amazon HealthImaging

Amazon HealthImaging API数据存储上的活动。

MedicalImaging 数据存储 AWS::MedicalImaging::Datastore
Amazon IoT

Amazon IoT API证书上的@@ 活动

物联网证书 AWS::IoT::Certificate
Amazon IoT

Amazon IoT API在事物上@@ 活动

物联网的东西 AWS::IoT::Thing
Amazon IoT Greengrass Version 2

组件版本上来自 API Greengrass 核心设备的 Greengrass 活动。

注意

Greengrass 不会记录被拒绝访问的事件。

物联网 Greengrass 组件版本 AWS::GreengrassV2::ComponentVersion
Amazon IoT Greengrass Version 2

部署时来自 G API reengrass 核心设备的 Greengrass 活动。

注意

Greengrass 不会记录被拒绝访问的事件。

物联网 Greengrass 部署 AWS::GreengrassV2::Deployment
Amazon IoT SiteWise

资产上的@@ 物联网 SiteWise API活动

物联网 SiteWise 资产 AWS::IoTSiteWise::Asset
Amazon IoT SiteWise

时间序列上的@@ 物联网 SiteWise API活动

物联网 SiteWise 时间序列 AWS::IoTSiteWise::TimeSeries
Amazon IoT TwinMaker

实体上的物联网 TwinMaker API活动。

物联网 TwinMaker 实体 AWS::IoTTwinMaker::Entity
Amazon IoT TwinMaker

工作空间中的物联网 TwinMaker API活动。

物联网 TwinMaker 工作空间 AWS::IoTTwinMaker::Workspace
Amazon Kendra Intelligent Ranking

Amazon Kendra 对重新评分API执行计划进行智能排名活动。

Kendra 排名 AWS::KendraRanking::ExecutionPlan
Amazon Keyspaces(Apache Cassandra 兼容) 桌子上的 Amazon Keys API paces 活动 卡桑德拉桌 AWS::Cassandra::Table
Amazon Kinesis Data Streams Kinesis Data API Streams 直播中的活动 Kinesis 直播 AWS::Kinesis::Stream
Amazon Kinesis Data Streams Kinesis Data API Streams 对直播使用者的活动。 Kinesis 直播消费者 AWS::Kinesis::StreamConsumer
Amazon Kinesis Video Streams Kinesis Video Streams 视频API流上的 Kinesis Video Streams 活动,例如GetMedia对和的通话。PutMedia Kinesis 视频流 AWS::KinesisVideo::Stream
Amazon Machine Learning 机器学习模型上的 Machine Learning API 活动。 匹配学习 MlModel AWS::MachineLearning::MlModel
Amazon Managed Blockchain

Amazon Managed Blockchain 在网络上的API活动。

托管区块链网络 AWS::ManagedBlockchain::Network
Amazon Managed Blockchain

Amazon Manage JSON d Blockchain-在以太坊节点上RPC调用,例如eth_getBalanceeth_getBlockByNumber

托管区块链 AWS::ManagedBlockchain::Node
Amazon Neptune 图形

Neptune Graph 上的数据API活动,例如查询、算法或向量搜索。

Neptune 图形 AWS::NeptuneGraph::Graph
Amazon One Enterprise

Amazon One En API terprise 在 aUKey.

Amazon One UKey AWS::One::UKey
Amazon One Enterprise

Amazon One 企业版针对用户的API活动。

Amazon One 用户 AWS::One::User
Amazon Payment Cryptography Amazon Payment Cryptography API别名上的活动。 支付密码学别名 AWS::PaymentCryptography::Alias
Amazon Payment Cryptography Amazon Payment Cryptography API按键上的活动。 付款加密密钥 AWS::PaymentCryptography::Key
Amazon Private CA

Amazon Private CA API活动目录活动的连接器。

Amazon Private CA 活动目录连接器 AWS::PCAConnectorAD::Connector
Amazon Private CA

Amazon Private CA SCEPAPI活动连接器。

Amazon Private CA 连接器用于 SCEP AWS::PCAConnectorSCEP::Connector
亚马逊 Q 应用程序

Amazon Q 应用程序上的数据API活动。

亚马逊 Q 应用程序 AWS::QApps:QApp
Amazon Q Business

Amazon Q 企业在应用程序上的API活动

Amazon Q Business 应用程序 AWS::QBusiness::Application
Amazon Q Business

Amazon Q 业务在数据源上的API活动

Amazon Q Business 数据来源 AWS::QBusiness::DataSource
Amazon Q Business

亚马逊 Q 企业在指数上的API活动

Amazon Q Business 索引 AWS::QBusiness::Index
Amazon Q Business

Amazon Q Bus API iness 在网络体验上的活动

Amazon Q Business Web 体验 AWS::QBusiness::WebExperience
Amazon RDS

亚马逊在数据库集群上的RDSAPI活动

RDS数据 API-数据库集群 AWS::RDS::DBCluster
Amazon S3

Amazon S3 在接入点上的API活动

S3 接入点 AWS::S3::AccessPoint
Amazon S3

Amazon S3 对目录存储桶中的对象进行对象级API活动(例如GetObjectDeleteObject、和PutObjectAPI操作)。

S3 快车 AWS::S3Express::Object
Amazon S3

Amazon S3 对象 Lambda 接入点API活动,例如对和的调用。CompleteMultipartUpload GetObject

S3 对象 Lambda AWS::S3ObjectLambda::AccessPoint
Amazon S3 on Outposts

O@@ utposts 上的 Amazon S3 对象级活动API

S3 Outposts AWS::S3Outposts::Object
Amazon SageMaker 终端节点上的亚马逊 SageMaker InvokeEndpointWithResponseStream活动。 SageMaker 端点 AWS::SageMaker::Endpoint
Amazon SageMaker

亚马逊在特色商店上的 SageMaker API活动。

SageMaker feature store AWS::SageMaker::FeatureGroup
Amazon SageMaker

Amazon 在实验试用组件上的 SageMaker API活动。

SageMaker 指标实验试用组件 AWS::SageMaker::ExperimentTrialComponent
Amazon SNS

亚马逊对平台终端节点的SNSPublishAPI操作。

SNS平台终端节点 AWS::SNS::PlatformEndpoint
Amazon SNS

Amazon SNS Publish和有关主题的PublishBatchAPI操作。

SNS话题 AWS::SNS::Topic
Amazon SQS

亚马逊在消息上的SQSAPI活动

SQS AWS::SQS::Queue
Amazon Step Functions

状态机上的 Step Functions API 活动

Step Functions 状态机 AWS::StepFunctions::StateMachine
Amazon Supply Chain

Amazon Supply Chain API实例上的活动。

供应链 AWS::SCN::Instance
Amazon SWF

亚马逊在域名上的SWFAPI活动。

SWF域 AWS::SWF::Domain
Amazon Systems Manager Systems Manager 在控制通道上的API活动 Systems Manager (系统管理员) AWS::SSMMessages::ControlChannel
Amazon Systems Manager 托管节点上的 Systems Manager API 活动 Systems Manager 托管式节点 AWS::SSM::ManagedNode
Amazon Timestream 亚马逊 Timestream 在QueryAPI数据库上的活动。 Timestream 数据库 AWS::Timestream::Database
Amazon Timestream Amazon Timestream 在QueryAPI表格上的活动。 Timestream 表 AWS::Timestream::Table
Amazon Verified Permissions

策略商店上的 Amazon 已验证权限API活动。

Amazon Verified Permissions AWS::VerifiedPermissions::PolicyStore
Amazon WorkSpaces 瘦客户机 WorkSpaces 设备上的瘦客户机API活动。 瘦客户端设备 AWS::ThinClient::Device
Amazon WorkSpaces 瘦客户机 WorkSpaces 环境中的瘦客户机API活动。 瘦客户端环境 AWS::ThinClient::Environment
Amazon X-Ray

痕迹上的 X 射线API活动

X 射线追踪 AWS::XRay::Trace

要记录 CloudTrail 数据事件,必须明确添加要为其收集活动的每种资源类型。有关更多信息,请参阅使用 CloudTrail 控制台创建跟踪使用控制台为事件创建 CloudTrail事件数据存储

在单区域跟踪或事件数据存储上,您只能为可在该区域中访问的资源记录数据事件。尽管 S3 存储桶是全球性的,但 Amazon Lambda 函数和 DynamoDB 表是区域性的。

记录数据事件将收取额外费用。有关 CloudTrail 定价,请参阅Amazon CloudTrail 定价

示例:记录 Simple Storage Service(Amazon S3)对象的数据事件

记录一个 S3 存储桶中的所有 S3 对象的数据事件

下面的示例演示在为一个名为 amzn-s3-demo-bucket 的 S3 桶中的所有数据事件配置日志记录时日志记录是如何工作的。在此示例中, CloudTrail 用户指定了一个空前缀,并指定了记录读取写入数据事件的选项。

  1. 用户将对象上传到 amzn-s3-demo-bucket

  2. PutObjectAPI操作是 Amazon S3 对象级别API的。它被记录为中的数据事件 CloudTrail。由于 CloudTrail 用户指定的 S3 存储桶前缀为空,因此会记录在该存储桶中任何对象上发生的事件。跟踪或事件数据存储将处理和记录事件。

  3. 另一个用户将对象上传到 amzn-s3-demo-bucket2

  4. PutObjectAPI操作发生在 S3 存储桶中未为跟踪或事件数据存储指定的对象上。跟踪或事件数据存储不会记录事件。

记录特定 S3 对象的数据事件

下面的示例演示在为特定 S3 对象配置跟踪或事件数据存储以记录事件时日志记录的工作方式。在此示例中, CloudTrail 用户指定了一个名为的 S3 存储桶amzn-s3-demo-bucket3,前缀为 my-images,以及仅记录写入数据事件的选项。

  1. 一个用户在存储桶中检测到一个以 my-images 前缀开头的对象,例如 arn:aws:s3:::amzn-s3-demo-bucket3/my-images/example.jpg

  2. DeleteObjectAPI操作是 Amazon S3 对象级别API的。它被记录为写入数据事件 CloudTrail。事件发生在与跟踪或事件数据存储中指定的 S3 存储桶和前缀匹配的对象上。跟踪或事件数据存储将处理和记录事件。

  3. 另一个用户删除了 S3 存储桶中一个带不同前缀的对象,例如 arn:aws:s3:::amzn-s3-demo-bucket3/my-videos/example.avi

  4. 事件发生在与跟踪或事件数据存储中指定的前缀不匹配的对象上。跟踪或事件数据存储不会记录事件。

  5. 用户调用对象的GetObjectAPI操作arn:aws:s3:::amzn-s3-demo-bucket3/my-images/example.jpg

  6. 事件发生在跟踪或事件数据存储中指定的存储桶和前缀上,但GetObject属于读取类型 Amazon S3 对象API级别。它被记录为读取数据事件 CloudTrail,并且跟踪或事件数据存储未配置为记录读取事件。跟踪或事件数据存储不会记录事件。

注意

对于跟踪,如果记录特定 Amazon S3 存储桶的数据事件,建议不要使用将记录其数据事件的 Amazon S3 存储桶来接收在数据事件部分为跟踪指定的日志文件。使用相同的 Simple Storage Service(Amazon S3)存储桶会导致您的跟踪在日志文件每次传输到 Simple Storage Service(Amazon S3)存储桶时都记录数据事件。日志文件是按时间间隔传输的聚合事件,因此,事件与日志文件的比率不是 1:1;事件将记录到下一个日志文件中。例如,当 CloudTrail 传送日志时,PutObject事件会发生在 S3 存储桶上。如果还在数据事件部分中指定了 S3 存储桶,跟踪将处理 PutObject 事件并将其记录为数据事件。该操作是另一个 PutObject 事件,并且跟踪将重新处理和记录此事件。

如果您配置跟踪以记录 Amazon 账户中的所有 Amazon S3 数据事件,为避免记录接收日志文件的 Amazon S3 存储桶的数据事件,请考虑配置将日志文件传输到属于其他 Amazon 账户的 Amazon S3 存储桶。有关更多信息,请参阅 接收来自多个账户的 CloudTrail 日志文件

记录其他 Amazon 账户中 S3 对象的数据事件

将跟踪配置为记录数据事件时,还可以指定属于其他 Amazon 账户的 S3 对象。当事件发生在指定对象上时, CloudTrail 会评估该事件是否与每个账户中的任何跟踪相匹配。如果事件与某个跟踪设置匹配,则跟踪将处理并记录该账户的事件。通常,API调用者和资源所有者都可以接收事件。

如果您拥有一个 S3 对象并且在跟踪中指定此对象,则您的跟踪将记录在您的账户中的对象上发生的事件。由于您拥有该对象,因此您的跟踪还将在其他账户调用该对象时记录事件。

如果您在跟踪中指定一个 S3 对象,并且其他账户拥有此对象,则您的跟踪仅记录在您的账户中的此对象上发生的事件。您的跟踪不会记录其他账户中发生的事件。

示例:记录两个 Amazon 账户的 Simple Storage Service(Amazon S3)对象的数据事件

以下示例显示了两个 Amazon 账户如何配置 CloudTrail 以记录同一 S3 对象的事件。

  1. 在您的账户中,您希望您的跟踪记录名为 amzn-s3-demo-bucket 的 S3 存储桶中所有对象的数据事件。通过指定带空对象前缀的 S3 存储桶来配置跟踪。

  2. Bob 拥有一个单独的账户,该账户已获得对 S3 存储桶的访问权限。Bob 还希望记录同一 S3 存储桶中所有对象的数据事件。对于其跟踪,他配置了跟踪并指定带空对象前缀的同一 S3 存储桶。

  3. Bob 通过PutObjectAPI操作将对象上传到 S3 存储桶。

  4. 此事件在他的账户中发生,并且与他的跟踪设置匹配。Bob 的跟踪将处理和记录该事件。

  5. 由于您拥有 S3 存储桶并且事件与您的跟踪设置匹配,因此您的跟踪也将处理和记录同一事件。由于该事件现在有两个副本(一个记录在 Bob 的跟踪中,一个记录在您的跟踪中),因此需要为数据事件的两个副本 CloudTrail 收费。

  6. 您将一个对象上传到 S3 存储桶。

  7. 此事件在您的账户中发生并且与您的跟踪设置匹配。您的跟踪将处理和记录此事件。

  8. 由于该事件未发生在 Bob 的账户中,而且他不拥有 S3 存储桶,因此 Bob 的跟踪不会记录该事件。 CloudTrail 仅对此数据事件的一份副本收费。

示例:记录所有存储桶的数据事件,包括两个 Amazon 账户使用的 S3 存储桶

以下示例显示了为在账户中收集数据事件的跟踪启用 “选择账户中的所有 S3 存储桶” 时的日志行为。 Amazon

  1. 在您的账户中,您希望您的跟踪记录所有 S3 存储桶的数据事件。在 Data events(数据事件)中的 All current and future S3 buckets(所有当前和未来 S3 存储桶)下,您可以通过选择 Read(读取)事件、Write(写入)事件或同时选择两者,来配置跟踪。

  2. Bob 拥有一个单独的账户,该账户已被授予对您账户中 S3 存储桶的访问权限。他想记录他有权访问的存储桶的数据事件。他配置他的跟踪以获取所有 S3 存储桶的数据事件。

  3. Bob 通过PutObjectAPI操作将对象上传到 S3 存储桶。

  4. 此事件在他的账户中发生,并且与他的跟踪设置匹配。Bob 的跟踪将处理和记录该事件。

  5. 由于您拥有 S3 存储桶并且事件与您跟踪的设置匹配,因此您的跟踪也将处理和记录此事件。由于该事件现在有两个副本(一个记录在 Bob 的跟踪中,一个记录在你的跟踪中),所以每个账户都要向每个账户 CloudTrail 收取一份数据事件的副本。

  6. 您将一个对象上传到 S3 存储桶。

  7. 此事件在您的账户中发生并且与您的跟踪设置匹配。您的跟踪将处理和记录此事件。

  8. 由于该事件未发生在 Bob 的账户中,而且他不拥有 S3 存储桶,因此 Bob 的跟踪不会记录该事件。 CloudTrail 仅对您账户中此数据事件的一份副本收费。

  9. 第三个用户 Mary 可以访问 S3 存储桶,并在存储桶上运行 GetObject 操作。她有一个跟踪配置为记录其账户中所有 S3 存储桶上的数据事件。因为她是API来电者,所以在她的跟踪中 CloudTrail 记录了一个数据事件。虽然 Bob 有权访问该存储桶,但他不是资源所有者,因此这次未在他的跟踪中记录任何事件。作为资源所有者,您在跟踪中会收到一个关于 Mary 调用的GetObject操作的事件。 CloudTrail针对数据事件的每份副本向你的账户和 Mary 的账户收费:一份在 Mary 的踪迹中,一份在你的踪迹中。

只读和只写事件

在配置跟踪或事件数据存储以记录数据事件和管理事件时,可以指定是需要只读事件、只写事件还是两者都需要。

  • 读取

    读取事件包括读取您的资源但不进行更改的API操作。例如,只读事件包括 Amazon EC2 DescribeSecurityGroupsDescribeSubnetsAPI操作。这些操作仅返回有关您的 Amazon EC2 资源的信息,不会更改您的配置。

  • 写入

    写入事件包括修改(或可能修改)资源的API操作。例如,Amazon EC2 RunInstancesTerminateInstancesAPI操作会修改您的实例。

示例:为单独的跟踪记录记录读取事件和写入事件

以下示例显示了如何配置跟踪以将账户的日志活动拆分到单独的 S3 存储桶中:一个名为 amzn-s3-demo-bucket1 的存储桶接收只读事件,另一个 amzn-s3-demo-bucket2 接收只写事件。

  1. 您可以创建跟踪并选择名为的 S3 存储桶amzn-s3-demo-bucket1来接收日志文件。然后,您更新跟踪以指定您需要 Read(读取)管理事件和数据事件。

  2. 您创建第二个跟踪并选择amzn-s3-demo-bucket2 要接收日志文件的 S3 存储桶。然后,您更新跟踪以指定您需要 Write(写入)管理事件和数据事件。

  3. Amazon EC2 DescribeInstancesTerminateInstancesAPI操作发生在您的账户中。

  4. DescribeInstancesAPI操作是一个只读事件,它与第一个跟踪的设置相匹配。跟踪将记录事件并将事件传送到 amzn-s3-demo-bucket1

  5. TerminateInstancesAPI操作是一个只写事件,它与第二个跟踪的设置相匹配。跟踪将记录事件并将事件传送到 amzn-s3-demo-bucket2

使用记录数据事件 Amazon Web Services Management Console

以下程序介绍如何通过使用 Amazon Web Services Management Console更新现有的事件数据存储或跟踪以记录数据事件。有关如何创建事件数据存储以记录数据事件的信息,请参阅 使用控制台为事件创建 CloudTrail事件数据存储。有关如何创建跟踪以记录数据事件的信息,请参阅 在控制台中创建跟踪

对于跟踪,根据您使用的是高级事件选择器还是基本事件选择器,记录数据事件的步骤会有所不同。您可以使用高级事件选择器记录所有数据事件类型的数据事件,但是如果您使用基本事件选择器,则只能记录 Amazon S3 存储桶和存储桶对象、 Amazon Lambda 函数和 Amazon DynamoDB 表的数据事件。

按照以下程序更新现有的事件数据存储以记录数据事件。有关使用高级事件选择器的更多信息,请参阅本主题使用高级事件选择器筛选数据事件中的。

  1. 登录 Amazon Web Services Management Console 并打开 CloudTrail 控制台,网址为https://console.aws.amazon.com/cloudtrail/

  2. 在导航窗格中,在 Lake 下,选择事件数据存储

  3. 事件数据存储页面上,选择要更新的事件数据存储。

    注意

    您只能在包含事件的事件数据存储上启用数据 CloudTrail 事件。您无法在 Amazon Config 配置项目、 CloudTrail Insights CloudTrail 事件或非事件的事件数据存储上启用数据Amazon 事件。

  4. 在详细信息页面上的数据事件中,选择编辑

  5. 如果您尚未记录数据事件,请选择 Data events(数据事件)复选框。

  6. 对于 Data event type(数据事件类型),选择要在其上记录数据事件的资源类型。

  7. 选择日志选择器模板。 CloudTrail 包括用于记录该资源类型的所有数据事件的预定义模板。要构建自定义日志选择器模板,请选择 Custom(自定义)。

  8. (可选)在选择器名称中,输入用于标识选择器的名称。选择器名称是高级事件选择器的描述性名称,例如“仅记录两个 S3 桶的数据事件”。选择器名称在高级事件选择器Name中列出,如果展开视图,则可以JSON查看

  9. Advanced event selectors(高级事件选择器)中,为您要记录其数据事件的特定资源构建表达式。如果您使用的是预定义日志模板,则可跳过此步骤。

    1. 从下面的字段中选择。

      • readOnly-readOnly 可以设置为等于truefalse的值。只读数据事件是不会更改资源状态的事件,例如 Get*Describe* 事件。写入事件可添加、更改或删除资源、属性或构件,例如 Put*Delete*Write* 事件。要记录 readwrite 两种事件,请不要添加 readOnly 选择器。

      • eventName - eventName 可以使用任何运算符。您可以使用它来包含或排除记录到的任何数据事件 CloudTrail,例如PutBucketGetItem、或GetSnapshotBlock

      • resources.ARN-您可以将任何运算符与一起使用resources.ARN,但是如果您使用于或不等于,则该ARN值必须与您在模板中指定为的值的resources.type有效资源的值完全匹配。

        下表显示了每种ARN格式的有效格式resources.type

        注意

        您不能使用该resources.ARN字段筛选没有的资源类型ARNs。

        resources.type 资源。 ARN
        AWS::DynamoDB::Table1
        arn:partition:dynamodb:region:account_ID:table/table_name
        AWS::Lambda::Function
        arn:partition:lambda:region:account_ID:function:function_name

        AWS::S3::Object2

        arn:partition:s3:::amzn-s3-demo-bucket/ arn:partition:s3:::amzn-s3-demo-bucket/object_or_file_name/
        AWS::AppConfig::Configuration
        arn:partition:appconfig:region:account_ID:application/application_ID/environment/environment_ID/configuration/configuration_profile_ID
        AWS::B2BI::Transformer
        arn:partition:b2bi:region:account_ID:transformer/transformer_ID
        AWS::Bedrock::AgentAlias
        arn:partition:bedrock:region:account_ID:agent-alias/agent_ID/alias_ID
        AWS::Bedrock::FlowAlias
        arn:partition:bedrock:region:account_ID:flow/flow_ID/alias/alias_ID
        AWS::Bedrock::Guardrail
        arn:partition:bedrock:region:account_ID:guardrail/guardrail_ID
        AWS::Bedrock::KnowledgeBase
        arn:partition:bedrock:region:account_ID:knowledge-base/knowledge_base_ID
        AWS::Bedrock::Model

        ARN必须采用以下格式之一:

        • arn:partition:bedrock:region::foundation-model/resource_ID

        • arn:partition:bedrock:region:account_ID:provisioned-model/resource_ID

        • arn:partition:bedrock:region:account_ID:custom-model/resource_ID

        AWS::Cassandra::Table
        arn:partition:cassandra:region:account_ID:keyspace/keyspace_name/table/table_name
        AWS::CloudFront::KeyValueStore
        arn:partition:cloudfront:region:account_ID:key-value-store/KVS_name
        AWS::CloudTrail::Channel
        arn:partition:cloudtrail:region:account_ID:channel/channel_UUID
        AWS::CodeWhisperer::Customization
        arn:partition:codewhisperer:region:account_ID:customization/customization_ID
        AWS::CodeWhisperer::Profile
        arn:partition:codewhisperer:region:account_ID:profile/profile_ID
        AWS::Cognito::IdentityPool
        arn:partition:cognito-identity:region:account_ID:identitypool/identity_pool_ID
        AWS::DataExchange::Asset
        arn:partition:dataexchange:region:account_ID:data-sets/data_set_ID/revisions/revision_ID/assets/asset_ID
        AWS::Deadline::Fleet
        arn:partition:deadline:region:account_ID:farm/farm_ID/fleet/fleet_ID
        AWS::Deadline::Job
        arn:partition:deadline:region:account_ID:farm/farm_ID/queue/queue_ID/job/job_ID
        AWS::Deadline::Queue
        arn:partition:deadline:region:account_ID:farm/farm_ID/queue/queue_ID
        AWS::Deadline::Worker
        arn:partition:deadline:region:account_ID:farm/farm_ID/fleet/fleet_ID/worker/worker_ID
        AWS::DynamoDB::Stream
        arn:partition:dynamodb:region:account_ID:table/table_name/stream/date_time
        AWS::EC2::Snapshot
        arn:partition:ec2:region::snapshot/snapshot_ID
        AWS::EMRWAL::Workspace
        arn:partition:emrwal:region:account_ID:workspace/workspace_name
        AWS::FinSpace::Environment
        arn:partition:finspace:region:account_ID:environment/environment_ID
        AWS::Glue::Table
        arn:partition:glue:region:account_ID:table/database_name/table_name
        AWS::GreengrassV2::ComponentVersion
        arn:partition:greengrass:region:account_ID:components/component_name
        AWS::GreengrassV2::Deployment
        arn:partition:greengrass:region:account_ID:deployments/deployment_ID
        AWS::GuardDuty::Detector
        arn:partition:guardduty:region:account_ID:detector/detector_ID
        AWS::IoT::Certificate
        arn:partition:iot:region:account_ID:cert/certificate_ID
        AWS::IoT::Thing
        arn:partition:iot:region:account_ID:thing/thing_ID
        AWS::IoTSiteWise::Asset
        arn:partition:iotsitewise:region:account_ID:asset/asset_ID
        AWS::IoTSiteWise::TimeSeries
        arn:partition:iotsitewise:region:account_ID:timeseries/timeseries_ID
        AWS::IoTTwinMaker::Entity
        arn:partition:iottwinmaker:region:account_ID:workspace/workspace_ID/entity/entity_ID
        AWS::IoTTwinMaker::Workspace
        arn:partition:iottwinmaker:region:account_ID:workspace/workspace_ID
        AWS::KendraRanking::ExecutionPlan
        arn:partition:kendra-ranking:region:account_ID:rescore-execution-plan/rescore_execution_plan_ID
        AWS::Kinesis::Stream
        arn:partition:kinesis:region:account_ID:stream/stream_name
        AWS::Kinesis::StreamConsumer
        arn:partition:kinesis:region:account_ID:stream_type/stream_name/consumer/consumer_name:consumer_creation_timestamp
        AWS::KinesisVideo::Stream
        arn:partition:kinesisvideo:region:account_ID:stream/stream_name/creation_time
        AWS::MachineLearning::MlModel
        arn:partition:machinelearning:region:account_ID:mlmodel/model_ID
        AWS::ManagedBlockchain::Network
        arn:partition:managedblockchain:::networks/network_name
        AWS::ManagedBlockchain::Node
        arn:partition:managedblockchain:region:account_ID:nodes/node_ID
        AWS::MedicalImaging::Datastore
        arn:partition:medical-imaging:region:account_ID:datastore/data_store_ID
        AWS::NeptuneGraph::Graph
        arn:partition:neptune-graph:region:account_ID:graph/graph_ID
        AWS::One::UKey
        arn:partition:one:region:account_ID:user/user_ID/u-key/u-key_ID
        AWS::One::User
        arn:partition:one:region:account_ID:user/user_ID
        AWS::PaymentCryptography::Alias
        arn:partition:payment-cryptography:region:account_ID:alias/alias
        AWS::PaymentCryptography::Key
        arn:partition:payment-cryptography:region:account_ID:key/key_ID
        AWS::PCAConnectorAD::Connector
        arn:partition:pca-connector-ad:region:account_ID:connector/connector_ID
        AWS::PCAConnectorSCEP::Connector
        arn:partition:pca-connector-scep:region:account_ID:connector/connector_ID
        AWS::QApps:QApp
        arn:partition:qapps:region:account_ID:application/application_UUID/qapp/qapp_UUID
        AWS::QBusiness::Application
        arn:partition:qbusiness:region:account_ID:application/application_ID
        AWS::QBusiness::DataSource
        arn:partition:qbusiness:region:account_ID:application/application_ID/index/index_ID/data-source/datasource_ID
        AWS::QBusiness::Index
        arn:partition:qbusiness:region:account_ID:application/application_ID/index/index_ID
        AWS::QBusiness::WebExperience
        arn:partition:qbusiness:region:account_ID:application/application_ID/web-experience/web_experienc_ID
        AWS::RDS::DBCluster
        arn:partition:rds:region:account_ID:cluster/cluster_name
        AWS::RUM::AppMonitor
        arn:partition:rum:region:account_ID:appmonitor/app_monitor_name

        AWS::S3::AccessPoint3

        arn:partition:s3:region:account_ID:accesspoint/access_point_name

        AWS::S3Express::Object

        arn:partition:s3express:region:account_ID:bucket/bucket_name
        AWS::S3ObjectLambda::AccessPoint
        arn:partition:s3-object-lambda:region:account_ID:accesspoint/access_point_name
        AWS::S3Outposts::Object
        arn:partition:s3-outposts:region:account_ID:object_path
        AWS::SageMaker::Endpoint
        arn:partition:sagemaker:region:account_ID:endpoint/endpoint_name
        AWS::SageMaker::ExperimentTrialComponent
        arn:partition:sagemaker:region:account_ID:experiment-trial-component/experiment_trial_component_name
        AWS::SageMaker::FeatureGroup
        arn:partition:sagemaker:region:account_ID:feature-group/feature_group_name
        AWS::SCN::Instance
        arn:partition:scn:region:account_ID:instance/instance_ID
        AWS::ServiceDiscovery::Namespace
        arn:partition:servicediscovery:region:account_ID:namespace/namespace_ID
        AWS::ServiceDiscovery::Service
        arn:partition:servicediscovery:region:account_ID:service/service_ID
        AWS::SNS::PlatformEndpoint
        arn:partition:sns:region:account_ID:endpoint/endpoint_type/endpoint_name/endpoint_ID
        AWS::SNS::Topic
        arn:partition:sns:region:account_ID:topic_name
        AWS::SocialMessaging::PhoneNumberId

        arn:partition:social-messaging:region:account_ID:phone-number-id/phone_number_ID

        AWS::SQS::Queue
        arn:partition:sqs:region:account_ID:queue_name
        AWS::SSM::ManagedNode

        ARN必须采用以下格式之一:

        • arn:partition:ssm:region:account_ID:managed-instance/instance_ID

        • arn:partition:ec2:region:account_ID:instance/instance_ID

        AWS::SSMMessages::ControlChannel
        arn:partition:ssmmessages:region:account_ID:control-channel/control_channel_ID
        AWS::StepFunctions::StateMachine

        ARN必须采用以下格式之一:

        • arn:partition:states:region:account_ID:stateMachine:stateMachine_name

        • arn:partition:states:region:account_ID:stateMachine:stateMachine_name/label_name

        AWS::SWF::Domain
        arn:partition:swf:region:account_ID:/domain/domain_name
        AWS::ThinClient::Device
        arn:partition:thinclient:region:account_ID:device/device_ID
        AWS::ThinClient::Environment
        arn:partition:thinclient:region:account_ID:environment/environment_ID
        AWS::Timestream::Database
        arn:partition:timestream:region:account_ID:database/database_name
        AWS::Timestream::Table
        arn:partition:timestream:region:account_ID:database/database_name/table/table_name
        AWS::VerifiedPermissions::PolicyStore
        arn:partition:verifiedpermissions:region:account_ID:policy-store/policy_store_ID

        1 对于启用了流的表,数据事件中的 resources 字段同时包含 AWS::DynamoDB::StreamAWS::DynamoDB::Table。如果您为 resources.type 指定 AWS::DynamoDB::Table,则原定设置情况下,它将同时记录 DynamoDB 表和 DynamoDB 流事件。要排除直播事件,请eventName在该字段上添加过滤器。

        2 要记录特定 S3 存储桶中所有对象的所有数据事件,请使用StartsWith运算符,并且仅包含该存储桶ARN作为匹配值。刻意使用尾部斜杠;切勿排除它。

        3 要记录 S3 接入点中所有对象的事件,我们建议您仅使用接入点ARN,不要包含对象路径,并使用StartsWithNotStartsWith运算符。

      有关数据事件资源ARN格式的更多信息,请参阅Amazon Identity and Access Management 用户指南中的操作、资源和条件键

    2. 对于每个字段,请选择 + 条件以根据需要添加任意数量的条件,所有条件总共可有最多 500 个指定值。例如,要从事件数据存储中记录的数据事件中排除两个 S3 存储桶的数据事件,可以将该字段设置为 resources。 ARN,将运算符设置为 “不是” 开头,然后粘贴到 S3 存储桶中ARN,或者浏览您不想为其记录事件的 S3 存储桶。

      要添加第二个 S3 存储桶,请选择 + Condition,然后重复前面的指令,粘贴到 f ARN or 中或浏览其他存储桶。

      有关如何 CloudTrail 评估多个条件的信息,请参阅如何 CloudTrail 评估一个字段的多个条件

      注意

      对于事件数据存储上的所有选择器,最多可以有 500 个值。这包括选择器的多个值的数组,例如 eventName。如果所有选择器均为单个值,则最多可以向选择器添加 500 个条件。

    3. 根据需要,选择 + Field(+ 字段)以添加其他字段。为了避免错误,请不要为字段设置冲突或重复的值。例如,不要将一个选择器ARN中的一个指定为等于一个值,然后在另一个选择器中指定ARN不等于相同的值。

  10. 要添加需要记录数据事件的其他数据类型,请选择 Add data event type(添加数据事件类型)。重复步骤 6 至此步骤,为数据事件类型配置高级事件选择器。

  11. 查看并验证选择后,选择保存更改

在中 Amazon Web Services Management Console,如果您的跟踪使用高级事件选择器,则可以从记录所选资源上的所有数据事件的预定义模板中进行选择。选择了日志选择器模板后,您可以自定义模板,以仅包含最希望查看的数据事件。有关使用高级事件选择器的更多信息,请参阅本主题使用高级事件选择器筛选数据事件中的。

  1. 在控制台的 “ CloudTrail 控制面板” 或 “跟踪” 页面上,选择要更新的跟踪。

  2. 在详细信息页面上的数据事件中,选择编辑

  3. 如果您尚未记录数据事件,请选择 Data events(数据事件)复选框。

  4. 对于 Data event type(数据事件类型),选择要在其上记录数据事件的资源类型。

  5. 选择日志选择器模板。 CloudTrail 包括用于记录该资源类型的所有数据事件的预定义模板。要构建自定义日志选择器模板,请选择 Custom(自定义)。

    注意

    为 S3 存储桶选择预定义的模板可以记录当前您 Amazon 账户中的所有存储分段以及您在创建完跟踪后创建的任何存储分段的数据事件。它还允许记录您 Amazon 账户中任何用户或角色执行的数据事件活动,即使该活动是在属于其他 Amazon 账户的存储桶上执行的。

    如果跟踪仅应用于一个区域,则选择记录所有 S3 存储桶的预定义模板可为跟踪所在的区域中的所有存储桶和您后来在该区域中创建的任何存储桶启用数据事件日志记录。它不会在您的 Amazon 账户中记录其他区域的 Amazon S3 存储桶的数据事件。

    如果您要为所有区域创建跟踪,则选择 Lambda 函数的预定义模板可以记录当前 Amazon 账户中的所有函数以及您在完成跟踪创建后可能在任何区域创建的任何 Lambda 函数的数据事件。如果您要为单个区域创建跟踪(对于跟踪,只能使用来完成此操作 Amazon CLI),则此选择将启用您 Amazon 账户中当前位于该区域的所有函数以及您在完成跟踪创建后可能在该区域创建的任何 Lambda 函数的数据事件记录。它不会为在其他区域中创建的 Lambda 函数启用数据事件日志记录。

    记录所有功能的数据事件还可以记录 Amazon 账户中任何用户或角色执行的数据事件活动,即使该活动是在属于另一个 Amazon 账户的函数上执行的。

  6. (可选)在选择器名称中,输入用于标识选择器的名称。选择器名称是高级事件选择器的描述性名称,例如“仅记录两个 S3 桶的数据事件”。选择器名称在高级事件选择器Name中列出,如果展开视图,则可以JSON查看

  7. Advanced event selectors(高级事件选择器)中,为您要记录其数据事件的特定资源构建表达式。如果您使用的是预定义日志模板,则可跳过此步骤。

    1. 从下面的字段中选择。

      • readOnly-readOnly 可以设置为等于truefalse的值。只读数据事件是不会更改资源状态的事件,例如 Get*Describe* 事件。写入事件可添加、更改或删除资源、属性或构件,例如 Put*Delete*Write* 事件。要记录 readwrite 两种事件,请不要添加 readOnly 选择器。

      • eventName - eventName 可以使用任何运算符。您可以使用它来包含或排除记录到的任何数据事件 CloudTrail,例如PutBucketGetItem、或GetSnapshotBlock

      • resources.ARN-您可以将任何运算符与一起使用resources.ARN,但是如果您使用于或不等于,则该ARN值必须与您在模板中指定为的值的resources.type有效资源的值完全匹配。

        下表显示了每种ARN格式的有效格式resources.type

        注意

        您不能使用该resources.ARN字段筛选没有的资源类型ARNs。

        resources.type 资源。 ARN
        AWS::DynamoDB::Table1
        arn:partition:dynamodb:region:account_ID:table/table_name
        AWS::Lambda::Function
        arn:partition:lambda:region:account_ID:function:function_name

        AWS::S3::Object2

        arn:partition:s3:::amzn-s3-demo-bucket/ arn:partition:s3:::amzn-s3-demo-bucket/object_or_file_name/
        AWS::AppConfig::Configuration
        arn:partition:appconfig:region:account_ID:application/application_ID/environment/environment_ID/configuration/configuration_profile_ID
        AWS::B2BI::Transformer
        arn:partition:b2bi:region:account_ID:transformer/transformer_ID
        AWS::Bedrock::AgentAlias
        arn:partition:bedrock:region:account_ID:agent-alias/agent_ID/alias_ID
        AWS::Bedrock::FlowAlias
        arn:partition:bedrock:region:account_ID:flow/flow_ID/alias/alias_ID
        AWS::Bedrock::Guardrail
        arn:partition:bedrock:region:account_ID:guardrail/guardrail_ID
        AWS::Bedrock::KnowledgeBase
        arn:partition:bedrock:region:account_ID:knowledge-base/knowledge_base_ID
        AWS::Bedrock::Model

        ARN必须采用以下格式之一:

        • arn:partition:bedrock:region::foundation-model/resource_ID

        • arn:partition:bedrock:region:account_ID:provisioned-model/resource_ID

        • arn:partition:bedrock:region:account_ID:custom-model/resource_ID

        AWS::Cassandra::Table
        arn:partition:cassandra:region:account_ID:keyspace/keyspace_name/table/table_name
        AWS::CloudFront::KeyValueStore
        arn:partition:cloudfront:region:account_ID:key-value-store/KVS_name
        AWS::CloudTrail::Channel
        arn:partition:cloudtrail:region:account_ID:channel/channel_UUID
        AWS::CodeWhisperer::Customization
        arn:partition:codewhisperer:region:account_ID:customization/customization_ID
        AWS::CodeWhisperer::Profile
        arn:partition:codewhisperer:region:account_ID:profile/profile_ID
        AWS::Cognito::IdentityPool
        arn:partition:cognito-identity:region:account_ID:identitypool/identity_pool_ID
        AWS::DataExchange::Asset
        arn:partition:dataexchange:region:account_ID:data-sets/data_set_ID/revisions/revision_ID/assets/asset_ID
        AWS::Deadline::Fleet
        arn:partition:deadline:region:account_ID:farm/farm_ID/fleet/fleet_ID
        AWS::Deadline::Job
        arn:partition:deadline:region:account_ID:farm/farm_ID/queue/queue_ID/job/job_ID
        AWS::Deadline::Queue
        arn:partition:deadline:region:account_ID:farm/farm_ID/queue/queue_ID
        AWS::Deadline::Worker
        arn:partition:deadline:region:account_ID:farm/farm_ID/fleet/fleet_ID/worker/worker_ID
        AWS::DynamoDB::Stream
        arn:partition:dynamodb:region:account_ID:table/table_name/stream/date_time
        AWS::EC2::Snapshot
        arn:partition:ec2:region::snapshot/snapshot_ID
        AWS::EMRWAL::Workspace
        arn:partition:emrwal:region:account_ID:workspace/workspace_name
        AWS::FinSpace::Environment
        arn:partition:finspace:region:account_ID:environment/environment_ID
        AWS::Glue::Table
        arn:partition:glue:region:account_ID:table/database_name/table_name
        AWS::GreengrassV2::ComponentVersion
        arn:partition:greengrass:region:account_ID:components/component_name
        AWS::GreengrassV2::Deployment
        arn:partition:greengrass:region:account_ID:deployments/deployment_ID
        AWS::GuardDuty::Detector
        arn:partition:guardduty:region:account_ID:detector/detector_ID
        AWS::IoT::Certificate
        arn:partition:iot:region:account_ID:cert/certificate_ID
        AWS::IoT::Thing
        arn:partition:iot:region:account_ID:thing/thing_ID
        AWS::IoTSiteWise::Asset
        arn:partition:iotsitewise:region:account_ID:asset/asset_ID
        AWS::IoTSiteWise::TimeSeries
        arn:partition:iotsitewise:region:account_ID:timeseries/timeseries_ID
        AWS::IoTTwinMaker::Entity
        arn:partition:iottwinmaker:region:account_ID:workspace/workspace_ID/entity/entity_ID
        AWS::IoTTwinMaker::Workspace
        arn:partition:iottwinmaker:region:account_ID:workspace/workspace_ID
        AWS::KendraRanking::ExecutionPlan
        arn:partition:kendra-ranking:region:account_ID:rescore-execution-plan/rescore_execution_plan_ID
        AWS::Kinesis::Stream
        arn:partition:kinesis:region:account_ID:stream/stream_name
        AWS::Kinesis::StreamConsumer
        arn:partition:kinesis:region:account_ID:stream_type/stream_name/consumer/consumer_name:consumer_creation_timestamp
        AWS::KinesisVideo::Stream
        arn:partition:kinesisvideo:region:account_ID:stream/stream_name/creation_time
        AWS::MachineLearning::MlModel
        arn:partition:machinelearning:region:account_ID:mlmodel/model_ID
        AWS::ManagedBlockchain::Network
        arn:partition:managedblockchain:::networks/network_name
        AWS::ManagedBlockchain::Node
        arn:partition:managedblockchain:region:account_ID:nodes/node_ID
        AWS::MedicalImaging::Datastore
        arn:partition:medical-imaging:region:account_ID:datastore/data_store_ID
        AWS::NeptuneGraph::Graph
        arn:partition:neptune-graph:region:account_ID:graph/graph_ID
        AWS::One::UKey
        arn:partition:one:region:account_ID:user/user_ID/u-key/u-key_ID
        AWS::One::User
        arn:partition:one:region:account_ID:user/user_ID
        AWS::PaymentCryptography::Alias
        arn:partition:payment-cryptography:region:account_ID:alias/alias
        AWS::PaymentCryptography::Key
        arn:partition:payment-cryptography:region:account_ID:key/key_ID
        AWS::PCAConnectorAD::Connector
        arn:partition:pca-connector-ad:region:account_ID:connector/connector_ID
        AWS::PCAConnectorSCEP::Connector
        arn:partition:pca-connector-scep:region:account_ID:connector/connector_ID
        AWS::QApps:QApp
        arn:partition:qapps:region:account_ID:application/application_UUID/qapp/qapp_UUID
        AWS::QBusiness::Application
        arn:partition:qbusiness:region:account_ID:application/application_ID
        AWS::QBusiness::DataSource
        arn:partition:qbusiness:region:account_ID:application/application_ID/index/index_ID/data-source/datasource_ID
        AWS::QBusiness::Index
        arn:partition:qbusiness:region:account_ID:application/application_ID/index/index_ID
        AWS::QBusiness::WebExperience
        arn:partition:qbusiness:region:account_ID:application/application_ID/web-experience/web_experienc_ID
        AWS::RDS::DBCluster
        arn:partition:rds:region:account_ID:cluster/cluster_name
        AWS::RUM::AppMonitor
        arn:partition:rum:region:account_ID:appmonitor/app_monitor_name

        AWS::S3::AccessPoint3

        arn:partition:s3:region:account_ID:accesspoint/access_point_name

        AWS::S3Express::Object

        arn:partition:s3express:region:account_ID:bucket/bucket_name
        AWS::S3ObjectLambda::AccessPoint
        arn:partition:s3-object-lambda:region:account_ID:accesspoint/access_point_name
        AWS::S3Outposts::Object
        arn:partition:s3-outposts:region:account_ID:object_path
        AWS::SageMaker::Endpoint
        arn:partition:sagemaker:region:account_ID:endpoint/endpoint_name
        AWS::SageMaker::ExperimentTrialComponent
        arn:partition:sagemaker:region:account_ID:experiment-trial-component/experiment_trial_component_name
        AWS::SageMaker::FeatureGroup
        arn:partition:sagemaker:region:account_ID:feature-group/feature_group_name
        AWS::SCN::Instance
        arn:partition:scn:region:account_ID:instance/instance_ID
        AWS::ServiceDiscovery::Namespace
        arn:partition:servicediscovery:region:account_ID:namespace/namespace_ID
        AWS::ServiceDiscovery::Service
        arn:partition:servicediscovery:region:account_ID:service/service_ID
        AWS::SNS::PlatformEndpoint
        arn:partition:sns:region:account_ID:endpoint/endpoint_type/endpoint_name/endpoint_ID
        AWS::SNS::Topic
        arn:partition:sns:region:account_ID:topic_name
        AWS::SocialMessaging::PhoneNumberId

        arn:partition:social-messaging:region:account_ID:phone-number-id/phone_number_ID

        AWS::SQS::Queue
        arn:partition:sqs:region:account_ID:queue_name
        AWS::SSM::ManagedNode

        ARN必须采用以下格式之一:

        • arn:partition:ssm:region:account_ID:managed-instance/instance_ID

        • arn:partition:ec2:region:account_ID:instance/instance_ID

        AWS::SSMMessages::ControlChannel
        arn:partition:ssmmessages:region:account_ID:control-channel/control_channel_ID
        AWS::StepFunctions::StateMachine

        ARN必须采用以下格式之一:

        • arn:partition:states:region:account_ID:stateMachine:stateMachine_name

        • arn:partition:states:region:account_ID:stateMachine:stateMachine_name/label_name

        AWS::SWF::Domain
        arn:partition:swf:region:account_ID:/domain/domain_name
        AWS::ThinClient::Device
        arn:partition:thinclient:region:account_ID:device/device_ID
        AWS::ThinClient::Environment
        arn:partition:thinclient:region:account_ID:environment/environment_ID
        AWS::Timestream::Database
        arn:partition:timestream:region:account_ID:database/database_name
        AWS::Timestream::Table
        arn:partition:timestream:region:account_ID:database/database_name/table/table_name
        AWS::VerifiedPermissions::PolicyStore
        arn:partition:verifiedpermissions:region:account_ID:policy-store/policy_store_ID

        1 对于启用了流的表,数据事件中的 resources 字段同时包含 AWS::DynamoDB::StreamAWS::DynamoDB::Table。如果您为 resources.type 指定 AWS::DynamoDB::Table,则原定设置情况下,它将同时记录 DynamoDB 表和 DynamoDB 流事件。要排除直播事件,请eventName在该字段上添加过滤器。

        2 要记录特定 S3 存储桶中所有对象的所有数据事件,请使用StartsWith运算符,并且仅包含该存储桶ARN作为匹配值。刻意使用尾部斜杠;切勿排除它。

        3 要记录 S3 接入点中所有对象的事件,我们建议您仅使用接入点ARN,不要包含对象路径,并使用StartsWithNotStartsWith运算符。

      有关数据事件资源ARN格式的更多信息,请参阅Amazon Identity and Access Management 用户指南中的操作、资源和条件键

    2. 对于每个字段,请选择 + 条件以根据需要添加任意数量的条件,所有条件总共可有最多 500 个指定值。例如,要从事件数据存储中记录的数据事件中排除两个 S3 存储桶的数据事件,可以将该字段设置为 resources。 ARN,将运算符设置为 “不是” 开头,然后粘贴到 S3 存储桶中ARN,或者浏览您不想为其记录事件的 S3 存储桶。

      要添加第二个 S3 存储桶,请选择 + Condition,然后重复前面的指令,粘贴到 f ARN or 中或浏览其他存储桶。

      有关如何 CloudTrail 评估多个条件的信息,请参阅如何 CloudTrail 评估一个字段的多个条件

      注意

      对于事件数据存储上的所有选择器,最多可以有 500 个值。这包括选择器的多个值的数组,例如 eventName。如果所有选择器均为单个值,则最多可以向选择器添加 500 个条件。

    3. 根据需要,选择 + Field(+ 字段)以添加其他字段。为了避免错误,请不要为字段设置冲突或重复的值。例如,不要将一个选择器ARN中的一个指定为等于一个值,然后在另一个选择器中指定ARN不等于相同的值。

  8. 要添加需要记录数据事件的其他数据类型,请选择 Add data event type(添加数据事件类型)。重复步骤 4 至此步骤,为数据事件类型配置高级事件选择器。

  9. 查看并验证选择后,选择保存更改

按照以下程序,使用基本事件选择器更新现有跟踪以记录数据事件。

  1. 登录 Amazon Web Services Management Console 并打开 CloudTrail 控制台,网址为https://console.aws.amazon.com/cloudtrail/

  2. 打开 CloudTrail 控制台的 T ra ils 页面并选择跟踪名称。

    注意

    虽然您可以编辑现有跟踪以记录数据事件,但作为最佳实践,请考虑专门创建单独的跟踪以记录数据事件。

  3. 对于 Data event(数据事件),选择 Edit(编辑)。

  4. 对于 Simple Storage Service(Amazon S3)存储桶:

    1. 对于 Data event source(数据事件源),选择 S3

    2. 您可以选择记录 All current and future S3 buckets(所有当前和未来 S3 存储桶),也可以指定单个存储桶或函数。默认情况下,记录所有当前和未来 S3 存储桶的数据事件。

      注意

      保留默认 “All current and future S3 存储桶” 选项将允许您 Amazon 账户中当前的所有存储分段以及您在完成跟踪创建后创建的任何存储分段的数据事件记录。它还允许记录您 Amazon 账户中任何用户或角色执行的数据事件活动,即使该活动是在属于其他 Amazon 账户的存储桶上执行的。

      如果您要为单个区域创建跟踪(使用完成 Amazon CLI),则选择 “选择账户中的所有 S3 存储桶” 选项可为与您的跟踪位于同一区域的所有存储桶以及您稍后在该区域创建的任何存储桶启用数据事件日志记录。它不会在您的 Amazon 账户中记录其他区域的 Amazon S3 存储桶的数据事件。

    3. 如果保留默认值 All current and future S3 buckets(所有当前和未来 S3 存储桶),则选择记录 Read(读取)事件、Write(写入)事件,还是记录两者。

    4. 要选择单个存储桶,请清空 All current and future S3 buckets(所有当前和未来 S3 存储桶)的 Read(读取)和Write(写入)复选框。在 Individual bucket selection(单个存储桶选择)中,浏览要在其上记录数据事件的存储桶。要查找特定存储桶,键入所需存储桶的存储桶前缀。您可以在此窗口中选择多个存储桶。选择添加存储桶,记录更多存储桶的数据事件。选择记录 Read(读取)事件(如 GetObject)、Write(写入)事件(如 PutObject)或同时记录两种事件。

      此设置优先于为各个存储桶配置的个别设置。例如,如果指定记录所有 S3 存储桶的 Read 事件,然后选择为数据事件日志记录添加一个特定存储桶,则所添加存储桶的 Read 已经是选中状态。您无法清除此选择。只能配置 Write 选项。

      要从日志记录中删除存储桶,请选择 X

  5. 要添加需要记录数据事件的其他数据类型,请选择 Add data event type(添加数据事件类型)。

  6. 对于 Lambda 函数:

    1. 对于 Data event source(数据事件源),选择 Lambda

    2. Lambda 函数中,选择所有区域以记录所有 Lambda 函数,或选择输入函数ARN以记录特定函数的数据事件。

      要记录 Amazon 账户中的所有 Lambda 函数的数据事件,请选择 Log all current and future functions(记录所有当前和未来函数)。此设置优先于为各个函数配置的个别设置。将记录所有函数,即便这些函数未显示。

      注意

      如果为所有区域创建了一个跟踪,则此选择将为您的 Amazon 账户中当前包含的所有函数以及您在创建跟踪后可能在任何区域中创建的任何 Lambda 函数启用数据事件日志记录。如果您要为单个区域创建跟踪(使用完成 Amazon CLI),则此选择将启用您 Amazon 账户中该区域中当前所有函数的数据事件记录,以及您在完成跟踪创建后可能在该区域创建的任何 Lambda 函数的数据事件记录。它不会为在其他区域中创建的 Lambda 函数启用数据事件日志记录。

      记录所有功能的数据事件还可以记录 Amazon 账户中任何用户或角色执行的数据事件活动,即使该活动是在属于另一个 Amazon 账户的函数上执行的。

    3. 如果您选择输入函数为 ARN,请输入 Lambda 函数的。ARN

      注意

      如果您的账户中有超过 15,000 个 Lambda 函数,则在创建跟踪时无法在 CloudTrail控制台中查看或选择所有函数。您仍可以选择该选项来记录所有函数,即使未显示这些函数也是如此。如果要记录特定函数的数据事件,则可以手动添加一个函数(如果您知道该函数)ARN。您也可以在控制台中完成跟踪的创建,然后使用 Amazon CLI 和put-event-selectors命令为特定 Lambda 函数配置数据事件记录。有关更多信息,请参阅 使用管理跟踪 Amazon CLI

  7. 要添加需要记录数据事件的其他数据类型,请选择 Add data event type(添加数据事件类型)。

  8. 对于 DynamoDB 表:

    1. 对于 Data event source(数据事件源),选择 DynamoDB

    2. 在 D ynamoDB 表选择中选择浏览以选择一个表,或者粘贴您有权访问ARN的 DynamoDB 表。DynamoDB ARN 表使用以下格式:

      arn:partition:dynamodb:region:account_ID:table/table_name

      要添加其他表,请选择 Add row,然后浏览找到一个表格或粘贴到您有权访问ARN的表中。

  9. 选择 Save changes(保存更改)

使用记录数据事件 Amazon Command Line Interface

您可以使用 Amazon CLI配置跟踪以记录数据事件。

使用记录跟踪的数据事件 Amazon CLI

您可以使用 Amazon CLI配置您的跟踪记录以记录管理事件和数据事件。

注意
  • 请注意,如果您的账户正在记录管理事件的多个副本,将会产生费用。记录数据事件始终需要收取费用。有关更多信息,请参阅 Amazon CloudTrail 定价

  • 您可以使用高级事件选择器或基本事件选择器,但不能同时使用两者。如果将高级事件选择器应用于跟踪,则所有现有的基本事件选择器都将被覆盖。

  • 如果您的跟踪使用基本的事件选择器,则您只能记录以下资源类型:

    • AWS::DynamoDB::Table

    • AWS::Lambda::Function

    • AWS::S3::Object

    要记录其他资源类型,您需要使用高级事件选择器。要将跟踪转换为高级事件选择器,请运行 get-event-selectors 命令以确认当前事件选择器,然后将高级事件选择器配置为与以前的事件选择器的覆盖范围相匹配,然后为要记录数据事件的任何资源类型添加选择器。

  • 您可以使用高级事件选择器根据 eventNameresources.ARNreadOnly 字段的值来进行筛选,从而使您能够仅记录感兴趣的数据事件。有关配置这些字段的更多信息,请参阅 AdvancedFieldSelectorAmazon CloudTrail API参考资料和本主题使用高级事件选择器筛选数据事件中。

要查看您的跟踪是否正在记录管理事件和数据事件,请运行 get-event-selectors 命令。

aws cloudtrail get-event-selectors --trail-name TrailName

该命令返回跟踪的事件选择器。

使用高级事件选择器记录事件

注意

如果将高级事件选择器应用于跟踪,则所有现有的基本事件选择器都将被覆盖。在配置高级事件选择器之前,请运行 get-event-selectors 命令以确认当前事件选择器,然后将高级事件选择器配置为与以前的事件选择器的覆盖范围相匹配,然后为要记录的任何其他数据事件添加选择器。

以下示例为名为的跟踪创建自定义高级事件选择器 TrailName 包括读写管理事件(省略readOnly选择器)PutObject以及所有 Amazon S3 存储桶/前缀组合DeleteObject的数据事件,名为的存储桶amzn-s3-demo-bucket和名为的函数的数据事件除外。 Amazon Lambda MyLambdaFunction由于这些都是自定义高级事件选择器,因此每组选择器都有一个描述性名称。请注意,结尾的斜杠是 S3 存储桶ARN值的一部分。

aws cloudtrail put-event-selectors --trail-name TrailName --advanced-event-selectors '[ { "Name": "Log readOnly and writeOnly management events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Management"] } ] }, { "Name": "Log PutObject and DeleteObject events for all but one bucket", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::S3::Object"] }, { "Field": "eventName", "Equals": ["PutObject","DeleteObject"] }, { "Field": "resources.ARN", "NotStartsWith": ["arn:aws:s3:::amzn-s3-demo-bucket/"] } ] }, { "Name": "Log data plane actions on MyLambdaFunction", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::Lambda::Function"] }, { "Field": "resources.ARN", "Equals": ["arn:aws:lambda:us-east-2:111122223333:function/MyLambdaFunction"] } ] } ]'

以下示例返回为跟踪配置的高级事件选择器。

{ "AdvancedEventSelectors": [ { "Name": "Log readOnly and writeOnly management events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Management" ] } ] }, { "Name": "Log PutObject and DeleteObject events for all but one bucket", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "resources.type", "Equals": [ "AWS::S3::Object" ] }, { "Field": "resources.ARN", "NotStartsWith": [ "arn:aws:s3:::amzn-s3-demo-bucket/" ] }, ] }, { "Name": "Log data plane actions on MyLambdaFunction", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "resources.type", "Equals": [ "AWS::Lambda::Function" ] }, { "Field": "eventName", "Equals": [ "Invoke" ] }, { "Field": "resources.ARN", "Equals": [ "arn:aws:lambda:us-east-2:111122223333:function/MyLambdaFunction" ] } ] } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName" }

使用高级事件选择器记录亚马逊 S3 存储桶的所有 Amazon S3 事件

注意

如果将高级事件选择器应用于跟踪,则所有现有的基本事件选择器都将被覆盖。

以下示例说明如何配置您的跟踪以包含特定 S3 存储桶中的所有 Simple Storage Service(Amazon S3)对象的所有数据事件。S3 事件在 resources.type 字段中的值为 AWS::S3::Object。由于 S3 对象和 S3 存储桶的ARN值略有不同,因此必须添加的StartsWith运算符resources.ARN才能捕获所有事件。

aws cloudtrail put-event-selectors --trail-name TrailName --region region \ --advanced-event-selectors \ '[ { "Name": "S3EventSelector", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::S3::Object"] }, { "Field": "resources.ARN", "StartsWith": ["arn:partition:s3:::amzn-s3-demo-bucket/"] } ] } ]'

该命令将返回以下示例输出。

{ "TrailARN": "arn:aws:cloudtrail:region:account_ID:trail/TrailName", "AdvancedEventSelectors": [ { "Name": "S3EventSelector", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "resources.type", "Equals": [ "AWS::S3::Object" ] }, { "Field": "resources.ARN", "StartsWith": [ "arn:partition:s3:::amzn-s3-demo-bucket/" ] } ] } ] }

使用高级事件选择器记录 Simple Storage Service(Amazon S3)on Amazon Outposts 事件

注意

如果将高级事件选择器应用于跟踪,则所有现有的基本事件选择器都将被覆盖。

以下示例说明如何配置您的跟踪以包含您的 Outpost 中的 Outposts 对象上的所有 Simple Storage Service(Amazon S3)的所有数据事件。

aws cloudtrail put-event-selectors --trail-name TrailName --region region \ --advanced-event-selectors \ '[ { "Name": "OutpostsEventSelector", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::S3Outposts::Object"] } ] } ]'

该命令将返回以下示例输出。

{ "TrailARN": "arn:aws:cloudtrail:region:account_ID:trail/TrailName", "AdvancedEventSelectors": [ { "Name": "OutpostsEventSelector", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "resources.type", "Equals": [ "AWS::S3Outposts::Object" ] } ] } ] }

使用基本事件选择器记录事件

下面是显示基本事件选择器的 get-event-selectors 命令结果示例。默认情况下,当您使用创建跟踪时 Amazon CLI,跟踪会记录所有管理事件。默认情况下,跟踪记录不记录数据事件。

{ "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName", "EventSelectors": [ { "IncludeManagementEvents": true, "DataResources": [], "ReadWriteType": "All" } ] }

要将跟踪配置为记录管理事件和数据事件,请运行 put-event-selectors 命令。

以下示例说明如何使用基本事件选择器配置跟踪,以包含两个 S3 存储桶前缀中 S3 对象的所有管理事件和数据事件。您可以为一个跟踪指定 1 至 5 个事件选择器。您可以为一个跟踪指定 1 至 250 个数据资源。

注意

如果您选择使用基本事件选择器限制数据事件,则最多只能有 250 个 S3 数据资源。

aws cloudtrail put-event-selectors --trail-name TrailName --event-selectors '[{ "ReadWriteType": "All", "IncludeManagementEvents":true, "DataResources": [{ "Type": "AWS::S3::Object", "Values": ["arn:aws:s3:::amzn-s3-demo-bucket1/prefix", "arn:aws:s3:::amzn-s3-demo-bucket2;/prefix2"] }] }]'

该命令将返回为跟踪配置的事件选择器。

{ "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName", "EventSelectors": [ { "IncludeManagementEvents": true, "DataResources": [ { "Values": [ "arn:aws:s3:::amzn-s3-demo-bucket1/prefix", "arn:aws:s3:::amzn-s3-demo-bucket2/prefix2", ], "Type": "AWS::S3::Object" } ], "ReadWriteType": "All" } ] }

使用记录数据事件 Amazon SDKs

运行该GetEventSelectors操作以查看您的跟踪是否正在记录数据事件。您可以通过运行PutEventSelectors操作将跟踪配置为记录数据事件。有关更多信息,请参阅《Amazon CloudTrail API参考》。