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

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

CloudTrail 录制内容

记录的正文包含若干字段,可帮助您确定所请求的操作以及在何时何地发出请求。当 Op ti on al 的值为 True 时,该字段仅在适用于服务或事件类型时才会出现。API可为 False 表示该字段要么始终存在,要么其存在与服务API、或事件类型无关。示例是 responseElements,它存在于可做出更改的操作(创建、更新或删除操作)的事件中。

CloudTrail 如果字段的内容超过最大字段大小,则会截断该字段。如果某个字段被截断,则 omitted 以值 true 显示。

eventTime

请求完成的日期和时间,以协调世界时为单位 (UTC)。事件的时间戳来自本地主机,该主机提供API发出调用的服务API端点。例如,在美国西部(俄勒冈)地区运行CreateBucketAPI的事件将从运行 Amazon S3 终端节点 Amazon 的主机上的时间开始获取其时间戳s3.us-west-2.amazonaws.com。通常, Amazon 服务使用网络时间协议 (NTP) 来同步其系统时钟。

Since (自从):1.0

Optional (可选):False

eventVersion

日志事件格式的版本。当前版本是 1.10。

eventVersion值是形式中的主要版本和次要版本 major_version.minor_version。 例如,您可以将eventVersion值设置为1.09,其中1为主版本,其中09为次要版本。

CloudTrail 如果对不向后兼容的事件结构进行了更改,则会增加主版本。这包括移除已存在的JSON字段,或者更改字段内容的表示方式(例如,日期格式)。 CloudTrail 如果更改向事件结构添加了新字段,则会增加次要版本。如果新信息对部分或全部现有事件可用,或者新信息仅可用于新事件类型,则可能会发生这种情况。应用程序可忽略新字段,以便与事件结构的新次要版本保持兼容。

如果 CloudTrail 引入了新的事件类型,但事件的结构在其他方面保持不变,则事件版本不会改变。

为确保您的应用程序能够解析事件结构,我们建议您对主要版本号执行等于比较。为确保您的应用程序预期的字段存在,我们还建议对次 greater-than-or-equal要版本进行-to 比较。次要版本中没有前导零。你可以解释两者 major_version 以及 minor_version 作为数字,然后执行比较运算。

Since (自从):1.0

Optional (可选):False

userIdentity

有关发出请求的IAM身份的信息。有关更多信息,请参阅 CloudTrail userIdentity 元素

Since (自从):1.0

Optional (可选):False

eventSource

已将请求发出到的服务。此名称通常为服务名称的简短形式,不含空格但会加上 .amazonaws.com。例如:

  • Amazon CloudFormation 是cloudformation.amazonaws.com

  • 亚马逊EC2是ec2.amazonaws.com

  • Amazon Simple Workflow Service 是 swf.amazonaws.com

此约定存在某些例外情况。例如,适用于 Amazon 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名称。

注意

对于由 Amazon发起的事件,此字段通常为 AWS Internal/#,其中 # 是供内部使用的编号。

Since (自从):1.0

Optional (可选):False

userAgent

发出请求的代理,例如 Amazon Web Services Management Console、 Amazon 服务、 Amazon SDKs或 Amazon CLI。此字段的最大大小为 1 KB;超过该限制的内容将被截断。以下是值示例:

  • 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— 该请求是使用 Amazon CLI 安装在 Linux 上的。

注意

对于源自的事件 Amazon,如果 CloudTrail 知道是谁拨打 Amazon Web Services 服务 了呼叫,则此字段是调用服务的事件源(例如,ec2.amazonaws.com)。否则,此字段为AWS Internal/#,其中#是用于内部目的的数字。

Since (自从):1.0

Optional (可选):True

errorCode

如果请求返回错误,则表示 Amazon 服务错误。有关显示此字段的示例,请参阅 示例错误代码及留言记录。此字段的最大大小为 1 KB;超过该限制的内容将被截断。

对于网络活动事件,当存在VPC端点策略违规行为时,错误代码为VpceAccessDenied

Since (自从):1.0

Optional (可选):True

errorMessage

如果请求返回一个错误,则为该错误的描述。此消息包括授权失败的消息。 CloudTrail 捕获服务在其异常处理中记录的消息。有关示例,请参阅示例错误代码及留言记录。此字段的最大大小为 1 KB;超过该限制的内容将被截断。

对于网络活动事件,当存在VPC端点策略违规行为时,errorMessage将始终显示以下消息:The request was denied due to a VPC endpoint policy。有关因违反VPC端点策略而导致的访问被拒绝事件的更多信息,请参阅《IAM用户指南》中的访问被拒绝错误消息示例。有关显示VPC端点策略违规的网络活动事件示例,请参阅本指南中的网络活动事件

注意

某些 Amazon 服务在活动中提供errorCodeerrorMessage作为顶级字段。其他 Amazon 服务在 responseElements 中提供错误信息。

