本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
CloudTrail录制内容
记录的正文包含若干字段,可帮助您确定所请求的操作以及在何时何地发出请求。当 Optional (可选) 的值为 True 时,该字段仅在应用于服务、API 或事件类型时才存在。可选值 False 表示字段始终存在,或者其存在不依赖于服务、API 或事件类型。示例是 responseElements
,它存在于可做出更改的操作(创建、更新或删除操作)的事件中。
eventTime
-
完成请求的日期和时间 [用协调世界时(UTC)表示]。事件的时间戳来自本地主机,该主机提供进行 API 调用时所在的服务 API 终端节点。例如,在美国西部(俄勒冈)区域运行的 CreateBucket API 事件将从运行 Simple Storage Service(Amazon S3)终端节点的 Amazon 主机
s3.us-west-2.amazonaws.com
上的时间获得其时间戳。总的来说,Amazon 服务使用网络时间协议 (NTP) 来同步其系统时钟。Since (自从):1.0
Optional (可选):False
eventVersion
-
日志事件格式的版本。当前版本是 1.09。
eventVersion
值是主要版本和次要版本,格式为major_version
.minor_version
。例如,您可获得1.08
的eventVersion
值,其中1
是主要版本,08
是次要版本。CloudTrail如果对事件结构进行了不向后兼容的更改,则会增加主要版本。这包括删除已存在的 JSON 字段,或更改字段内容的表示方式(例如,日期格式)。CloudTrail如果更改向事件结构添加了新字段,则会递增次要版本。如果新信息对部分或全部现有事件可用,或者新信息仅可用于新事件类型,则可能会发生这种情况。应用程序可忽略新字段,以便与事件结构的新次要版本保持兼容。
如果CloudTrail引入了新的事件类型,但事件的结构在其他方面保持不变,则事件版本不会改变。
为确保您的应用程序能够解析事件结构,我们建议您对主要版本号执行等于比较。为确保您的应用程序所需的字段存在,我们还建议对次greater-than-or-equal要版本执行-to 比较。次要版本中没有前导零。您可以将
major_version
和minor_version
都解读为数字,并执行比较操作。Since (自从):1.0
Optional (可选):False
userIdentity
-
有关发出请求的 IAM 身份的信息。有关更多信息,请参阅CloudTrailuserIdentity 元素:
Since (自从):1.0
Optional (可选):False
eventSource
-
已将请求发出到的服务。此名称通常为服务名称的简短形式,不含空格但会加上
.amazonaws.com
。例如:-
Amazon CloudFormation 为
cloudformation.amazonaws.com
。 -
Amazon EC2 是
ec2.amazonaws.com
。 -
Amazon Simple Workflow Service 是
swf.amazonaws.com
。
此约定存在某些例外情况。例如,亚马逊
eventSource
的CloudWatch为monitoring.amazonaws.com
。Since (自从):1.0
Optional (可选):False
-
eventName
-
请求的操作(服务的 API 中的某个操作)。
Since (自从):1.0
Optional (可选):False
awsRegion
-
向Amazon Web Services 区域其提出请求的,例如
us-east-2
。请参阅CloudTrail 支持的地区。Since (自从):1.0
Optional (可选):False
sourceIPAddress
-
已从中发出请求的 IP 地址。对于源自服务控制台的操作,报告的地址针对的是基础客户资源而不是控制台 Web 服务器。对于 Amazon 中的服务,仅显示 DNS 名称。
Since (自从):1.0
Optional (可选):False
注意
对于由 Amazon 发起的事件,此字段通常为
AWS Internal/
,其中#
是供内部使用的编号。#
userAgent
-
通过其发出请求的代理,例如 Amazon Web Services Management Console、Amazon 服务、Amazon 开发工具包或 Amazon CLI。此字段的最大大小为 1 KB;超过该限制的内容将被截断。以下是值示例:
-
signin.amazonaws.com
– 请求由 IAM 用户通过 Amazon Web Services Management Console 发出。 -
console.amazonaws.com
– 请求由根用户通过 Amazon Web Services Management Console 发出。 -
lambda.amazonaws.com
– 请求通过 Amazon Lambda 发出。 -
aws-sdk-java
– 请求通过 Amazon SDK for Java 发出。 -
aws-sdk-ruby
– 请求通过 Amazon SDK for Ruby 发出。 -
aws-cli/1.3.23 Python/2.7.6 Linux/2.6.18-164.el5
– 请求通过 Linux 上安装的 Amazon CLI 发出。
注意
对于由 Amazon 发起的事件,此字段通常为
AWS Internal/
,其中#
是供内部使用的编号。#
Since (自从):1.0
Optional (可选):True
-
errorCode
-
如果请求返回错误,则为 Amazon 服务错误。有关显示此字段的示例,请参阅 示例错误代码及留言记录。此字段的最大大小为 1 KB;超过该限制的内容将被截断。
Since (自从):1.0
Optional (可选):True
errorMessage
-
如果请求返回一个错误,则为该错误的描述。此消息包含授权失败的消息。CloudTrail捕获服务在其异常处理中记录的消息。有关示例,请参阅 示例错误代码及留言记录。此字段的最大大小为 1 KB;超过该限制的内容将被截断。
注意
某些 Amazon 服务将
errorCode
和errorMessage
作为事件中的顶级字段提供。其他 Amazon 服务在responseElements
中提供错误信息。Since (自从):1.0
Optional (可选):True
requestParameters
-
与请求一起发送的参数(如果有)。这些参数记录在相应 Amazon 服务的 API 参考文档中。此字段的最大大小为 100 KB;超过该限制的内容将被截断。
Since (自从):1.0
Optional (可选):False
responseElements
-
可做出更改的操作(创建、更新或删除操作)的响应元素。如果某个操作不更改状态(例如,用于获取或列出对象的请求),则忽略此元素。这些操作记录在相应 Amazon 服务的 API 参考文档中。此字段的最大大小为 100 KB;超过该限制的内容将被截断。
responseElements
值对帮助您使用 Amazon Web Services Support 跟踪请求很有用。x-amz-request-id
和x-amz-id-2
包含的信息都可帮助您使用 Amazon Web Services Support 跟踪请求。这些值与为响应启动事件的请求而返回的服务值相同,因此您可以使用这些值匹配事件与请求。Since (自从):1.0
Optional (可选):False
-
additionalEventData
-
不是请求或响应一部分的关于事件的其他数据。此字段的最大大小为 28 KB;超过该限制的内容将被截断。
从
eventVersion
1.00
开始支持此字段。Since (自从):1.0
Optional (可选):True
requestID
-
用于标识请求的值。所调用的服务生成此值。此字段的最大大小为 1 KB;超过该限制的内容将被截断。
从
eventVersion
1.01
开始支持此字段。Since (自从):1.01
Optional (可选):False
eventID
-
由 CloudTrail 生成的用来唯一标识每个事件的 GUID。您可以使用此值来标识单个事件。例如,您可以将此 ID 用作主键来从可搜索的数据库中检索日志数据。
Since (自从):1.01
Optional (可选):False
eventType
-
标识生了成事件记录的事件的类型。它可以是以下值之一:
-
AwsApiCall
- 调用了一个 API。 -
AwsServiceEvent
– 该服务生成了一个与跟踪相关的事件。例如,如果另一个账户使用您拥有的资源发起调用,则可能出现这种情况。 -
AwsConsoleAction
– 在控制台中执行了一个非 API 调用的操作。 -
AwsConsoleSignIn
— 您的账户(根账户、IAM 账户、联合账户、SAML 账户或SwitchRole)中的用户登录到。Amazon Web Services Management Console -
AwsCloudTrailInsight
— 如果为跟踪启用了 Insights 事件,则在CloudTrail检测到异常运营活动(例如资源配置峰值或 Amazon Identity and Access Management (IAM) 突发)操作时CloudTrail生成 Insights 事件。AwsCloudTrailInsight
事件未使用以下字段:-
eventName
-
eventSource
-
sourceIPAddress
-
userAgent
-
userIdentity
-
Since (自从):1.02
Optional (可选):False
-
apiVersion
-
标识与
AwsApiCall
eventType
值关联的 API 版本。Since (自从):1.01
Optional (可选):True
managementEvent
-
一个布尔值,标识该事件是否为管理事件。如果
eventVersion
为 1.06 或更高,则事件记录中将显示managementEvent
,并且事件类型为以下值之一:-
AwsApiCall
-
AwsConsoleAction
-
AwsConsoleSignIn
-
AwsServiceEvent
Since (自从):1.06
Optional (可选):True
-
-
readOnly
-
标识此操作是否为只读操作。它可以是以下值之一:
-
true
– 操作为只读操作(例如,DescribeTrails
)。 -
false
– 操作为只写操作(例如,DeleteTrail
)。
Since (自从):1.01
Optional (可选):True
-
-
resources
-
事件中访问的资源列表。此字段可包含以下信息:
-
资源 ARN
-
资源拥有者的账户 ID
-
资源类型标识符,格式为:
AWS::
aws-service-name
::data-type-name
例如,在记录
AssumeRole
事件时,resources
字段可能如下所示:-
ARN:
arn:aws:iam::123456789012:role/
myRole
-
账户 ID:
123456789012
-
资源类型标识符:
AWS::
IAM
::Role
有关带
resources
字段的日志示例,请参阅 Amazon STSIAM 用户指南中的CloudTrail日志文件中的 API 事件或Amazon Key Management Service开发人员指南中的记录 Amazon KMS API 调用。Since (自从):1.01
Optional (可选):True
-
recipientAccountId
-
表示已收到此事件的账户 ID。
recipientAccountID
可能与 CloudTrailuserIdentity 元素accountId
不同。此情况会在跨账户资源访问中发生。例如,如果一个单独的账户已使用 KMS 密钥(也称为 Amazon KMS key)调用 Encrypt API,则已传输到发起调用的账户的事件的accountId
和recipientAccountID
值将相同,而已传输到拥有 KMS 密钥的账户的事件的这两个值不相同。Since (自从):1.02
Optional (可选):True
serviceEventDetails
-
确定服务事件,包括触发活动的原因和结果。有关更多信息,请参阅Amazon 服务事件:此字段的最大大小为 100 KB;超过该限制的内容将被截断。
Since (自从):1.05
Optional (可选):True
sharedEventID
-
CloudTrail 生成的 GUID,用于唯一标识来自发送到不同 Amazon 账户的相同 Amazon 操作的 CloudTrail 事件。
例如,当一个账户使用Amazon KMS key属于另一个账户的账户时,使用 KMS 密钥的账户和拥有 KMS 密钥的账户会收到针对同一操作的单独CloudTrail事件。为此 Amazon 操作提交的每一个 CloudTrail 事件都共享相同的
sharedEventID
,但也有唯一的eventID
和recipientAccountID
。有关更多信息,请参阅示例 sharedEventID:
注意
仅当向多个账户提交 CloudTrail 事件时,才会存在
sharedEventID
字段。如果调用方和所有者是同一 Amazon 账户,CloudTrail 只发送一个事件,并且不会存在sharedEventID
字段。Since (自从):1.03
Optional (可选):True
-
vpcEndpointId
-
确定从 VPC 向另一个 Amazon 服务发送请求的 VPC 终端节点,如 Amazon S3。
Since (自从):1.04
Optional (可选):True
eventCategory
-
显示
LookupEvents
调用中使用的事件类别。-
对于管理事件,值为
Management
。 -
对于数据事件,值为
Data
。 -
对于见解事件,值为
Insight
。
从:1.07
Optional (可选):False
-
addendum
-
如果事件传递延迟,或者在记录事件后获得了有关现有事件的其他信息,则附录字段将显示有关事件延迟原因的信息。如果现有事件中缺少信息,则附录字段将包含缺失的信息以及缺失信息的原因。内容包括下列信息。
-
reason
- 事件或其部分内容丢失的原因。值可以是以下任何一项。-
DELIVERY_DELAY
– 传送事件时出现延迟。这可能是由高网络流量、连接问题或CloudTrail服务问题引起的。 -
UPDATED_DATA
– 事件记录中的字段丢失或值不正确。 -
SERVICE_OUTAGE
— 一种将事件记录到中断CloudTrail但无法将事件记录到的服务CloudTrail。这种情况极为罕见。
-
-
updatedFields
- 由附录更新的事件记录字段。只有在原因为UPDATED_DATA
时才提供此信息。 -
originalRequestID
- 请求的原始唯一 ID。只有在原因为UPDATED_DATA
时才提供此信息。 -
originalEventID
- 原始事件 ID。只有在原因为UPDATED_DATA
时才提供此信息。
从:1.08
Optional (可选):True
-
sessionCredentialFromConsole
-
显示事件是否源自 Amazon Web Services Management Console 会话。此字段不会显示出来,除非该值为
true
,这意味着用于进行 API 调用的客户端是代理或外部客户端。如果使用了代理客户端,则不显示tlsDetails
事件字段。从:1.08
Optional (可选):True
edgeDeviceDetails
-
显示有关作为请求目标的边缘设备的信息。目前,
S3 Outposts
设备事件包括此字段。此字段的最大大小为 28 KB;超过该限制的内容将被截断。 从:1.08
Optional (可选):True
tlsDetails
-
显示服务 API 调用中使用的客户端提供主机名(通常是服务端点的 FQDN)的传输层安全性协议 (TLS) 版本、密码套件和完全限定域名 (FQDN) 相关信息。CloudTrail如果预期信息缺失或为空,仍会记录部分 TLS 详细信息。例如,如果存在 TLS 版本和密码套件,但
HOST
标头为空,则事件中仍会记录可用的 TLS 详细信息。CloudTrail有关哪些服务将 TLS 详细信息记录到的更多信息CloudTrail,请参阅支持 TLS 详细信息的服务 CloudTrail。如果
sessionCredentialFromConsole
存在且值为true
,则仅当使用外部客户端进行 API 调用时,tlsDetails
才存在于事件记录中。-
tlsVersion
- 请求的 TLS 版本。 -
cipherSuite
- 请求的密码套件(所用安全算法的组合)。 -
clientProvidedHostHeader
- 服务 API 调用中使用的客户端提供主机名,通常是服务端点的 FQDN。
从:1.08
Optional (可选):True
-
见解事件的记录字段
以下是见解事件的 JSON 结构中显示的属性,这些属性与管理或数据事件中的属性不同。
sharedEventId
-
A
sharedEventID
fo CloudTrail r Insights 事件不同于CloudTrail事件的管理和数据类型。sharedEventID
在 Insights 事件中,asharedEventID
是 Ins CloudTrail ights 生成的 GUID,用于唯一标识 Insights 事件。sharedEventID
在 Insights 事件开始和结束 Insights 事件之间很常见,有助于将这两个事件联系起来,以唯一地识别异常活动。您可以将sharedEventID
视为整体见解事件 ID。从:1.07
Optional (可选):False
insightDetails
-
仅限见解事件。显示有关见解事件的基础触发器的信息,如事件源、用户代理、统计信息、API 名称,以及该事件是见解事件的开始还是结束。有关
insightDetails
数据块的内容的更多信息,请参阅 CloudTrail 见解insightDetails元素。从:1.07
Optional (可选):False