记录数据事件
此部分描述了如何使用 CloudTrail 控制台和 AWS CLI 记录数据事件。
默认情况下,跟踪和事件数据存储不记录数据事件。记录数据事件将收取额外费用。有关更多信息,请参阅 AWS CloudTrail 定价
数据事件提供有关对在资源上或资源内执行的资源操作的信息。这些也称为数据层面操作。数据事件通常是高容量活动。
示例数据事件包括:
-
S3 存储桶中对象上的 Amazon S3 对象级 API 活动(例如
GetObject、DeleteObject和PutObjectAPI 操作)。 -
AWS Lambda 函数执行活动 (
InvokeAPI)。 -
针对 CloudTrail Lake 通道 的 CloudTrail
PutAuditEvents活动,用于记录来自 AWS 外部的事件。 -
针对主题的 Amazon SNS
Publish和PublishBatchAPI 操作。
您可以使用高级事件选择器来创建细粒度选择器,通过仅为您的使用场景记录感兴趣的特定事件来帮助控制成本。例如,您可以通过在 eventName 字段上添加筛选条件,使用高级事件选择器来记录特定 API 调用。有关更多信息,请参阅 使用高级事件选择器筛选数据事件。
注意
Amazon EventBridge 中提供由跟踪记录的事件。例如,如果您选择记录 S3 对象的数据事件而非管理事件,则您的跟踪将仅处理和记录指定 S3 对象的数据事件。Amazon EventBridge 中提供这些 S3 对象的数据事件。有关更多信息,请参阅《Amazon EventBridge 用户参考》和《AWS Events 参考》https://docs.aws.amazon.com/eventbridge/latest/ref/welcome.html中的通过 CloudTrail 传输的 AWS 服务事件。
目录
数据事件
下表显示可用于跟踪和事件数据存储的资源类型。资源类型(控制台)列显示控制台中的相应选择。resources.type 值列显示您指定的 resources.type 值,以使用 AWS CLI 或 CloudTrail API 将该类型的数据事件包含在跟踪或事件数据存储中。
对于跟踪,您可以使用基本或高级事件选择器来记录通用存储桶、Lambda 函数和 DynamoDB 表中的 Amazon S3 对象的数据事件(显示在表的前三行中)。您只能使用高级事件选择器来记录其余行中显示的资源类型。
对于事件数据存储,只能使用高级事件选择器来包含数据事件。
AWS CloudTrail 支持的数据事件
| AWS 服务 | 描述 | 资源类型(控制台) | resources.type 值 |
|---|---|---|---|
| Amazon RDS | 数据库集群上的 Amazon RDS API 活动。 |
RDS 数据 API - 数据库集群 | AWS::RDS::DBCluster |
| Amazon S3 | 通用存储桶中对象上的 Amazon S3 对象级 API 活动(例如 |
S3 | AWS::S3::Object |
| Amazon S3 | 接入点上的 Amazon S3 API 活动。 |
S3 接入点 | AWS::S3::AccessPoint |
| Amazon S3 | 目录存储桶中对象上的 Amazon S3 对象级 API 活动(例如 |
S3 Express | AWS::S3Express::Object |
| Amazon S3 | Amazon S3 对象 Lambda 接入点 API 活动,例如调用 |
S3 对象 Lambda | AWS::S3ObjectLambda::AccessPoint |
| Amazon S3 | 针对卷的 Amazon FSx API 活动。 |
FSx 卷 | AWS::FSx::Volume |
| Amazon S3 表 | 针对表的 Amazon S3 API 活动。 |
S3 表 | AWS::S3Tables::Table |
| Amazon S3 表 | 针对表存储桶的 Amazon S3 API 活动。 |
S3 表存储桶 | AWS::S3Tables::TableBucket |
| Amazon S3 Vectors | 针对向量存储桶的 Amazon S3 API 活动。 |
S3 向量存储桶 | AWS::S3Vectors::VectorBucket |
| Amazon S3 Vectors | 针对向量索引的 Amazon S3 API 活动。 |
S3 向量索引 | AWS::S3Vectors::Index |
| Amazon S3 on Outposts | S3 Outposts | AWS::S3Outposts::Object |
|
| Amazon SNS | 针对平台端点的 Amazon SNS |
SNS 平台端点 | AWS::SNS::PlatformEndpoint |
| Amazon SNS | 针对主题的 Amazon SNS |
SNS 主题 | AWS::SNS::Topic |
| Amazon SQS | 消息上的 Amazon SQS API 活动。 |
SQS | AWS::SQS::Queue |
| AWS Supply Chain | 实例上的 AWS Supply Chain API 活动。 |
供应链 | AWS::SCN::Instance |
| Amazon SWF | SWF 域 | AWS::SWF::Domain |
|
| AWS AppConfig | 用于配置操作的 AWS AppConfig API 活动,例如调用 |
AWS AppConfig | AWS::AppConfig::Configuration |
| AWS AppSync | 针对 AppSync GraphQL API 的 AWS AppSync API 活动。 |
AppSync GraphQL | AWS::AppSync::GraphQLApi |
| Amazon Aurora DSQL | 针对集群资源的 Amazon Aurora DSQL API 活动。 |
Amazon Aurora DSQL | AWS::DSQL::Cluster |
| AWS B2B Data Interchange | 用于转换器操作的 B2B 数据交换 API 活动,例如对 |
B2B 数据交换 | AWS::B2BI::Transformer |
| AWS Backup | 针对搜索作业的 AWS Backup 搜索数据 API 活动。 |
AWS Backup 搜索数据 API | AWS::Backup::SearchJob |
| Amazon Bedrock | 代理别名上的 Amazon Bedrock API 活动。 | Bedrock 代理别名 | AWS::Bedrock::AgentAlias |
| Amazon Bedrock | 针对异步调用的 Amazon Bedrock API 活动。 | Bedrock 异步调用 | AWS::Bedrock::AsyncInvoke |
| Amazon Bedrock | 流别名上的 Amazon Bedrock API 活动。 | Bedrock 流别名 | AWS::Bedrock::FlowAlias |
| Amazon Bedrock | 护栏上的 Amazon Bedrock API 活动。 | Bedrock 护栏 | AWS::Bedrock::Guardrail |
| Amazon Bedrock | 针对内联代理的 Amazon Bedrock API 活动。 | Bedrock 调用内联代理 | AWS::Bedrock::InlineAgent |
| Amazon Bedrock | 知识库上的 Amazon Bedrock API 活动。 | Bedrock 知识库 | AWS::Bedrock::KnowledgeBase |
| Amazon Bedrock | 模型上的 Amazon Bedrock API 活动。 | Bedrock 模型 | AWS::Bedrock::Model |
| Amazon Bedrock | 针对提示的 Amazon Bedrock API 活动。 | Bedrock 提示 | AWS::Bedrock::PromptVersion |
| Amazon Bedrock | 针对会话的 Amazon Bedrock API 活动。 | Bedrock 会议 | AWS::Bedrock::Session |
| Amazon Bedrock | 针对流执行的 Amazon Bedrock API 活动。 |
Bedrock 流执行 | AWS::Bedrock::FlowExecution |
| Amazon Bedrock | 针对自动推理策略的 Amazon Bedrock API 活动。 |
Bedrock 自动推理策略 | AWS::Bedrock::AutomatedReasoningPolicy |
| Amazon Bedrock | 针对自动推理策略版本的 Amazon Bedrock API 活动。 |
Bedrock 自动推理策略版本 | AWS::Bedrock::AutomatedReasoningPolicyVersion |
Amazon Bedrock |
Amazon Bedrock 数据自动化项目 API 活动。 |
Bedrock 数据自动化项目 |
|
Amazon Bedrock |
Bedrock 数据自动化调用 API 活动。 |
Bedrock 数据自动化调用 |
|
Amazon Bedrock |
Amazon Bedrock 数据自动化配置文件 API 活动。 |
Bedrock 数据自动化配置文件 |
|
Amazon Bedrock |
Amazon Bedrock 蓝图 API 活动。 |
Bedrock 蓝图 |
|
Amazon Bedrock |
Amazon Bedrock 代码解释器 API 活动。 |
Bedrock-AgentCore 代码解释器 |
|
Amazon Bedrock |
Amazon Bedrock 浏览器 API 活动。 |
Bedrock-AgentCore 浏览器 |
|
Amazon Bedrock |
Amazon Bedrock 工作负载身份 API 活动。 |
Bedrock-AgentCore 工作负载身份 |
|
Amazon Bedrock |
Amazon Bedrock 工作负载身份目录 API 活动。 |
Bedrock-AgentCore 工作负载身份目录 |
|
Amazon Bedrock |
Amazon Bedrock 令牌文件库 API 活动。 |
Bedrock-AgentCore 令牌文件库 |
|
Amazon Bedrock |
Amazon Bedrock APIKey CredentialProvider API 活动。 |
Bedrock-AgentCore APIKey CredentialProvider |
|
Amazon Bedrock |
Amazon Bedrock 运行时 API 活动。 |
Bedrock-AgentCore 运行时 |
|
Amazon Bedrock |
Amazon Bedrock 运行时端点 API 活动。 |
Bedrock-AgentCore 运行时端点 |
|
Amazon Bedrock |
Amazon Bedrock 网关 API 活动。 |
Bedrock-AgentCore 网关 |
|
Amazon Bedrock |
Amazon Bedrock 内存 API 活动。 |
Bedrock-AgentCore 内存 |
|
Amazon Bedrock |
Amazon Bedrock Oauth2 CredentialProvider API 活动。 |
Bedrock-AgentCore Oauth2 CredentialProvider |
|
Amazon Bedrock |
Amazon Bedrock 浏览器自定义 API 活动。 |
Bedrock-AgentCore 浏览器自定义 |
|
Amazon Bedrock |
Amazon Bedrock 代码解释器自定义 API 活动。 |
Bedrock-AgentCore 代码解释器自定义 |
|
| Amazon Bedrock | Amazon Bedrock 工具 API 活动。 |
Bedrock 工具 | AWS::Bedrock::Tool |
| AWS Cloud Map | 命名空间上的 AWS Cloud Map API 活动。 | AWS Cloud Map 命名空间 | |
| AWS Cloud Map | 服务上的 AWS Cloud Map API 活动。 | AWS Cloud Map 服务 | |
| Amazon CloudFront | 上的 CloudFront API 活动。。KeyValueStore |
CloudFront KeyValueStore | AWS::CloudFront::KeyValueStore |
| AWS CloudTrail | 针对 CloudTrail Lake 通道 的 CloudTrail |
CloudTrail 通道 | AWS::CloudTrail::Channel |
| Amazon CloudWatch | 指标上的 Amazon CloudWatch API 活动。 |
CloudWatch 指标 | AWS::CloudWatch::Metric |
| Amazon CloudWatch 网络流量监测仪 | 监视器上的 Amazon CloudWatch 网络流量监测仪 API 活动。 |
网络流量监测仪监视器 | AWS::NetworkFlowMonitor::Monitor |
| Amazon CloudWatch 网络流量监测仪 | 作用域上的 Amazon CloudWatch 网络流量监测仪 API 活动。 |
网络流量监测仪作用域 | AWS::NetworkFlowMonitor::Scope |
| Amazon CloudWatch RUM | 应用程序监视器上的 Amazon CloudWatch RUM API 活动。 |
RUM 应用程序监视器 | AWS::RUM::AppMonitor |
| Amazon CodeGuru Profiler | 对分析组的 CodeGuru Profiler API 活动。 | CodeGuru Profiler 分析组 | AWS::CodeGuruProfiler::ProfilingGroup |
| Amazon CodeWhisperer | 针对自定义的 Amazon CodeWhisperer API 活动。 | CodeWhisperer 自定义 | AWS::CodeWhisperer::Customization |
| Amazon CodeWhisperer | 针对个人资料的 Amazon CodeWhisperer API 活动。 | CodeWhisperer | AWS::CodeWhisperer::Profile |
| Amazon Cognito | 针对 Amazon Cognito 身份池的 Amazon Cognito API 活动。 |
Cognito 身份池 | AWS::Cognito::IdentityPool |
| AWS Data Exchange | 资产上的 AWS Data Exchange API 活动。 |
Data Exchange 资产 |
|
Amazon Data Firehose |
Amazon Data Firehose 传输流 API 活动。 |
Amazon Data Firehose |
|
| AWS Deadline Cloud | 实例集上的 Deadline Cloud API 活动。 |
Deadline Cloud 实例集 |
|
| AWS Deadline Cloud | 作业上的 Deadline Cloud API 活动。 |
Deadline Cloud 作业 |
|
| AWS Deadline Cloud | 队列上的 Deadline Cloud API 活动。 |
Deadline Cloud 队列 |
|
| AWS Deadline Cloud | 工作程序上的 Deadline Cloud API 活动。 |
Deadline Cloud 工作程序 |
|
| Amazon DynamoDB | 表上的 Amazon DynamoDB 项目级 API 活动(例如, 注意对于启用了流的表,数据事件中的 |
DynamoDB |
|
| Amazon DynamoDB | 针对流的 Amazon DynamoDB API 活动 |
DynamoDB Streams | AWS::DynamoDB::Stream |
| Amazon Elastic Block Store | Amazon Elastic Block Store (EBS) 直接 API,例如 Amazon EBS 快照上的 |
Amazon EBS 直接 API | AWS::EC2::Snapshot |
Amazon Elastic Compute Cloud |
Amazon EC2 Instance Connect 端点 API 活动。 |
EC2 Instance Connect 端点 |
|
| Amazon Elastic Container Service | 对容器实例的 Amazon Elastic Container Service API 活动。 |
ECS 容器实例 | AWS::ECS::ContainerInstance |
| Amazon Elastic Kubernetes Service | 对控制面板的 Amazon Elastic Kubernetes Service API 活动。 |
Amazon Elastic Kubernetes Service 控制面板 | AWS::EKS::Dashboard |
| Amazon EMR | 预写日志工作区上的 Amazon EMR API 活动。 | EMR 预写日志工作空间 | AWS::EMRWAL::Workspace |
| AWS 最终用户消息 SMS | 发起身份上的 AWS 最终用户消息 SMS API 活动。 | SMS 语音发起身份 | AWS::SMSVoice::OriginationIdentity |
| AWS 最终用户消息 SMS | 对消息的 AWS 终端用户消息发送 SMS 服务 API 活动。 | 短信语音消息 | AWS::SMSVoice::Message |
| AWS 最终用户消息社交 | 电话号码 ID 上的 AWS 最终用户消息社交 API 活动。 | 社交消息电话号码 ID | AWS::SocialMessaging::PhoneNumberId |
| AWS 最终用户消息社交 | 对 Waba ID 的 AWS 最终用户社交消息 API 活动。 | 社交消息 Waba ID | AWS::SocialMessaging::WabaId |
| Amazon FinSpace | 针对环境的 Amazon FinSpace API 活动 |
FinSpace | AWS::FinSpace::Environment |
| Amazon GameLift Streams | 对应用程序的 Amazon GameLift Streams 流式处理 API 活动。 |
GameLift Streams 应用程序 | AWS::GameLiftStreams::Application |
| Amazon GameLift Streams | 对流组的 Amazon GameLift Streams 流式处理 API 活动。 |
GameLift Streams 流组 | AWS::GameLiftStreams::StreamGroup |
| AWS Glue | 针对 Lake Formation 创建的表的 AWS Glue API 活动 |
Lake Formation | AWS::Glue::Table |
| Amazon GuardDuty | 检测器的 Amazon GuardDuty API 活动。 |
GuardDuty 检测器 | AWS::GuardDuty::Detector |
| AWS HealthImaging | 针对数据存储的 AWS HealthImaging API 活动。 |
医学成像数据存储 | AWS::MedicalImaging::Datastore |
AWS HealthImaging |
AWS HealthImaging 映像集 API 活动。 |
MedicalImaging 映像集 |
|
| AWS IoT | 证书上的 AWS IoT API 活动。 |
IoT 证书 | AWS::IoT::Certificate |
| AWS IoT | 事物上的 AWS IoTAPI 活动。 |
IoT 事物 | AWS::IoT::Thing |
| AWS IoT Greengrass Version 2 | 组件版本上来自 Greengrass 核心设备的 Greengrass API 活动。 注意Greengrass 不会记录访问被拒绝事件。 |
IoT Greengrass 组件版本 | AWS::GreengrassV2::ComponentVersion |
| AWS IoT Greengrass Version 2 | 部署上来自 Greengrass 核心设备的 Greengrass API 活动。 注意Greengrass 不会记录访问被拒绝事件。 |
IoT Greengrass 部署 | AWS::GreengrassV2::Deployment |
| AWS IoT SiteWise | IoT SiteWise 资产 | AWS::IoTSiteWise::Asset |
|
| AWS IoT SiteWise | IoT SiteWise 时间序列 | AWS::IoTSiteWise::TimeSeries |
|
| AWS IoT SiteWise Assistant | 对对话的 Sitewise Assistant API 活动 |
Sitewise Assistant 对话 | AWS::SitewiseAssistant::Conversation |
| AWS IoT TwinMaker | 实体上的 IoT TwinMaker API 活动。 |
IoT TwinMaker 实体 | AWS::IoTTwinMaker::Entity |
| AWS IoT TwinMaker | 工作区上的 IoT TwinMaker API 活动。 |
IoT TwinMaker 工作区 | AWS::IoTTwinMaker::Workspace |
| Amazon Kendra 智能排名 | 针对重新评分执行计划的 Amazon Kendra Intelligent Ranking API 活动。 |
Kendra 排名 | AWS::KendraRanking::ExecutionPlan |
| Amazon Keyspaces(Apache Cassandra 兼容) | 表上的 Amazon Keyspaces API 活动。 | Cassandra 表 | AWS::Cassandra::Table |
| Amazon Keyspaces(Apache Cassandra 兼容) | 对 Cassandra CDC 流的 Amazon Keyspaces(Apache Cassandra 兼容)API 活动。 |
Cassandra CDC 流 | AWS::Cassandra::Stream |
| Amazon Kinesis Data Streams | 流上的 Kinesis Data Streams API 活动。 | Kinesis 流 | AWS::Kinesis::Stream |
| Amazon Kinesis Data Streams | 流使用者的上的 Kinesis Data Streams API 活动。 | Kinesis 流使用者 | AWS::Kinesis::StreamConsumer |
| Amazon Kinesis Video Streams | 视频流上的 Kinesis Video Streams API 活动,例如调用 GetMedia 和 PutMedia。 |
Kinesis 视频流 | AWS::KinesisVideo::Stream |
Amazon Kinesis Video Streams |
Kinesis Video Streams 视频信令通道 API 活动。 |
Kinesis 视频信令通道 |
|
| AWS Lambda | AWS Lambda 函数执行活动 ( |
Lambda: | AWS::Lambda::Function |
| Amazon Location 映射 | Amazon Location 地图 API 活动。 | 地理地图 | AWS::GeoMaps::Provider |
| Amazon Location 位数 | Amazon Location 地点 API 活动。 | 地理地点 | AWS::GeoPlaces::Provider |
| Amazon Location 路线 | Amazon Location 路线 API 活动。 | 地理路线 | AWS::GeoRoutes::Provider |
| Amazon Machine Learning | 机器学习模型上的机器学习 API 活动。 | 机器学习 MLModel | AWS::MachineLearning::MlModel |
| Amazon Managed Blockchain | 针对网络的 Amazon Managed Blockchain API 活动。 |
托管区块链网络 | AWS::ManagedBlockchain::Network |
| Amazon Managed Blockchain | 针对 Ethereum 节点的 Amazon Managed Blockchain JSON-RPC 调用,如 |
托管区块链 | AWS::ManagedBlockchain::Node |
| Amazon Managed Blockchain 查询 | Amazon Managed Blockchain 查询 API 活动。 |
Managed Blockchain 查询 | AWS::ManagedBlockchainQuery::QueryAPI |
| Amazon Managed Workflows for Apache Airflow | 对环境的 Amazon MWAA API 活动。 |
托管 Apache Airflow | AWS::MWAA::Environment |
| Amazon Neptune 图形 | Neptune Graph 上的数据 API 活动,例如查询、算法或向量搜索。 |
Neptune 图形 | AWS::NeptuneGraph::Graph |
| Amazon One Enterprise | UKey 上的 Amazon One Enterprise API 活动。 |
Amazon One UKey | AWS::One::UKey |
| Amazon One Enterprise | 用户上的 Amazon One Enterprise API 活动。 |
Amazon One 用户 | AWS::One::User |
| AWS Payment Cryptography | 别名上的 AWS Payment Cryptography API 活动。 | Payment Cryptography 别名 | AWS::PaymentCryptography::Alias |
| AWS Payment Cryptography | 密钥上的 AWS Payment Cryptography API 活动。 | Payment Cryptography 密钥 | AWS::PaymentCryptography::Key |
| Amazon Pinpoint | 对移动定位应用程序的 Amazon Pinpoint API 活动。 |
移动定位应用程序 | AWS::Pinpoint::App |
| AWS 私有 CA | AWS 私有 CA Connector for Active Directory API 活动。 |
AWS 私有 CA Connector for Active Directory | AWS::PCAConnectorAD::Connector |
| AWS 私有 CA | 用于 SCEP API 活动的 AWS 私有 CA 连接器。 |
AWS 私有 CA Connector for SCEP | AWS::PCAConnectorSCEP::Connector |
| Amazon Q 应用程序构建器 | Amazon Q 应用程序构建器上的数据 API 活动。 |
Amazon Q 应用程序构建器 | AWS::QApps::QApp |
| Amazon Q 应用程序构建器 | 对 Amazon Q 应用程序构建器会话的数据 API 活动。 |
Amazon Q 应用程序构建器会话 | AWS::QApps::QAppSession |
| Amazon Q Business | 应用程序上的 Amazon Q Business API 活动。 |
Amazon Q Business 应用程序 | AWS::QBusiness::Application |
| Amazon Q Business | 数据来源上的 Amazon Q Business API 活动。 |
Amazon Q Business 数据来源 | AWS::QBusiness::DataSource |
| Amazon Q Business | 索引上的 Amazon Q Business API 活动。 |
Amazon Q Business 索引 | AWS::QBusiness::Index |
| Amazon Q Business | Web 体验上的 Amazon Q Business API 活动。 |
Amazon Q Business Web 体验 | AWS::QBusiness::WebExperience |
Amazon Q Business |
Amazon Q Business 集成 API 活动。 |
Amazon Q Business 集成 |
|
| Amazon Q 开发者版 | 对集成的 Amazon Q 开发者版 API 活动。 |
Q 开发者版集成 | AWS::QDeveloper::Integration |
| Amazon Q 开发者版 | 对操作调查的 Amazon Q 开发者版 API 活动。 |
AIOps 调查组 | AWS::AIOps::InvestigationGroup |
| Amazon Quick Suite | 对操作连接器的 Amazon Quick Suite API 活动。 |
AWS QuickSuite 操作 | AWS::Quicksight::ActionConnector |
Amazon Quick Suite |
Amazon Quick Suite 流 API 活动。 |
AWS::QuickSight::Flow |
|
Amazon Quick Suite |
Amazon Quick Suite FlowSession API 活动。 |
AWS::QuickSight::FlowSession |
|
| Amazon SageMaker AI | 对端点的 Amazon SageMaker AI InvokeEndpointWithResponseStream 活动。 |
SageMaker AI 端点 | AWS::SageMaker::Endpoint |
| Amazon SageMaker AI | 对特征存放区的 Amazon SageMaker AI API 活动。 |
SageMaker AI 特征存放区 | AWS::SageMaker::FeatureGroup |
| Amazon SageMaker AI | 对实验试用组件的 Amazon SageMaker AI API 活动。 |
SageMaker AI 指标实验试用组件 | AWS::SageMaker::ExperimentTrialComponent |
Amazon SageMaker AI; |
Amazon SageMaker AI MLflow API 活动。 |
SageMaker MLflow |
|
| AWS Signer | 对签名作业的签署人 API 活动。 |
签署人签名作业 | AWS::Signer::SigningJob |
| AWS Signer | 对签名配置文件的签署人 API 活动。 |
签署人签名配置文件 | AWS::Signer::SigningProfile |
| Amazon Simple Email Service | 对配置集的 Amazon Simple Email Service (Amazon SES) API 活动。 |
SES 配置集 | AWS::SES::ConfigurationSet |
| Amazon Simple Email Service | 对电子邮件身份的 Amazon Simple Email Service (Amazon SES) API 活动。 |
SES 身份 | AWS::SES::EmailIdentity |
| Amazon Simple Email Service | 对模板的 Amazon Simple Email Service (Amazon SES) API 活动。 |
SES 模板 | AWS::SES::Template |
| Amazon SimpleDB | 对域的 Amazon SimpleDB API 活动。 |
SimpleDB 域 | AWS::SDB::Domain |
| AWS Step Functions | 对活动的 Step Functions API 活动。 |
Step Functions | AWS::StepFunctions::Activity |
| AWS Step Functions | 对状态机的 Step Functions API 活动。 |
Step Functions 状态机 | AWS::StepFunctions::StateMachine |
| AWS Systems Manager | 控制通道上的 Systems Manager API 活动。 | Systems Manager | AWS::SSMMessages::ControlChannel |
| AWS Systems Manager | 对影响评测的 Systems Manager API 活动。 | SSM 影响评测 | AWS::SSM::ExecutionPreview |
| AWS Systems Manager | 托管节点上的 Systems Manager API 活动。 | Systems Manager 托管式节点 | AWS::SSM::ManagedNode |
| Amazon Timestream | 针对数据库的 Amazon Timestream Query API 活动。 |
Timestream 数据库 | AWS::Timestream::Database |
| Amazon Timestream | 对区域端点的 Amazon Timestream API 活动。 | Timestream 区域端点 | AWS::Timestream::RegionalEndpoint |
| Amazon Timestream | 针对表的 Amazon Timestream Query API 活动。 |
Timestream 表 | AWS::Timestream::Table |
| Amazon Verified Permissions | 针对策略存储的 Amazon Verified Permissions API 活动。 |
Amazon Verified Permissions | AWS::VerifiedPermissions::PolicyStore |
| Amazon WorkSpaces Thin Client | 设备上的 WorkSpaces 瘦客户端 API 活动。 | 瘦客户端设备 | AWS::ThinClient::Device |
| Amazon WorkSpaces Thin Client | 环境上的 WorkSpaces 瘦客户端 API 活动。 | 瘦客户端环境 | AWS::ThinClient::Environment |
| AWS X-Ray | X-Ray 跟踪 | AWS::XRay::Trace |
要记录 CloudTrail 数据事件,您必须明确添加要收集活动的每种资源类型。有关更多信息,请参阅使用 CloudTrail 控制台创建跟踪和使用控制台为 CloudTrail 事件创建事件数据存储。
在单区域跟踪或事件数据存储上,您只能为可在该区域中访问的资源记录数据事件。尽管 S3 存储桶是全球性的,但 AWS Lambda 函数和 DynamoDB 表是区域性的。
记录数据事件将收取额外费用。有关 CloudTrail 定价的信息,请参阅 AWS CloudTrail 定价
示例:记录 Simple Storage Service(Amazon S3)对象的数据事件
记录一个 S3 存储桶中的所有 S3 对象的数据事件
下面的示例演示在为一个名为 amzn-s3-demo-bucket 的 S3 桶中的所有数据事件配置日志记录时日志记录是如何工作的。在此示例中,CloudTrail 用户指定了一个空前缀,以及用于记录 Read(读取)和 Write(写入)数据事件的选项。
-
用户将对象上传到
amzn-s3-demo-bucket。 -
PutObjectAPI 操作是 Simple Storage Service(Amazon S3)对象级别的 API。它在 CloudTrail 中记录为数据事件。由于 CloudTrail 用户指定带空前缀的 S3 桶,因此将记录该存储桶中的任何对象上发生的事件。跟踪或事件数据存储将处理和记录事件。 -
另一个用户将对象上传到
amzn-s3-demo-bucket2。 -
PutObjectAPI 操作发生在不是为跟踪或事件数据存储指定的 S3 存储桶中的某个对象上。跟踪或事件数据存储不会记录事件。
记录特定 S3 对象的数据事件
下面的示例演示在为特定 S3 对象配置跟踪或事件数据存储以记录事件时日志记录的工作方式。在此示例中,CloudTrail 用户指定一个名为 amzn-s3-demo-bucket3 的 S3 存储桶,前缀为 my-images,并选择只记录写入数据事件的选项。
-
一个用户在存储桶中检测到一个以
my-images前缀开头的对象,例如arn:aws:s3:::amzn-s3-demo-bucket3/my-images/example.jpg。 -
DeleteObjectAPI 操作是 Simple Storage Service(Amazon S3)对象级别的 API。它在 CloudTrail 中记录为 Write(写入)数据事件。事件发生在与跟踪或事件数据存储中指定的 S3 存储桶和前缀匹配的对象上。跟踪或事件数据存储将处理和记录事件。 -
另一个用户删除了 S3 存储桶中一个带不同前缀的对象,例如
arn:aws:s3:::amzn-s3-demo-bucket3/my-videos/example.avi。 -
事件发生在与跟踪或事件数据存储中指定的前缀不匹配的对象上。跟踪或事件数据存储不会记录事件。
-
一个用户对对象
GetObject调用arn:aws:s3:::amzn-s3-demo-bucket3/my-images/example.jpgAPI 操作。 -
虽然事件发生在跟踪或事件数据存储中指定的存储桶和前缀上,但
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 事件,并且跟踪将重新处理和记录此事件。
为避免记录您用于接收日志文件的 Simple Storage Service(Amazon S3)存储桶的数据事件(如果您将跟踪配置为记录 AWS 账户中的所有 Simple Storage Service(Amazon S3)数据事件),请考虑将日志文件传输到属于其他 AWS 账户的 Simple Storage Service(Amazon S3)存储桶。有关更多信息,请参阅 从多个账户接收 CloudTrail 日志文件。
记录其他 AWS 账户中的 S3 对象的数据事件
在将跟踪配置为记录数据事件时,您还可以指定属于其他 AWS 账户的 S3 对象。当事件发生在指定对象上时,CloudTrail 将评估事件是否与每个账户中的任何跟踪记录匹配。如果事件与某个跟踪设置匹配,则跟踪将处理并记录该账户的事件。通常,API 调用者和资源所有者都可以接收事件。
如果您拥有一个 S3 对象并且在跟踪中指定此对象,则您的跟踪将记录在您的账户中的对象上发生的事件。由于您拥有该对象,因此您的跟踪还将在其他账户调用该对象时记录事件。
如果您在跟踪中指定一个 S3 对象,并且其他账户拥有此对象,则您的跟踪仅记录在您的账户中的此对象上发生的事件。您的跟踪不会记录其他账户中发生的事件。
示例:记录两个 AWS 账户的 Simple Storage Service(Amazon S3)对象的数据事件
以下示例说明两个 AWS 账户如何配置 CloudTrail 以记录同一 S3 对象的事件。
-
在您的账户中,您希望您的跟踪记录名为
amzn-s3-demo-bucket的 S3 存储桶中所有对象的数据事件。通过指定带空对象前缀的 S3 存储桶来配置跟踪。 -
Bob 拥有一个单独的账户,该账户已获得对 S3 存储桶的访问权限。Bob 还希望记录同一 S3 存储桶中所有对象的数据事件。对于其跟踪,他配置了跟踪并指定带空对象前缀的同一 S3 存储桶。
-
Bob 使用
PutObjectAPI 操作将对象上传到 S3 存储桶。 -
此事件在他的账户中发生,并且与他的跟踪设置匹配。Bob 的跟踪将处理和记录该事件。
-
由于您拥有 S3 存储桶并且事件与您的跟踪设置匹配,因此您的跟踪也将处理和记录同一事件。因为现在有两个事件副本(一个记录在 Bob 的跟踪中,一个记录在您的跟踪中),所以 CloudTrail 对数据事件的两个副本收取费用。
-
您将一个对象上传到 S3 存储桶。
-
此事件在您的账户中发生并且与您的跟踪设置匹配。您的跟踪将处理和记录此事件。
-
由于事件未在 Bob 的账户中发生,并且他不拥有 S3 存储桶,因此他的跟踪不会记录事件。CloudTrail 仅针对此数据事件的一个副本收费。
示例:记录所有存储桶的数据事件,包括两个 AWS 账户使用的 S3 存储桶
以下示例显示对收集 AWS 账户中的数据事件的跟踪记录启用了 Select all S3 buckets in your account(选择您账户中的所有 S3 存储桶)时的日志记录行为。
-
在您的账户中,您希望您的跟踪记录所有 S3 存储桶的数据事件。在 Data events(数据事件)中的 All current and future S3 buckets(所有当前和未来 S3 存储桶)下,您可以通过选择 Read(读取)事件、Write(写入)事件或同时选择两者,来配置跟踪。
-
Bob 拥有一个单独的账户,该账户已被授予对您账户中 S3 存储桶的访问权限。他想记录他有权访问的存储桶的数据事件。他配置他的跟踪以获取所有 S3 存储桶的数据事件。
-
Bob 使用
PutObjectAPI 操作将对象上传到 S3 存储桶。 -
此事件在他的账户中发生,并且与他的跟踪设置匹配。Bob 的跟踪将处理和记录该事件。
-
由于您拥有 S3 存储桶并且事件与您跟踪的设置匹配,因此您的跟踪也将处理和记录此事件。因为现在有两个事件副本(一个记录在 Bob 的跟踪中,一个记录在您的跟踪中),所以 CloudTrail 针对数据事件的一个副本对每个账户收取费用。
-
您将一个对象上传到 S3 存储桶。
-
此事件在您的账户中发生并且与您的跟踪设置匹配。您的跟踪将处理和记录此事件。
-
由于事件未在 Bob 的账户中发生,并且他不拥有 S3 存储桶,因此他的跟踪不会记录事件。CloudTrail 仅针对您账户中此数据事件的一个副本收费。
-
第三个用户 Mary 可以访问 S3 存储桶,并在存储桶上运行
GetObject操作。她有一个跟踪配置为记录其账户中所有 S3 存储桶上的数据事件。因为她是 API 调用者,所以 CloudTrail 在她的跟踪中记录数据事件。虽然 Bob 有权访问该存储桶,但他不是资源所有者,因此这次未在他的跟踪中记录任何事件。作为资源拥有者,您会在跟踪中收到一个关于 Mary 调用的GetObject操作的事件。CloudTrail 针对数据事件的每个副本向您的账户和 Mary 的账户收取费用:一个在 Mary 的跟踪中,一个在您的跟踪中。
只读和只写事件
在配置跟踪或事件数据存储以记录数据事件和管理事件时,可以指定是需要只读事件、只写事件还是两者都需要。
-
读取
Read(读取)事件包括将读取您的资源但不进行更改的 API 操作。例如,只读事件包括 Amazon EC2
DescribeSecurityGroups和DescribeSubnetsAPI 操作。这些操作仅返回有关 Amazon EC2 资源的信息,但不更改您的配置。 -
写入
Write(写入)事件包括将修改(或可能修改)您的资源的 API 操作。例如,Amazon EC2
RunInstances和TerminateInstancesAPI 操作将修改您的实例。
示例:为单独的跟踪记录记录读取事件和写入事件
以下示例说明如何将跟踪记录配置为将账户的日志活动拆分到单独的 S3 存储桶中:一个名为 amzn-s3-demo-bucket1 的存储桶接收只读事件,另一个 amzn-s3-demo-bucket2 存储桶接收只写事件。
-
您创建一个跟踪并选择一个名为
amzn-s3-demo-bucket1的 S3 存储桶来接收日志文件。然后,您更新跟踪以指定您需要 Read(读取)管理事件和数据事件。 -
您创建另一个跟踪并选择 S3 存储桶
amzn-s3-demo-bucket2来接收日志文件。然后,您更新跟踪以指定您需要 Write(写入)管理事件和数据事件。 -
Amazon EC2
DescribeInstances和TerminateInstancesAPI 操作将在您的账户中执行。 -
DescribeInstancesAPI 操作是只读事件,它匹配第一个跟踪的设置。跟踪将记录事件并将事件传送到amzn-s3-demo-bucket1。 -
TerminateInstancesAPI 操作是只写事件,它匹配第二个跟踪的设置。跟踪将记录事件并将事件传送到amzn-s3-demo-bucket2。
使用 AWS 管理控制台 记录数据事件
以下程序介绍如何通过使用 AWS 管理控制台更新现有的事件数据存储或跟踪以记录数据事件。有关如何创建事件数据存储以记录数据事件的信息,请参阅使用控制台为 CloudTrail 事件创建事件数据存储。有关如何创建跟踪以记录数据事件的信息,请参阅使用控制台创建跟踪。
对于跟踪,根据您使用的是高级事件选择器还是基本事件选择器,记录数据事件的步骤会有所不同。您可以使用高级事件选择器记录所有资源类型的数据事件,但如果使用基本事件选择器,则只能记录 Amazon S3 存储桶和存储桶对象、AWS Lambda 函数以及 Amazon DynamoDB 表的数据事件。
按照以下程序更新现有的事件数据存储以记录数据事件。有关使用高级事件选择器的更多信息,请参阅本主题中的使用高级事件选择器筛选数据事件。
-
登录到 AWS 管理控制台,然后通过以下网址打开 CloudTrail 控制台:https://console.aws.amazon.com/cloudtrail
。 -
在导航窗格中,在 Lake 下,选择事件数据存储。
-
在事件数据存储页面上,选择要更新的事件数据存储。
注意
您只能在包含 CloudTrail 事件的事件数据存储中启用数据事件。您无法在 CloudTrail 事件数据存储中为 AWS Config 配置项目、CloudTrail Insights 事件或非 AWS 事件启用数据事件。
-
在详细信息页面上的数据事件中,选择编辑。
-
如果您尚未记录数据事件,请选择 Data events(数据事件)复选框。
-
对于资源类型,选择要在其上记录数据事件的资源类型。
-
选择日志选择器模板。您可以选择预定义的模板,也可以选择自定义来定义您自己的事件收集条件。
您可以从以下预定义模板中进行选择:
-
记录所有事件 – 选择此模板以记录所有事件。
-
仅记录读取事件 – 选择此模板以仅记录读取事件。只读事件是不会更改资源状态的事件,例如
Get*或Describe*事件。 -
仅记录写入事件 – 选择此模板以仅记录写入事件。写入事件可添加、更改或删除资源、属性或构件,例如
Put*、Delete*或Write*事件。 -
仅记录AWS 管理控制台事件 – 选择此模板以仅记录源自AWS 管理控制台的事件。
-
排除 AWS 服务启动的事件 – 选择此模板以排除
eventType为AwsServiceEvent的 AWS 服务事件和使用 AWS 服务相关角色 (SLR) 启动的事件。
-
-
(可选)在选择器名称中,输入用于标识选择器的名称。选择器名称是高级事件选择器的描述性名称,例如“仅记录两个 S3 桶的数据事件”。选择器名称在高级事件选择器中列为
Name,展开 JSON 视图即可查看该名称。 -
如果您选择了自定义,则在高级事件选择器中,将基于高级事件选择器字段的值生成表达式。
注意
选择器不支持使用通配符,例如
*。要将多个值与单个条件匹配,可以使用StartsWith、EndsWith、NotStartsWith或NotEndsWith明确匹配事件字段的开头或结尾。-
从下面的字段中选择。
-
readOnly-readOnly可以设置为等于值true或false。只读数据事件是不会更改资源状态的事件,例如Get*或Describe*事件。写入事件可添加、更改或删除资源、属性或构件,例如Put*、Delete*或Write*事件。要记录read和write两种事件,请不要添加readOnly选择器。 -
eventName-eventName可以使用任何运算符。您可以使用它来包含或排除记录到 CloudTrail 的任何数据事件,例如PutBucket、GetItem或GetSnapshotBlock。 -
eventSource– 要包括或排除的事件类型。此字段可以使用任意运算符。 -
eventType – 要包括或排除的事件类型。例如,可以将此字段设置为不等于
AwsServiceEvent,以排除 AWS 服务 事件。有关事件类型的列表,请参阅 CloudTrail 记录管理事件、数据事件和网络活动事件的内容 中的 eventType。 -
sessionCredentialFromConsole – 包括或排除源自AWS 管理控制台会话的事件。可以将此字段设置为等于或不等于值
true。 -
userIdentity.arn – 包含或排除特定 IAM 身份所采取操作的事件。有关更多信息,请参阅 CloudTrail userIdentity 元素。
-
resources.ARN- 您可以将任何运算符与resources.ARN配合使用,但如果您使用等于或不等于,则该值必须与您在模板中指定为resources.type的值的有效资源类型的 ARN 完全匹配。注意
您不能使用
resources.ARN字段筛选没有 ARN 的资源类型。有关数据事件资源的 ARN 格式的更多信息,请参阅《服务授权参考》中的 AWS 服务 的操作、资源和条件键。
-
-
对于每个字段,请选择 + 条件以根据需要添加任意数量的条件,所有条件总共可有最多 500 个指定值。例如,要从记录到事件数据存储的数据事件中排除两个 S3 存储桶的数据事件,可以将字段设置为 resources.ARN,设置不始于运算符,然后粘贴您不想为其记录事件的 S3 存储桶 ARN。
要添加第二个 S3 存储桶,请选择 + 条件,然后重复上述说明,在 ARN 中粘贴或浏览到不同的存储桶。
有关 CloudTrail 如何评估多个条件的信息,请参阅CloudTrail 如何评估字段的多个条件。
注意
对于事件数据存储上的所有选择器,最多可以有 500 个值。这包括选择器的多个值的数组,例如
eventName。如果所有选择器均为单个值,则最多可以向选择器添加 500 个条件。 -
根据需要,选择 + Field(+ 字段)以添加其他字段。为了避免错误,请不要为字段设置冲突或重复的值。例如,不要在一个选择器中将 ARN 指定为等于某个值,然后在另一个选择器中指定 ARN 不等于相同的值。
-
-
要添加需要记录数据事件的其他资源类型,请选择添加数据事件类型。重复步骤 6 至此步骤,为其他资源类型配置高级事件选择器。
-
查看并验证选择后,选择保存更改。
在 AWS 管理控制台 中,如果跟踪使用高级事件选择器,则可以从记录所选资源上的所有数据事件的预定义模板中进行选择。选择了日志选择器模板后,您可以自定义模板,以仅包含最希望查看的数据事件。有关使用高级事件选择器的更多信息,请参阅本主题中的使用高级事件选择器筛选数据事件。
-
在 CloudTrail 控制台的控制面板或跟踪页面上,选择要更新的跟踪。
-
在详细信息页面上的数据事件中,选择编辑。
-
如果您尚未记录数据事件,请选择 Data events(数据事件)复选框。
-
对于资源类型,选择要在其上记录数据事件的资源类型。
-
选择日志选择器模板。您可以选择预定义的模板,也可以选择自定义来定义您自己的事件收集条件。
您可以从以下预定义模板中进行选择:
-
记录所有事件 – 选择此模板以记录所有事件。
-
仅记录读取事件 – 选择此模板以仅记录读取事件。只读事件是不会更改资源状态的事件,例如
Get*或Describe*事件。 -
仅记录写入事件 – 选择此模板以仅记录写入事件。写入事件可添加、更改或删除资源、属性或构件,例如
Put*、Delete*或Write*事件。 -
仅记录AWS 管理控制台事件 – 选择此模板以仅记录源自AWS 管理控制台的事件。
-
排除 AWS 服务启动的事件 – 选择此模板以排除
eventType为AwsServiceEvent的 AWS 服务事件和使用 AWS 服务相关角色 (SLR) 启动的事件。
注意
选择 S3 存储桶的预定义模板可为您的 AWS 账户中现有的所有存储桶和您完成跟踪创建后创建的任何存储桶启用数据事件日志记录。它也将为由 AWS 账户中的任何用户或角色执行的数据事件活动启用日志记录,即使该活动是对属于其他 AWS 账户的存储桶执行的。
如果跟踪仅应用于一个区域,则选择记录所有 S3 存储桶的预定义模板可为跟踪所在的区域中的所有存储桶和您后来在该区域中创建的任何存储桶启用数据事件日志记录。不会为您的 AWS 账户的其他区域中的 Simple Storage Service(Amazon S3)存储桶记录数据事件。
如果您正在为所有区域创建跟踪,则选择 Lambda 函数的预定义模板将为您的 AWS 账户中当前包含的所有函数以及您在创建跟踪后可能在任何区域中创建的任何 Lambda 函数启用数据事件日志记录。如果您正在为单区域创建跟踪(对于跟踪,只能使用 AWS CLI 完成此操作),则此选择可为 AWS 账户的该区域中当前包含的所有函数以及完成跟踪创建后可能在该区域中创建的任何 Lambda 函数,启用数据事件日志记录。它不会为在其他区域中创建的 Lambda 函数启用数据事件日志记录。
所有函数的日志记录数据事件也将为由 AWS 账户中的任何用户或角色执行的数据事件活动启用日志记录,即使该活动是对属于其他 AWS 账户的函数执行的。
-
-
(可选)在选择器名称中,输入用于标识选择器的名称。选择器名称是高级事件选择器的描述性名称,例如“仅记录两个 S3 桶的数据事件”。选择器名称在高级事件选择器中列为
Name,展开 JSON 视图即可查看该名称。 -
如果您选择了自定义,则在高级事件选择器中,将基于高级事件选择器字段的值生成表达式。
注意
选择器不支持使用通配符,例如
*。要将多个值与单个条件匹配,可以使用StartsWith、EndsWith、NotStartsWith或NotEndsWith明确匹配事件字段的开头或结尾。-
从下面的字段中选择。
-
readOnly-readOnly可以设置为等于值true或false。只读数据事件是不会更改资源状态的事件,例如Get*或Describe*事件。写入事件可添加、更改或删除资源、属性或构件,例如Put*、Delete*或Write*事件。要记录read和write两种事件,请不要添加readOnly选择器。 -
eventName-eventName可以使用任何运算符。您可以使用它来包含或排除记录到 CloudTrail 的任何数据事件,例如PutBucket、GetItem或GetSnapshotBlock。 -
eventSource– 要包括或排除的事件类型。此字段可以使用任意运算符。 -
eventType – 要包括或排除的事件类型。例如,可以将此字段设置为不等于
AwsServiceEvent,以排除 AWS 服务 事件。有关事件类型的列表,请参阅 CloudTrail 记录管理事件、数据事件和网络活动事件的内容 中的 eventType。 -
sessionCredentialFromConsole – 包括或排除源自AWS 管理控制台会话的事件。可以将此字段设置为等于或不等于值
true。 -
userIdentity.arn – 包含或排除特定 IAM 身份所采取操作的事件。有关更多信息,请参阅 CloudTrail userIdentity 元素。
-
resources.ARN- 您可以将任何运算符与resources.ARN配合使用,但如果您使用等于或不等于,则该值必须与您在模板中指定为resources.type的值的有效资源类型的 ARN 完全匹配。注意
您不能使用
resources.ARN字段筛选没有 ARN 的资源类型。有关数据事件资源的 ARN 格式的更多信息,请参阅《服务授权参考》中的 AWS 服务 的操作、资源和条件键。
-
-
对于每个字段,请选择 + 条件以根据需要添加任意数量的条件,所有条件总共可有最多 500 个指定值。例如,要从记录到事件数据存储的数据事件中排除两个 S3 存储桶的数据事件,可以将字段设置为 resources.ARN,设置不始于运算符,然后粘贴您不想为其记录事件的 S3 存储桶 ARN。
要添加第二个 S3 存储桶,请选择 + 条件,然后重复上述说明,在 ARN 中粘贴或浏览到不同的存储桶。
有关 CloudTrail 如何评估多个条件的信息,请参阅CloudTrail 如何评估字段的多个条件。
注意
对于事件数据存储上的所有选择器,最多可以有 500 个值。这包括选择器的多个值的数组,例如
eventName。如果所有选择器均为单个值,则最多可以向选择器添加 500 个条件。 -
根据需要,选择 + Field(+ 字段)以添加其他字段。为了避免错误,请不要为字段设置冲突或重复的值。例如,不要在一个选择器中将 ARN 指定为等于某个值,然后在另一个选择器中指定 ARN 不等于相同的值。
-
-
要添加需要记录数据事件的其他资源类型,请选择添加数据事件类型。重复步骤 4 至此步骤,为资源类型配置高级事件选择器。
-
查看并验证选择后,选择保存更改。
按照以下程序,使用基本事件选择器更新现有跟踪以记录数据事件。
-
登录到 AWS 管理控制台,然后通过以下网址打开 CloudTrail 控制台:https://console.aws.amazon.com/cloudtrail
。 -
打开 CloudTrail 控制台的 Trails(跟踪记录)页面,然后选择跟踪记录名称。
注意
虽然您可以编辑现有跟踪以记录数据事件,但作为最佳实践,请考虑专门创建单独的跟踪以记录数据事件。
-
对于 Data event(数据事件),选择 Edit(编辑)。
-
对于 Simple Storage Service(Amazon S3)存储桶:
-
对于 Data event source(数据事件源),选择 S3。
-
您可以选择记录 All current and future S3 buckets(所有当前和未来 S3 存储桶),也可以指定单个存储桶或函数。默认情况下,记录所有当前和未来 S3 存储桶的数据事件。
注意
保留默认 All current and future S3 buckets(所有当前和未来 S3 存储桶)选项会为您的 AWS 账户中现有的所有存储桶和您完成跟踪创建后创建的任何存储桶启用数据事件日志记录。它也将为由 AWS 账户中的任何用户或角色执行的数据事件活动启用日志记录,即使该活动是对属于其他 AWS 账户的存储桶执行的。
如果您正在为单个区域创建跟踪(通过使用 AWS CLI 完成),则选择 Select all S3 buckets in your account(选择您账户中的所有 S3 存储桶)选项会为跟踪所在的区域中的所有存储桶和您后来在该区域中创建的任何存储桶启用数据事件日志记录。不会为您的 AWS 账户的其他区域中的 Simple Storage Service(Amazon S3)存储桶记录数据事件。
-
如果保留默认值 All current and future S3 buckets(所有当前和未来 S3 存储桶),则选择记录 Read(读取)事件、Write(写入)事件,还是记录两者。
-
要选择单个存储桶,请清空 All current and future S3 buckets(所有当前和未来 S3 存储桶)的 Read(读取)和Write(写入)复选框。在 Individual bucket selection(单个存储桶选择)中,浏览要在其上记录数据事件的存储桶。要查找特定存储桶,键入所需存储桶的存储桶前缀。您可以在此窗口中选择多个存储桶。选择添加存储桶,记录更多存储桶的数据事件。选择记录 Read(读取)事件(如
GetObject)、Write(写入)事件(如PutObject)或同时记录两种事件。此设置优先于为各个存储桶配置的个别设置。例如,如果指定记录所有 S3 存储桶的 Read 事件,然后选择为数据事件日志记录添加一个特定存储桶,则所添加存储桶的 Read 已经是选中状态。您无法清除此选择。只能配置 Write 选项。
要从日志记录中删除存储桶,请选择 X。
-
-
要添加需要记录数据事件的其他资源类型,请选择添加数据事件类型。
-
对于 Lambda 函数:
-
对于 Data event source(数据事件源),选择 Lambda。
-
在 Lambda function(Lambda 函数)中,选择 All regions(所有区域)记录所有 Lambda 函数,或选择 Input function as ARN(输入函数作为 ARN)以记录特定函数上的数据事件。
要记录 AWS 账户中的所有 Lambda 函数的数据事件,请选择 Log all current and future functions(记录所有当前和未来函数)。此设置优先于为各个函数配置的个别设置。将记录所有函数,即便这些函数未显示。
注意
如果为所有区域创建了一个跟踪,则此选择将为您的 AWS 账户中当前包含的所有函数以及您在创建跟踪后可能在任何区域中创建的任何 Lambda 函数启用数据事件日志记录。如果您正在为单个区域创建跟踪(通过使用 AWS CLI 完成),则此选择将为您的 AWS 账户中的该区域中当前包含的所有函数以及您在创建跟踪后可能在该区域中创建的任何 Lambda 函数启用数据事件日志记录。它不会为在其他区域中创建的 Lambda 函数启用数据事件日志记录。
所有函数的日志记录数据事件也将为由 AWS 账户中的任何用户或角色执行的数据事件活动启用日志记录,即使该活动是对属于其他 AWS 账户的函数执行的。
-
如果选择 Input function as ARN(输入函数作为 ARN),则输入 Lambda 函数的 ARN。
注意
如果您的账户中有 15000 个以上的 Lambda 函数,则在创建跟踪时,您无法在 CloudTrail 控制台中查看或选择所有函数。您仍可以选择该选项来记录所有函数,即使未显示这些函数也是如此。如果您要记录特定函数的数据事件,则可手动添加一个函数 (如果您知道其 ARN)。您也可以在控制台中完成跟踪的创建操作,然后使用 AWS CLI 和 put-event-selectors 命令为特定 Lambda 函数配置数据事件日志记录。有关更多信息,请参阅 使用 AWS CLI 管理跟踪记录。
-
-
要添加需要记录数据事件的其他资源类型,请选择添加数据事件类型。
-
对于 DynamoDB 表:
-
对于 Data event source(数据事件源),选择 DynamoDB。
-
在 DynamoDB table selection(DynamoDB 表选择)中,选择 Browse(浏览)以选择一个表,或粘贴到您有权访问的 DynamoDB 表的 ARN 中。DynamoDB 表 ARN 使用以下格式:
arn:partition:dynamodb:region:account_ID:table/table_name要添加另一个表,请选择 Add row(添加行),然后浏览到某个表或粘贴到您有权访问的表的 ARN 中。
-
-
选择保存更改。
使用 AWS Command Line Interface 记录数据事件
您可以使用 AWS CLI 配置跟踪或事件数据存储以记录数据事件。
使用 AWS CLI 记录跟踪记录的数据事件
您可以使用 AWS CLI 配置您的跟踪记录以记录管理事件和数据事件。
注意
-
请注意,如果您的账户正在记录管理事件的多个副本,将会产生费用。记录数据事件始终需要收取费用。有关更多信息,请参阅 AWS CloudTrail 定价
。 -
您可以使用高级事件选择器或基本事件选择器,但不能同时使用两者。如果将高级事件选择器应用于跟踪,则所有现有的基本事件选择器都将被覆盖。
-
如果您的跟踪使用基本的事件选择器,则您只能记录以下资源类型:
-
AWS::DynamoDB::Table -
AWS::Lambda::Function -
AWS::S3::Object
要记录其他资源类型,您需要使用高级事件选择器。要将跟踪转换为高级事件选择器,请运行 get-event-selectors 命令以确认当前事件选择器,然后将高级事件选择器配置为与以前的事件选择器的覆盖范围相匹配,然后为要记录数据事件的任何资源类型添加选择器。
-
-
您可以使用高级事件选择器根据支持的高级事件选择器字段支持的高级事件选择器字段的值来进行筛选,从而使您能够仅记录感兴趣的数据事件。有关配置这些字段的更多信息,请参阅《AWS CloudTrail API 参考》中的 AdvancedFieldSelector 和本指南中的 使用高级事件选择器筛选数据事件。
要查看您的跟踪是否正在记录管理事件和数据事件,请运行 get-event-selectors
aws cloudtrail get-event-selectors --trail-nameTrailName
该命令将返回跟踪的事件选择器。
主题
使用高级事件选择器记录跟踪的数据事件
注意
如果将高级事件选择器应用于跟踪,则所有现有的基本事件选择器都将被覆盖。在配置高级事件选择器之前,请运行 get-event-selectors 命令以确认当前事件选择器,然后将高级事件选择器配置为与以前的事件选择器的覆盖范围相匹配,然后为要记录的任何其他数据事件添加选择器。
以下示例为名为 TrailName 的跟踪创建自定义高级事件选择器,以包括读取和写入管理事件(通过忽略 readOnly 选择器)、所有 Simple Storage Service(Amazon S3)存储桶/前缀组合的 PutObject 和 DeleteObject 数据事件(名为 amzn-s3-demo-bucket 的存储桶除外)以及名为 MyLambdaFunction 的 AWS Lambda 函数的数据事件。由于这些都是自定义高级事件选择器,因此每组选择器都有一个描述性名称。请注意,尾随斜杠是 S3 存储桶的 ARN 值的一部分。
aws cloudtrail put-event-selectors --trail-nameTrailName--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" }
使用高级事件选择器记录 Amazon S3 存储桶的所有 Amazon S3 事件
注意
如果将高级事件选择器应用于跟踪,则所有现有的基本事件选择器都将被覆盖。
以下示例说明如何配置您的跟踪以包含特定 S3 存储桶中的所有 Simple Storage Service(Amazon S3)对象的所有数据事件。S3 事件在 resources.type 字段中的值为 AWS::S3::Object。由于 S3 对象和 S3 存储桶的 ARN 值略有不同,因此必须为 resources.ARN 添加 StartsWith 运算符以捕获所有事件。
aws cloudtrail put-event-selectors --trail-nameTrailName--regionregion\ --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 AWS Outposts 事件
注意
如果将高级事件选择器应用于跟踪,则所有现有的基本事件选择器都将被覆盖。
以下示例说明如何配置您的跟踪以包含您的 Outpost 中的 Outposts 对象上的所有 Simple Storage Service(Amazon S3)的所有数据事件。
aws cloudtrail put-event-selectors --trail-nameTrailName--regionregion\ --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 命令结果示例。默认情况下,当您使用 AWS 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-nameTrailName--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" } ] }
使用 AWS CLI 记录事件数据存储的数据事件
您可以使用 AWS CLI 配置事件数据存储以包含数据事件。使用 create-event-data-storeupdate-event-data-store
您可以配置高级事件选择器来记录事件数据存储上的数据事件。有关支持的字段的列表,请参阅使用高级事件选择器筛选数据事件。
要查看事件数据存储是否包含数据事件,请运行 get-event-data-store
aws cloudtrail get-event-data-store --event-data-storeEventDataStoreARN
该命令会返回事件数据存储的设置。
{ "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:111122223333:eventdatastore/EXAMPLE492-301f-4053-ac5e-EXAMPLE6441aa", "Name": "ebs-data-events", "Status": "ENABLED", "AdvancedEventSelectors": [ { "Name": "Log all EBS direct APIs on EBS snapshots", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "resources.type", "Equals": [ "AWS::EC2::Snapshot" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "BillingMode": "EXTENDABLE_RETENTION_PRICING", "RetentionPeriod": 366, "TerminationProtectionEnabled": true, "CreatedTimestamp": "2023-11-04T15:57:33.701000+00:00", "UpdatedTimestamp": "2023-11-20T20:37:34.228000+00:00" }
包含特定存储桶的所有 Amazon S3 事件
以下示例说明如何配置事件数据存储以包含特定通用 S3 存储桶中所有 Amazon S3 对象的所有数据事件,并排除 AWS 服务 事件和 bucket-scanner-role userIdentity 生成的事件。S3 事件在 resources.type 字段中的值为 AWS::S3::Object。由于 S3 对象和 S3 存储桶的 ARN 值略有不同,因此必须为 resources.ARN 添加 StartsWith 运算符以捕获所有事件。
aws cloudtrail create-event-data-store --name "EventDataStoreName" --multi-region-enabled \ --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/"] }, { "Field": "userIdentity.arn", "NotStartsWith": ["arn:aws:sts::123456789012:assumed-role/bucket-scanner-role"]}, { "Field": "eventType","NotEquals": ["AwsServiceEvent"]} ] } ]'
该命令将返回以下示例输出。
{ "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:111122223333:eventdatastore/EXAMPLE492-301f-4053-ac5e-EXAMPLE441aa", "Name": "EventDataStoreName", "Status": "ENABLED", "AdvancedEventSelectors": [ { "Name": "S3EventSelector", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "resources.ARN", "StartsWith": [ "arn:partition:s3:::amzn-s3-demo-bucket/" ] }, { "Field": "resources.type", "Equals": [ "AWS::S3::Object" ] }, { "Field": "userIdentity.arn", "NotStartsWith": [ "arn:aws:sts::123456789012:assumed-role/bucket-scanner-role" ] }, { "Field": "eventType", "NotEquals": [ "AwsServiceEvent" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "BillingMode": "EXTENDABLE_RETENTION_PRICING", "RetentionPeriod": 366, "TerminationProtectionEnabled": true, "CreatedTimestamp": "2024-11-04T15:57:33.701000+00:00", "UpdatedTimestamp": "2024-11-20T20:49:21.766000+00:00" }
包含 Amazon S3 on AWS Outposts 事件
以下示例说明如何配置事件数据存储,以包含 Outpost 中所有 Amazon S3 on Outposts 对象的全部数据事件。
aws cloudtrail create-event-data-store --nameEventDataStoreName\ --advanced-event-selectors \ '[ { "Name": "OutpostsEventSelector", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::S3Outposts::Object"] } ] } ]'
该命令将返回以下示例输出。
{ "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:111122223333:eventdatastore/EXAMPLEb4a8-99b1-4ec2-9258-EXAMPLEc890", "Name": "EventDataStoreName", "Status": "CREATED", "AdvancedEventSelectors": [ { "Name": "OutpostsEventSelector", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "resources.type", "Equals": [ "AWS::S3Outposts::Object" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "BillingMode": "EXTENDABLE_RETENTION_PRICING", "RetentionPeriod": 366, "TerminationProtectionEnabled": true, "CreatedTimestamp": "2023-02-20T21:00:17.673000+00:00", "UpdatedTimestamp": "2023-02-20T21:00:17.820000+00:00" }
记录 AWS Config 合规性的数据事件
如果您使用 AWS Config 一致性包帮助您的企业保持对正式标准的合规性,例如联邦风险和授权管理计划(FedRAMP)或美国国家标准和技术研究所(NIST)要求的标准,则合规性框架的一致性包通常要求您至少记录 Simple Storage Service(Amazon S3)存储桶的数据事件。合规性框架的一致性包中包括名为 cloudtrail-s3-dataevents-enabled 的托管规则,它检查您账户中的 S3 数据事件日志记录。许多未与合规性框架关联的一致性包也需要 S3 数据事件日志记录。下面是包含此规则的一致性包示例。
有关 AWS Config 中可用的示例一致性包的完整列表,请参阅 AWS Config 开发人员指南中的一致性包示例模板。
使用 AWS SDK 记录数据事件
运行 GetEventSelectors 操作以查看跟踪是否正在记录数据事件。您可以配置您的跟踪记录以通过运行 PutEventSelectors 操作来记录数据事件。有关更多信息,请参阅 AWS CloudTrail API 参考。
运行 GetEventSelectors 操作以查看事件数据存储是否正在记录数据事件。通过运行 CreateEventDataStore 或 UpdateEventDataStore 操作并指定高级事件选择器,可以将事件数据存储配置为包含数据事件。有关更多信息,请参阅 使用 AWS CLI 创建、更新和管理事件数据存储 和《AWS CloudTrail API Referencehttps://docs.aws.amazon.com/awscloudtrail/latest/APIReference/》。