本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
CloudTrail 概念
本节总结了与之相关的基本概念 CloudTrail。
概念:
CloudTrail 事件
中的事件 CloudTrail 是 AWS 账户中某项活动的记录。此活动可以是 IAM 身份或可监控的服务采取的操作。 CloudTrail CloudTrail事件提供通过 AWS Management Console、 AWS SDKs、命令行工具和其他 AWS 服务进行的 API 和非 API 账户活动的历史记录。
CloudTrail 日志文件不是公共 API 调用的有序堆栈跟踪,因此事件不会按任何特定顺序出现。
CloudTrail 记录四种类型的事件:
-
注意
网络活动事件处于预览版 CloudTrail ,可能会发生变化。
所有事件类型都使用 CloudTrail JSON 日志格式。
默认情况下,跟踪记录和事件数据存储将记录管理事件,但不记录数据事件或 Insights 事件。
有关如何与 AWS 服务 集成的信息 CloudTrail,请参阅AWS 的服务主题 CloudTrail。
管理事件
管理事件提供有关对您 AWS 账户中的资源执行的管理操作的信息。这些也称为控制层面操作。
示例管理事件包括:
-
配置安全性(例如, AWS Identity and Access Management
AttachRolePolicy
API 操作)。 -
注册设备(例如,亚马逊 EC2
CreateDefaultVpc
API 操作)。 -
配置数据路由规则(例如,Amazon EC2
CreateSubnet
API 操作)。 -
设置日志记录(例如, AWS CloudTrail
CreateTrail
API 操作)。
管理事件还包括在您的账户中发生的非 API 事件。例如,当用户登录您的账户时,会 CloudTrail 记录该ConsoleLogin
事件。有关更多信息,请参阅 CloudTrail 捕获的非 API 事件。
默认情况下,t CloudTrail rails 和 CloudTrail Lake 事件数据存储日志管理事件。有关记录管理事件的更多信息,请参阅记录管理事件。
数据事件
数据事件提供有关对在资源上或资源内执行的资源操作的信息。这些也称为数据层面操作。数据事件通常是高容量活动。
示例数据事件包括:
-
S3 存储桶中对象上的 Amazon S3 对象级 API 活动(例如
GetObject
、DeleteObject
和PutObject
API 操作)。 -
AWS Lambda 函数执行活动(
Invoke
API)。 -
CloudTrail
PutAuditEvents
用于记录外部事件的 L CloudTrail ake 频道上的活动 AWS。 -
针对主题的 Amazon SNS
Publish
和PublishBatch
API 操作。
下表显示了可用于跟踪和事件数据存储的资源类型。资源类型(控制台)列显示控制台中的相应选择。resources.typ resources.type
e 值列显示您要使用或指定的值,以便在跟踪或事件数据存储中包含该类型的数据事件。 AWS CLI CloudTrail APIs
对于跟踪,您可以使用基本或高级事件选择器来记录通用存储桶、Lambda 函数和 DynamoDB 表中的 Amazon S3 对象的数据事件(显示在表的前三行中)。您只能使用高级事件选择器来记录其余行中显示的资源类型。
对于事件数据存储,只能使用高级事件选择器来包含数据事件。
AWS 服务 | 描述 | 资源类型(控制台) | resources.type 值 |
---|---|---|---|
Amazon DynamoDB | 表上的 Amazon DynamoDB 项目级 API 活动(例如, 注意对于启用了流的表,数据事件中的 |
DynamoDB |
|
AWS Lambda | AWS Lambda 函数执行活动( |
Lambda | AWS::Lambda::Function |
Amazon S3 | 通用存储桶中对象上的 Amazon S3 对象级 API 活动(例如 |
S3 | AWS::S3::Object |
AWS AppConfig | AWS AppConfig 用于配置操作的 API 活动,例如对 |
AWS AppConfig | AWS::AppConfig::Configuration |
AWS AppSync | AWS AppSync Graph@@ QL 上的 AppSync AP APIs I 活动。 |
AppSync GraphQL | AWS::AppSync::GraphQL |
AWS B2B 数据交换 | 用于转换器操作的 B2B 数据交换 API 活动,例如对 |
B2B 数据交换 | AWS::B2BI::Transformer |
AWS Backup | AWS Backup 搜索数据 API 在搜索作业上的活动。 |
AWS Backup 搜索数据 APIs | AWS::Backup::SearchJob |
Amazon Bedrock | 代理别名上的 Amazon Bedrock API 活动。 | Bedrock 代理别名 | AWS::Bedrock::AgentAlias |
Amazon Bedrock | Amazon Bedrock API 关于异步调用的活动。 | 基岩异步调用 | 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 活动。 | 基岩调用内联代理 | AWS::Bedrock::InlineAgent |
Amazon Bedrock | 知识库上的 Amazon Bedrock API 活动。 | Bedrock 知识库 | AWS::Bedrock::KnowledgeBase |
Amazon Bedrock | 模型上的 Amazon Bedrock API 活动。 | Bedrock 模型 | AWS::Bedrock::Model |
Amazon Bedrock | 根据提示进行亚马逊 Bedrock API 活动。 | 基岩提示 | AWS::Bedrock::PromptVersion |
亚马逊 CloudFront | CloudFront 在 a 上的 API 活动 KeyValueStore. |
CloudFront KeyValueStore | AWS::CloudFront::KeyValueStore |
AWS Cloud Map | AWS Cloud Map 命名空间上的 API 活动。 | AWS Cloud Map 命名空间 |
|
AWS Cloud Map | AWS Cloud Map 服务上的 API 活动。 | AWS Cloud Map service |
|
AWS CloudTrail | CloudTrail |
CloudTrail 频道 | AWS::CloudTrail::Channel |
亚马逊 CloudWatch | CloudWatch 指标 | AWS::CloudWatch::Metric |
|
亚马逊 CloudWatch RUM | 应用程序监视器上的 Amazon CloudWatch RUM API 活动。 |
RUM 应用程序监视器 | AWS::RUM::AppMonitor |
Amazon P CodeGuru rofiler | CodeGuru Profiler API 在性能分析组上的活动。 | CodeGuru Profiler 分析组 | AWS::CodeGuruProfiler::ProfilingGroup |
亚马逊 CodeWhisperer | 亚马逊 CodeWhisperer API 在自定义方面的活动。 | CodeWhisperer 定制 | AWS::CodeWhisperer::Customization |
亚马逊 CodeWhisperer | 个人资料上的亚马逊 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 资产 |
|
AWS Deadline Cloud | 实例集上的 Deadline Cloud API 活动。 |
Deadline Cloud 舰队 |
|
AWS Deadline Cloud | 作业上的 Deadline Cloud API 活动。 |
Deadline Cloud 工作 |
|
AWS Deadline Cloud | 队列上的 Deadline Cloud API 活动。 |
Deadline Cloud queue |
|
AWS Deadline Cloud | 工作程序上的 Deadline Cloud API 活动。 |
Deadline Cloud 工人 |
|
Amazon DynamoDB | 针对流的 Amazon DynamoDB API 活动 |
DynamoDB Streams | AWS::DynamoDB::Stream |
AWS 最终用户消息 SMS | AWS 关于原始身份@@ 的最终用户消息 SMS API 活动。 | SMS 语音发起身份 | AWS::SMSVoice::OriginationIdentity |
AWS 最终用户消息 SMS | AWS 最终用户消息 SMS API 对消息的活动。 | 短信语音消息 | AWS::SMSVoice::Message |
AWS 最终用户消息社交 | AWS 电话号码上的@@ 最终用户消息社交 API 活动 IDs。 | 社交消息电话号码 ID | AWS::SocialMessaging::PhoneNumberId |
AWS 最终用户消息社交 | AWS Waba IDs 上的 “最终用户消息” 社交 API 活动。 | 社交消息 Waba ID | AWS::SocialMessaging::WabaId |
Amazon Elastic Block Store | 亚马逊 Elastic Block Store (EBS) Direc t APIs,例如 |
亚马逊 EBS direct APIs | AWS::EC2::Snapshot |
Amazon EMR | 预写日志工作区上的 Amazon EMR API 活动。 | EMR 预写日志工作空间 | AWS::EMRWAL::Workspace |
Amazon FinSpace | 针对环境的 Amazon FinSpace API 活动 |
FinSpace | AWS::FinSpace::Environment |
AWS Glue | AWS Glue 在 Lake Formation 创建的表格上的 API 活动。 |
Lake Formation | AWS::Glue::Table |
亚马逊 GuardDuty | 探测器的亚马逊 GuardDuty API 活动。 |
GuardDuty 探测器 | AWS::GuardDuty::Detector |
AWS HealthImaging | AWS HealthImaging 数据存储上的 API 活动。 |
MedicalImaging 数据存储 | AWS::MedicalImaging::Datastore |
AWS IoT | IoT 证书 | AWS::IoT::Certificate |
|
AWS IoT | AWS IoT API 在事物上的活动。 |
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 | 资产上的@@ 物联网 SiteWise API 活动。 |
物联网 SiteWise 资产 | AWS::IoTSiteWise::Asset |
AWS IoT SiteWise | 时间序列上的@@ 物联网 SiteWise API 活动。 |
物联网 SiteWise 时间序列 | AWS::IoTSiteWise::TimeSeries |
AWS IoT SiteWise 助手 | Sitewise Assistant API 关于对话 |
Sitewise 助手对话 | AWS::SitewiseAssistant::Conversation |
AWS IoT TwinMaker | 实体上的物联网 TwinMaker API 活动。 |
物联网 TwinMaker 实体 | AWS::IoTTwinMaker::Entity |
AWS IoT TwinMaker | 工作空间上 TwinMaker 的 IoT API 活动。 |
物联网 TwinMaker 工作空间 | AWS::IoTTwinMaker::Workspace |
Amazon Kendra Intelligent Ranking | 针对重新评分执行计划的 Amazon Kendra Intelligent Ranking API 活动。 |
Kendra 排名 | AWS::KendraRanking::ExecutionPlan |
Amazon Keyspaces(Apache Cassandra 兼容) | 表上的 Amazon Keyspaces API 活动。 | Cassandra 表 | AWS::Cassandra::Table |
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 Location 映射 | 亚马逊位置地图 API 活动。 | 地理地图 | AWS::GeoMaps::Provider |
Amazon Location 位数 | 亚马逊定位地点 API 活动。 | 地理位置 | AWS::GeoPlaces::Provider |
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 Workflows for Apache Airflow | 亚马逊 MWAA API 在环境中的活动。 |
托管 Apache 气流 | AWS::MWAA::Environment |
Amazon Neptune 图形 | Neptune Graph 上的数据 API 活动,例如查询、算法或向量搜索。 |
Neptune 图形 | AWS::NeptuneGraph::Graph |
Amazon One Enterprise | 上的 Amazon One Enterprise UKey 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 |
AWS Private CA | AWS Private CA 活动目录 API 活动的连接器。 |
AWS Private CA 活动目录连接器 | AWS::PCAConnectorAD::Connector |
AWS Private CA | AWS Private CA 用于 SCEP API 活动的连接器。 |
AWS Private CA 适用于 SCEP 的连接器 | AWS::PCAConnectorSCEP::Connector |
Amazon Q 应用程序构建器 | Amazon Q 应用程序构建器上的数据 API 活动。 |
Amazon Q 应用程序构建器 | AWS::QApps::QApp |
Amazon Q 应用程序构建器 | Amazon Q 应用程序会话中的数据 API 活动。 |
亚马逊 Q 应用程序会话 | AWS::QApps::QAppSession |
Amazon Q 企业版 | 应用程序上的 Amazon Q Business API 活动。 |
Amazon Q Business 应用程序 | AWS::QBusiness::Application |
Amazon Q 企业版 | 数据来源上的 Amazon Q Business API 活动。 |
Amazon Q Business 数据来源 | AWS::QBusiness::DataSource |
Amazon Q 企业版 | 索引上的 Amazon Q Business API 活动。 |
Amazon Q Business 索引 | AWS::QBusiness::Index |
Amazon Q 企业版 | Web 体验上的 Amazon Q Business API 活动。 |
Amazon Q Business Web 体验 | AWS::QBusiness::WebExperience |
Amazon Q 开发者版 | Amazon Q 开发者 API 在集成方面的活动。 |
Q 开发者集成 | AWS::QDeveloper::Integration |
Amazon Q 开发者版 | AIOps 调查组 | AWS::AIOps::InvestigationGroup |
|
Amazon RDS | 数据库集群上的 Amazon RDS API 活动。 |
RDS 数据 API - 数据库集群 | AWS::RDS::DBCluster |
AWS 资源探索器 | 托管视图上的资源浏览器 API 活动。 |
AWS 资源探索器 托管视图 | AWS::ResourceExplorer2::ManagedView |
AWS 资源探索器 | 视图上的资源浏览器 API 活动。 |
AWS 资源探索器 view | AWS::ResourceExplorer2::View |
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 表 | 亚马逊 S3 API 在表格上的活动。 |
S3 桌子 | AWS::S3Tables::Table |
Amazon S3 表 | Amazon S3 API 在表存储桶上的活动。 |
S3 桌桶 | AWS::S3Tables::TableBucket |
Amazon S3 on Outposts | Amazon S3 on Outposts 对象级别 API 活动。 |
S3 Outposts | AWS::S3Outposts::Object |
亚马逊 SageMaker AI | 终端节点上的亚马逊 SageMaker AI InvokeEndpointWithResponseStream 活动。 |
SageMaker AI 端点 | AWS::SageMaker::Endpoint |
亚马逊 SageMaker AI | 特色商店中的亚马逊 SageMaker AI API 活动。 |
SageMaker AI feature store | AWS::SageMaker::FeatureGroup |
亚马逊 SageMaker AI | Amazon SageMaker AI API 在实验试验组件上的活动。 |
SageMaker AI 指标实验试用组件 | AWS::SageMaker::ExperimentTrialComponent |
AWS Signer | 签名者在签名作业时的 API 活动。 |
签名者签名工作 | AWS::Signer::SigningJob |
AWS Signer | 签名者在签名个人资料上的API活动。 |
签名者签名档案 | AWS::Signer::SigningProfile |
Amazon SimpleDB | 域名上的亚马逊 SimpleDB API 活动。 |
SimpleDB 域 | AWS::SDB::Domain |
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 Step Functions | Step Functions API 关于活动的活动。 |
Step Function | AWS::StepFunctions::Activity |
AWS Step Functions | Step Functions 状态机 | AWS::StepFunctions::StateMachine |
|
AWS Supply Chain | AWS Supply Chain 实例上的 API 活动。 |
供应链 | AWS::SCN::Instance |
Amazon SWF | SWF 域 | AWS::SWF::Domain |
|
AWS Systems Manager | 控制通道上的 Systems Manager API 活动。 | Systems Manager (系统管理员) | AWS::SSMMessages::ControlChannel |
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 活动。 | 时间流区域端点 | 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 瘦客户机 | WorkSpaces 设备上的瘦客户端 API 活动。 | 瘦客户端设备 | AWS::ThinClient::Device |
Amazon WorkSpaces 瘦客户机 | WorkSpaces 环境中的瘦客户端 API 活动。 | 瘦客户端环境 | AWS::ThinClient::Environment |
AWS X-Ray | X-Ray 跟踪 | AWS::XRay::Trace |
默认情况下,在您创建跟踪或事件数据存储时,未记录数据事件。要记录 CloudTrail 数据事件,必须明确添加要为其收集活动的每种资源类型。有关记录事件数据的更多信息,请参阅记录数据事件。
记录数据事件将收取额外费用。有关 CloudTrail 定价,请参阅AWS CloudTrail 定价
网络活动事件
注意
网络活动事件处于预览版 CloudTrail ,可能会发生变化。
CloudTrail 网络活动事件使 VPC 终端节点所有者能够记录使用其 VPC 终端节点从私有 VPC 到的 AWS API 调用 AWS 服务。通过网络活动事件,可以了解在 VPC 中执行的资源操作。
您可以记录以下服务的网络活动事件:
-
AWS CloudTrail
-
亚马逊 EC2
-
AWS KMS
-
AWS Secrets Manager
默认情况下,在您创建跟踪或事件数据存储时,未记录网络活动事件。要记录 CloudTrail 网络活动事件,必须明确设置要为其收集活动的事件源。有关更多信息,请参阅 记录网络活动事件。
记录网络活动事件将收取额外费用。有关 CloudTrail 定价,请参阅AWS CloudTrail 定价
Insights 事件
CloudTrail Insights 事件通过分析 CloudTrail 管理活动来捕获您 AWS 账户中异常的 API 调用率或错误率活动。Insights 事件提供相关信息,例如关联的 API、错误代码、事件时间和统计数据,以帮助您了解异常活动并对其采取措施。与在 CloudTrail 跟踪或事件数据存储中捕获的其他类型的事件不同,Insights 事件仅在 CloudTrail 检测到您的账户 API 使用情况或错误率记录的变化与账户的典型使用模式明显不同时,才会记录 Insights 事件。有关更多信息,请参阅 使用见 CloudTrail 解。
可能生成 Insights 事件的活动的示例包括:
-
您的账户通常每分钟记录不超过 20 次 Simple Storage Service(Amazon S3)
deleteBucket
API 调用,但是您的账户一开始就平均每分钟记录 100 次deleteBucket
API 调用。在异常活动开始时记录一个 Insights 事件,并记录另一个见解事件以标记异常活动的结束。 -
您的账户通常每分钟记录 20 次对 Amazon EC2
AuthorizeSecurityGroupIngress
API 的调用,但您的账户开始记录的调用次数为零AuthorizeSecurityGroupIngress
。在异常活动开始时记录一个 Insights 事件,10 分钟后,当异常活动结束时,将记录另一个 Insights 事件以标记异常活动的结束。 -
您的账户七天内对 AWS Identity and Access Management API、
DeleteInstanceProfile
记录的AccessDeniedException
错误通常不到一个。你的账户开始对DeleteInstanceProfile
API 调用每分钟平均记录 12 个AccessDeniedException
错误。在异常错误率活动开始时记录一个 Insights 事件,并记录另一个 Insights 事件以标记异常活动的结束。
这些示例仅用于说明用途。根据您的使用案例,您的结果可能会有所不同。
要记录 CloudTrail Insights 事件,您必须在新的或现有的跟踪或事件数据存储上明确启用 Insights 事件。有关创建跟踪的更多信息,请参阅使用 CloudTrail 控制台创建跟踪。有关创建事件数据存储的更多信息,请参阅使用控制台为 Insights 事件创建事件数据存储。
将对 Insights 事件收取额外费用。如果您同时为跟踪和事件数据存储启用 Insights,则需要单独付费。有关更多信息,请参阅AWS CloudTrail 定价
事件历史记录
CloudTrail 事件历史记录提供了过去 90 天中管理事件的可查看、可搜索、可下载且不可变的 CloudTrail 记录。 AWS 区域您可以使用此历史记录在 AWS Management Console、 AWS SDKs、命令行工具和其他 AWS 服务中查看您的 AWS 账户中执行的操作。您可以通过选择显示哪些列来自定义 CloudTrail 控制台中的事件历史记录视图。有关更多信息,请参阅 处理 CloudTrail 事件历史记录。
跟踪
跟踪是一种配置,允许将 CloudTrail 事件传输到 S3 存储桶,也可以选择传送到 L CloudWatch ogs 和 A mazon EventBridge。您可以使用跟踪来选择要传送 CloudTrail 的事件,使用密 AWS KMS 钥加密 CloudTrail 事件日志文件,以及为日志文件传输设置 Amazon SNS 通知。有关如何创建和管理跟踪的更多信息,请参阅为您创建路线 AWS 账户。
多区域和单区域跟踪
您可以为您的 AWS 账户创建多区域和单区域跟踪。
- 多区域跟踪
-
创建多区域跟踪时,会在您工作的AWS 分区 AWS 区域中 CloudTrail 记录所有事件,并将 CloudTrail 事件日志文件传送到您指定的 S3 存储桶。如果在创建多区域跟踪后添加了,则会自动包含该新区域,并记录该区域中的事件。 AWS 区域 推荐的最佳实践是创建多区域跟踪,因为您可记录您账户中的所有区域的活动。您使用 CloudTrail 控制台创建的所有跟踪都是多区域的。您可以使用将单区域跟踪转换为多区域跟踪。 AWS CLI有关更多信息,请参阅使用控制台创建跟踪 和将应用到一个区域的跟踪转换为应用到所有区域。
- 单区域跟踪
-
创建单区域跟踪时,仅 CloudTrail 记录该区域的事件。然后,它 CloudTrail 会将事件日志文件传送到您指定的 Amazon S3 存储桶。您只能使用 AWS CLI创建单区域跟踪。如果您创建其他单个跟踪,则可以让这些跟踪将 CloudTrail 事件日志文件传送到同一 S3 存储桶或单独的存储桶。这是您使用 AWS CLI 或 CloudTrail API 创建跟踪时的默认选项。有关更多信息,请参阅 使用创建、更新和管理跟踪 AWS CLI。
注意
对于这两种类型的跟踪,您可以在任何区域中指定 Amazon S3 存储桶。
多区域跟踪具有以下优势:
-
跟踪的配置设置一致地应用到所有 AWS 区域。
-
您可以在单个 Amazon S3 存储桶 AWS 区域 中接收来自所有 CloudTrail 事件的事件,也可以选择在 CloudWatch 日志日志组中接收事件。
-
您可以 AWS 区域 从一个位置管理所有人的跟踪配置。
将跟踪应用于所有 AWS 区域时, CloudTrail 使用您在特定区域中创建的跟踪,在您所在AWS 分区的所有其他区域中创建配置相同的跟踪。
这有以下影响:
-
CloudTrail 将所有 AWS 区域的账户活动日志文件传输到您指定的单个 Amazon S3 存储桶,也可以传输到 CloudWatch 日志日志组。
-
如果您为跟踪配置了 Amazon SNS 主题,则有关所有 AWS 区域日志文件传输的 SNS 通知将发送到该单个 SNS 主题。
无论跟踪是多区域还是单区域,发送到 Ama EventBridge zon 的事件都会在每个区域的事件总线中接收,而不是在单个事件总线中接收。
每区域多个跟踪记录
如果您拥有不同但相关的用户组,例如开发人员、安全人员和 IT 审计人员,您可以为每个区域创建多个跟踪记录。这可使每个组均接收各自的日志文件副本。
CloudTrail 每个区域支持五条跟踪。多区域跟踪计为每个区域一个跟踪。
以下是具有五个跟踪的区域的示例:
-
您在美国西部(加利福尼亚北部)区域创建了两个仅适用于此区域的跟踪记录。
-
您在美国西部(北加利福尼亚)区域创建了另外两个多区域跟踪。
-
您在亚太地区(悉尼)区域创建了另一个多区域跟踪。此跟踪也作为美国西部(加利福尼亚北部)区域中的跟踪存在。
您可以在 CloudTrail 控制台的 Trails 页面 AWS 区域 中查看跟踪列表。有关更多信息,请参阅 使用 CloudTrail 控制台更新跟踪。有关 CloudTrail 定价,请参阅AWS CloudTrail
定价
组织跟踪
组织跟踪是一种配置,允许将管理账户和 AWS Organizations 组织中所有成员账户中的 CloudTrail 事件传送到同一 Amazon S3 存储桶、 CloudWatch 日志和 Amazon EventBridge。创建组织跟踪可帮助您为组织定义统一的事件记录策略。
使用控制台创建的所有组织跟踪都是多区域组织跟踪,用于记录组织 AWS 区域 中每个成员账户中已启用的事件。要记录组织中所有 AWS 分区中的事件,请在每个分区中创建多区域组织跟踪。您可以通过使用 AWS CLI创建单区域或多区域组织跟踪。如果您创建单区域跟踪,则只能在该跟踪 AWS 区域 (也称为主区域)中记录活动。
尽管大多数区域默认 AWS 区域 处于启用状态 AWS 账户,但您必须手动启用某些区域(也称为可选区域)。有关默认启用哪些区域的信息,请参阅《AWS Account Management 参考指南》中的 Considerations before enabling and disabling Regions。有关 CloudTrail支持的区域列表,请参阅CloudTrail 支持的区域。
当您创建组织跟踪时,将在属于您组织的成员账户中创建具有您所指定名称的跟踪副本。
-
如果组织跟踪适用于单区域,而跟踪的主区域不是可选区域,则会在组织跟踪的主区域的每个成员账户中创建跟踪的副本。
-
如果组织跟踪适用于单区域,而跟踪的主区域是可选区域,则会在组织跟踪的主区域中启用该区域的成员账户中创建跟踪的副本。
-
如果组织跟踪是多区域,并且跟踪的主区域不是可选区域,则会在每个成员账户中启用的 AWS 区域 每个跟踪中创建一个跟踪副本。当成员账户启用选择加入区域时,在激活该区域完成后,将在新选择加入的区域中为成员帐户创建多区域跟踪的副本。
-
如果组织跟踪是多区域,而主区域是可选区域,则成员账户将不会向组织跟踪发送活动,除非他们选择进入创建多区域跟踪 AWS 区域 的地方。例如,如果您创建了多区域跟踪,并选择欧洲(西班牙)区域作为跟踪的主区域,则只有为其账户启用了欧洲(西班牙)区域的成员账户才会将其账户活动发送到组织跟踪。
注意
CloudTrail 即使资源验证失败,也会在成员账户中创建组织跟踪。验证失败的示例包括:
-
Amazon S3 存储桶策略不正确
-
Amazon SNS 主题策略不正确
-
无法传送到 CloudWatch 日志组
-
权限不足,无法使用 KMS 密钥进行加密
拥有 CloudTrail 权限的成员账户可以通过在 CloudTrail 控制台上查看组织跟踪的详细信息页面或运行 AWS CLI get-trail-status 命令。
拥有成员账户 CloudTrail 权限的用户在从自己的账户登录 CloudTrail 控制台时或运行诸如(尽管成员 AWS
账户在使用时必须使用 ARN 而不是名称)之类的 AWS CLI 命令时,他们将能够看到组织跟踪describe-trails
(包括跟踪 ARN)。 AWS CLI但是,成员账户中的用户将没有足够的权限删除组织跟踪、启用和关闭日志记录、更改要记录的事件类型,或以任何其他方式更改组织跟踪。有关 AWS Organizations的更多信息,请参阅 Organizations 术语和概念。有关创建和使用组织跟踪记录的更多信息,请参阅为组织创建跟踪。
CloudTrail 湖泊和事件数据存储
CloudTrail Lake 允许您对事件运行基于 SQL 的精细查询,并记录来自外部 AWS来源(包括您自己的应用程序)以及与之集成的合作伙伴的事件。 CloudTrail您无需在账户中配置跟踪即可使用 CloudTrail Lake。
事件被聚合到事件数据存储,是基于您通过应用高级事件选择器选择的条件的不可变的事件集合。如果您选择一年可延期保留定价选项,则可以将事件数据在事件数据存储中最多保留 3653 天(大约 10 年);如果您选择七年保留定价选项,则最多可以保留 2557 天(大约 7 年)。您可以保存 Lake 查询以供将来使用,并查看最多七天的查询结果。您还可以将查询结果保存到 S3 存储桶。 CloudTrail Lake 还可以将来自组织的事件存储 AWS Organizations 在事件数据存储中,或者将来自多个区域和账户的事件存储在事件数据存储中。 CloudTrail Lake 是审计解决方案的一部分,可帮助您进行安全调查和故障排除。有关更多信息,请参阅与 L AWS CloudTrail ake 合作 和CloudTrail 湖泊的概念和术语。
CloudTrail 见解
CloudTrail Insights 通过持续分析 CloudTrail 管理事件,帮助 AWS 用户识别和响应异常数量的 API 调用或 API 调用中记录的错误。Insights 事件是异常级别的 write
管理 API 活动,或管理 API 活动返回的异常错误级别。默认情况下,跟踪和事件数据存储不记录 CloudTrail Insights 事件。在控制台中,您可以选择在创建或更新跟踪或事件数据存储时记录 Insights 事件。使用 CloudTrail API 时,您可以通过使用 PutInsightSelectors
API 编辑现有跟踪或事件数据存储的设置来记录 Insights 事件。记录 CloudTrail Insights 事件需要支付额外费用。如果您同时为跟踪和事件数据存储启用 Insights,则需要单独付费。有关更多信息,请参阅 使用见 CloudTrail 解 和 AWS CloudTrail 定价
标签
标签是客户定义的密钥和可选值,可以分配给 AWS 资源,例如 CloudTrail 跟踪、事件数据存储和频道、用于存储 CloudTrail 日志文件的 S3 存储桶、 AWS Organizations 组织和组织单位等等。通过将相同的标签添加到跟踪和您用于存储跟踪记录的日志文件的 S3 存储桶,您可以更轻松地通过 AWS Resource Groups 管理、搜索和筛选这些资源。您可以实施标记策略以帮助您持续、高效且轻松地查找和管理您的资源。有关更多信息,请参阅为AWS 资源添加标签的最佳实践。
AWS Security Token Service 和 CloudTrail
AWS Security Token Service (AWS STS) 是一项具有全局终端节点的服务,还支持特定于区域的终端节点。终端节点是作为 Web 服务请求入口点的 URL。例如,https://cloudtrail.us-west-2.amazonaws.com
是该 AWS CloudTrail 服务的美国西部(俄勒冈)区域入口点。区域性终端节点可帮助减少应用程序中的延迟。
当您使用 AWS STS 特定于区域的终端节点时,该区域中的跟踪仅传送该区域中发生 AWS STS 的事件。例如,如果您使用终端节点 sts.us-west-2.amazonaws.com
,则 us-west-2 中的跟踪仅传输源自 us-west-2 的 AWS STS 事件。有关 AWS STS 区域终端节点的更多信息,请参阅 IAM 用户指南 AWS STS 中的在 AWS 区域中激活和停用。
有关 AWS 区域终端节点的完整列表,请参阅中的AWS 区域和终端节点AWS 一般参考。有关来自全局 AWS STS 终端节点的事件的详细信息,请参阅全球服务事件。
全球服务事件
重要
自 2021 年 11 月 22 日起, AWS CloudTrail 更改了跟踪捕获全球服务事件的方式。现在,事件由 Amazon 创建 CloudFront AWS Identity and Access Management,并 AWS STS 记录在创建这些事件的区域,即美国东部(弗吉尼亚北部)区域 us-east-1。这使得如何 CloudTrail 对待这些服务与其他 AWS 全球服务保持一致。要继续接收美国东部(弗吉尼亚州北部)以外的全球服务事件,请务必将使用美国东部(弗吉尼亚州北部)以外全球服务事件的单区域跟踪转换为多区域跟踪。如需有关捕获全球服务事件的更多信息,请参阅本章节后面部分的启用和禁用全球服务事件记录。
相比之下, CloudTrail 控制台中的事件历史记录和aws cloudtrail lookup-events命令将显示这些事件的发生 AWS 区域 地点。
对于大多数服务,事件被记录在发生操作的区域。对于诸如 AWS Identity and Access Management (IAM) 和 Amazon 之类的全球服务 CloudFront,事件会发送到包含全球服务的任何跟踪。 AWS STS
对于大多数全球服务,事件记录为发生在美国东部(弗吉尼亚州北部)区域,但有些全球服务事件记录为发生在其他区域,例如美国东部(俄亥俄州)区域或美国西部(俄勒冈州)区域。
要避免接收重复的全球服务事件,请注意:
-
默认情况下,全局服务事件会传递到使用 CloudTrail 控制台创建的跟踪。事件传输到跟踪的存储桶中。
-
如果您有多个单区域跟踪记录,可考虑将跟踪配置为只在其中一个跟踪记录中传输全球服务事件。有关更多信息,请参阅 启用和禁用全球服务事件记录。
-
如果将跟踪配置从记录所有区域改为只记录单个区域,则会自动为该跟踪关闭全球服务事件日志记录。同理,如果将跟踪配置从记录单个区域改为记录所有区域,则会自动为该跟踪打开全球服务事件日志记录。
有关更改跟踪的全球服务事件日志记录的更多信息,请参阅启用和禁用全球服务事件记录。
示例:
-
您可以在 CloudTrail 控制台中创建跟踪。默认情况下,此跟踪将记录全球服务事件。
-
您有多个单区域跟踪记录。
-
您不需要为单区域跟踪记录包含全球服务。全球服务事件会提交给第一个跟踪。有关更多信息,请参阅 使用创建、更新和管理跟踪 AWS CLI。
注意
使用 AWS CLI、 AWS SDKs或 CloudTrail API 创建或更新跟踪时,您可以指定是包含还是排除跟踪的全局服务事件。您无法从 CloudTrail 控制台配置全局服务事件日志。