Since (自从):1.0

Optional (可选):True

requestParameters

与请求一起发送的参数(如果有)。这些参数记录在相应 Amazon 服务的API参考文档中。此字段的最大大小为 100 KB;超过该限制的内容将被截断。

Since (自从):1.0

Optional (可选):False

responseElements

进行更改的操作(创建、更新或删除操作)的响应元素(如果有)。如果动作 不返回响应元素,此字段是null。如果 操作不会更改状态(例如,请求获取或列出对象), 这个元素被省略了。操作的响应元素记录在API参考资料中 相应文档 Amazon Web Services 服务。此字段有最大大小 100 KB;超过该限制的内容将被截断。

responseElements值对帮助您跟踪请求很有用 和 Amazon Web Services Support。两者都x-amz-request-idx-amz-id-2 包含可帮助您跟踪请求的信息 Amazon Web Services Support。这些值是 与服务在响应请求时返回的内容相同 启动事件,因此您可以使用它们将事件与 请求。

Since (自从):1.0

Optional (可选):False

additionalEventData

不是请求或响应一部分的关于事件的其他数据。此字段的最大大小为 28 KB;超过该限制的内容将被截断。

Since (自从):1.0

Optional (可选):True

requestID

用于标识请求的值。所调用的服务生成此值。此字段的最大大小为 1 KB;超过该限制的内容将被截断。

Since (自从):1.01

Optional (可选):True

eventID

GUID由生成 CloudTrail ,用于唯一标识每个事件。您可以使用此值来标识单个事件。例如,您可以将此 ID 用作主键来从可搜索的数据库中检索日志数据。

Since (自从):1.01

Optional (可选):False

eventType

标识生了成事件记录的事件的类型。它可以是以下值之一:

  • AwsApiCall— API 有人打电话了。

  • AwsServiceEvent – 该服务生成了一个与跟踪相关的事件。例如,如果另一个账户使用您拥有的资源发起调用,则可能出现这种情况。

  • AwsConsoleAction— 在控制台中执行的操作不是API呼叫。

  • AwsConsoleSignIn— 您的账户(root IAM、federati SAML on 或 SwitchRole)中的用户登录了 Amazon Web Services Management Console。

  • AwsCloudTrailInsight— 如果启用了 Insights 事件,则在 CloudTrail 检测到异常操作活动(例如资源配置峰值或突发 Amazon Identity and Access Management (IAM) 操作)时 CloudTrail 生成 Insights 事件。

    AwsCloudTrailInsight 事件使用以下字段:

    • eventName

    • eventSource

    • sourceIPAddress

    • userAgent

    • userIdentity

  • AwsVpceEvents— CloudTrail 网络活动事件(预览版)使VPC端点所有者能够记录使用其VPC终端节点进行的从私有VPC到的 Amazon API呼叫 Amazon Web Services 服务。要记录网络活动事件,VPC端点所有者必须为事件源启用网络活动事件。

Since (自从):1.02

Optional (可选):False

apiVersion

标识与该AwsApiCalleventType值关联的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

事件中访问的资源列表。此字段可包含以下信息:

  • 资源 ARNs

  • 资源拥有者的账户 ID

  • 资源类型标识符,格式为:AWS::aws-service-name::data-type-name

例如,在记录 AssumeRole 事件时,resources 字段可能如下所示:

  • ARN: arn:aws:iam::123456789012:role/myRole

  • 账户 ID: 123456789012

  • 资源类型标识符:AWS::IAM::Role

有关带有该resources字段的日志的示例,请参阅IAM用户指南中的 CloudTrail 日志文件中的Amazon STS API事件Amazon Key Management Service 开发人员指南中的记录 Amazon KMS API呼叫

Since (自从):1.01

Optional (可选):True

recipientAccountId

表示已收到此事件的账户 ID。recipientAccountID 可能与 CloudTrail userIdentity 元素 accountId 不同。此情况会在跨账户资源访问中发生。例如,如果一个单独的账户使用一个KMSAmazon KMS key密钥(也称为)来调用 E n cryptAPI,则发送给发出调用的账户的事件的accountIdrecipientAccountID值将相同,但是对于传送到拥有该KMS密钥的账户的事件,其值将有所不同。

Since (自从):1.02

Optional (可选):True

serviceEventDetails

确定服务事件,包括触发活动的原因和结果。有关更多信息,请参阅 Amazon Web Services 服务 事件。此字段的最大大小为 100 KB;超过该限制的内容将被截断。

Since (自从):1.05

Optional (可选):True

sharedEventID

GUID由生成 CloudTrail ,用于唯一标识发送到不同 Amazon 账户的同一 Amazon 操作中的 CloudTrail 事件。

例如,当一个账户使用属于另一个账户的时,使用该KMS密钥的账户和拥有该密KMS钥的账户会收到针对同一操作的单独 CloudTrail 事件。Amazon KMS key为此 Amazon 动作提供的每个 CloudTrail 事件都有相同的共同sharedEventID点, 但也有一个独特eventIDrecipientAccountID.

有关更多信息,请参阅 示例 sharedEvent ID

注意

仅当 CloudTrail 事件传送到多个账户时,该sharedEventID字段才会出现。如果来电者和所有者是同一个 Amazon 帐户,则只 CloudTrail 发送一个事件,并且该sharedEventID字段不存在。

Since (自从):1.03

Optional (可选):True

vpcEndpointId

标识从一个VPC向其他 Amazon 服务(例如 Amazon)发出请求的VPC终端节点EC2。

Since (自从):1.04

Optional (可选):True

vpcEndpointAccountId

标识请求已遍历的相应VPC终端节点的终端节点所有者的 Amazon Web Services 账户 ID。

从那时起:1.09

Optional (可选):True

eventCategory

显示事件类别。事件类别用于在LookupEvents呼叫中筛选管理事件或 Insights 事件。

  • 对于管理事件,值为 Management

  • 对于数据事件,值为 Data

  • 对于 Insights 事件,值为 Insight

  • 对于网络活动事件,该值为NetworkActivity

从: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

显示有关传输层安全 (TLS) 版本、密码套件以及服务API调用中使用的客户端提供的主机名的完全限定域名 (FQDN) 的信息,该主机名通常是服务端点的主FQDN机名。 CloudTrail如果预期的信息缺失或为空,仍会记录部分TLS细节。例如,如果存在TLS版本和密码套件,但HOST标头为空,则事件中仍会记录可用的TLS详细信息。 CloudTrail

  • tlsVersion-请求的TLS版本。

  • cipherSuite - 请求的密码套件(所用安全算法的组合)。

  • clientProvidedHostHeader-服务API调用中使用的客户端提供的主机名,通常是服务端点的主FQDN机名。

注意

在某些情况下,事件记录中不存在 tlsDetails 字段。

  • 如果呼叫是由代表您API拨打的,则 Amazon Web Services 服务 该tlsDetails字段不存在。userIdentity元素中的invokedBy字段标识 Amazon Web Services 服务 了API拨打电话的人。

  • 如果sessionCredentialFromConsole值为 true,tlsDetails则仅当使用外部客户端进行API调用时,才会出现在事件记录中。

从:1.08

Optional (可选):True

Insights 事件的记录字段

以下是 Insights 事件JSON结构中显示的不同于管理事件或数据事件的属性。

sharedEventId

A sharedEventID fo CloudTrail r Insights 事件不同于 CloudTrail事件的管理和数据类型。sharedEventID在 Insights 事件中GUID,a sharedEventID 是由 CloudTrail Insights 生成的,用于唯一标识 Insights 事件。 sharedEventID在 Insights 事件开始和结束 Insights 事件之间很常见,它有助于将两个事件联系起来,以唯一的方式识别异常活动。您可以将 sharedEventID 视为整体 Insights 事件 ID。

从:1.07

Optional (可选):False

insightDetails

仅限 Insights 事件。显示有关 Insights 事件底层触发器的信息,例如事件源、用户代理、统计信息、API名称以及该事件是 Insights 事件的开始还是结束。有关 insightDetails 数据块的内容的更多信息,请参阅 CloudTrail 见解insightDetails元素

从:1.07

Optional (可选):False

示例 sharedEvent ID

以下示例描述了如何为同一个操作 CloudTrail 传送两个事件:

  1. Alice 有 Amazon 账户 (111111111111) 并创建了一个。 Amazon KMS key她是这把KMS钥匙的所有者。

  2. Bob 有 Amazon 账户 (222222222222)。爱丽丝允许鲍勃使用KMS密钥。

  3. 每个账户都有跟踪和单独的存储桶。

  4. Bob 用KMS钥匙拨打 EncryptAPI.

  5. CloudTrail 发送两个单独的事件。

    • 一个事件发送给 Bob。事件显示他使用了KMS钥匙。

    • 一个事件发送给 Alice。该事件显示 Bob 使用了KMS密钥。

    • 这些事件具有相同的 sharedEventID,但是 eventIDrecipientAccountID 是唯一的。

sharedEventID 字段在日志中的显示方式

CloudTrail Insights IDs 中的共享活动

A sharedEventID fo CloudTrail r Insights 事件不同于 CloudTrail 事件的管理和数据类型。sharedEventID在 Insights 事件中,a sharedEventID GUID 是 CloudTrail Insights 生成的,用于唯一标识 Insights 事件的开始和结束对。 sharedEventID在 Insights 事件的开始和结束之间很常见,它有助于在两个事件之间建立关联,以唯一地识别异常活动。

您可以将 sharedEventID 视为整体 Insights 事件 ID。