Amazon CloudTrail用于捕获发送到 CloudFront API 的请求 - Amazon CloudFront
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

Amazon CloudTrail用于捕获发送到 CloudFront API 的请求

CloudFront 与一项Amazon服务集成 CloudTrail,该服务可捕获您的Amazon账户(包括您的 IAM 用户)向 CloudFront API 发送的每个请求的相关信息。 CloudTrail 定期将这些请求的日志文件保存到您指定的 Amazon S3 存储桶中。 CloudTrail 捕获有关所有请求的信息,无论这些请求是使用 CloudFront 控制台、 CloudFront API、Amazon软件开发工具包、 CloudFront CLI 还是其他服务发出的,Amazon CloudFormation例如。

您可以使用 CloudTrail 日志文件中的信息来确定向哪些请求发出 CloudFront、发出每个请求的源 IP 地址、谁发出了请求、何时发出请求等。要了解更多信息 CloudTrail,包括如何配置和启用它,请参阅Amazon CloudTrail用户指南

注意

CloudFront 是一项全球服务。要查看 CloudTrail 日志中的 CloudFront 请求,必须更新现有跟踪以包含全局服务。有关更多信息,请参阅 Amazon CloudTrail 用户指南中的更新跟踪关于全球性服务事件

CloudFront 信息在 CloudTrail

CloudTrail 在您创建Amazon账户时已在您的账户上启用。当活动发生在中时 CloudFront,该活动会与其他Amazon服务 CloudTrail 事件一起记录在事件历史记录中。您可以在 Amazon 账户中查看、搜索和下载最新事件。由于 CloudFront 是一项全球服务,因此该服务的事件记录在美国东部(弗吉尼亚北部)。有关更多信息,请参阅使用事件历史记录查看 CloudTrail 事件

要持续记录您Amazon账户中的事件,包括的事件 CloudFront,请创建跟踪。您的跟踪必须包括全球性服务事件。跟踪允许 CloudTrail 将日志文件传输到 Amazon S3 存储桶。默认情况下,当您在控制台中创建跟踪时,此跟踪会应用到所有区域并包含全球性服务事件。此跟踪在 Amazon 分区中记录所有区域中的事件,并将日志文件传送至您指定的 Amazon S3 存储桶。此外,您可以配置其他Amazon服务,以进一步分析和处理 CloudTrail 日志中收集的事件数据。有关更多信息,请参阅:

所有 CloudFront API 操作均由《亚马逊 CloudFront API 参考》记录 CloudTrail 并记录在案。例如,对GetDistributionListInvalidations API 的CreateDistribution调用会在 CloudTrail 日志文件中生成条目。

每个事件或日记账条目都包含有关生成请求的人员信息。身份信息可帮助您确定以下内容:

  • 请求是使用根用户凭证还是 IAM 用户凭证发出的。

  • 请求是使用角色还是联合用户的临时安全凭证发出的。

  • 请求是否由其他 Amazon 服务发出。

有关更多信息,请参阅 CloudTrail userIdentity 元素

了解 CloudFront 日志文件条目

每个 JSON 格式的 CloudTrail 日志文件可以包含一个或多个日志条目。一个日志条目表示来自任何源的一个请求,并包括有关所请求的操作的信息,如任何参数以及操作的日期和时间等。不能保证日志条目具有任何特定顺序,它们不是 API 调用的有序堆栈跟踪。

eventName 元素标识发生的操作以及执行该操作时使用的 API 版本。例如,以下 eventName 值表示更新了分配,并且使用了 2014-01-31 API 版本来执行操作:

UpdateDistribution2014_01_31

以下示例显示了一个演示五个操作的 CloudTrail 日志条目:

  • 更新分配配置。eventName 的值为 UpdateDistribution

  • 列出与当前账户关联的分配。eventName 的值为 ListDistributions

  • 获取特定分配的配置。eventName 的值为 GetDistribution

  • 创建失效批处理请求。eventName 的值为 CreateInvalidation

  • 列出与当前账户关联的源访问身份。eventName 的值为 ListCloudFrontOriginAccessIdentities

{ "Records": [{ "eventVersion": "1.01", "userIdentity": { "type": "IAMUser", "principalId": "A1B2C3D4E5F6G7EXAMPLE", "arn": "arn:aws:iam::111122223333:user/smithj", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "smithj" }, "eventTime": "2014-05-06T18:00:32Z", "eventName": "UpdateDistribution2014_01_31", "sourceIPAddress": "192.0.2.17", "userAgent": "aws-sdk-ruby/1.39.0 ruby/1.9.3 x86_64-linux", "requestParameters": { "id": "EDFDVBD6EXAMPLE", "ifMatch": "E9LHASXEXAMPLE", "distributionConfig": { "restrictions": { "geoRestriction": { "quantity": 0, "restrictionType": "none" } }, "customErrorResponses": { "quantity": 0 }, "defaultRootObject": "index.html", "aliases": { "quantity": 1, "items": ["example.com"] }, "logging": { "bucket": "", "enabled": false, "prefix": "", "includeCookies": false }, "viewerCertificate": { "iAMCertificateId": "A1B2C3D4E5F6G7EXAMPLE", "sSLSupportMethod": "sni-only" }, "callerReference": "2014-05-06 64832", "defaultCacheBehavior": { "targetOriginId": "Images", "allowedMethods": { "items": ["GET", "HEAD"], "quantity": 2 }, "forwardedValues": { "cookies": { "forward": "none" }, "queryString": false }, "minTTL": 300, "trustedSigners": { "enabled": false, "quantity": 0 }, "viewerProtocolPolicy": "redirect-to-https", "smoothStreaming": false }, "origins": { "items": [{ "customOriginConfig": { "hTTPSPort": 443, "originProtocolPolicy": "http-only", "hTTPPort": 80 }, "domainName": "myawsbucket.s3-website-us-east-2.amazonaws.com", "id": "Web page origin" }, { "customOriginConfig": { "hTTPSPort": 443, "originProtocolPolicy": "http-only", "hTTPPort": 80 }, "domainName": "myotherawsbucket.s3-website-us-west-2.amazonaws.com", "id": "Images" }], "quantity": 2 }, "enabled": true, "cacheBehaviors": { "allowedMethods": { "items": ["GET", "HEAD"], "quantity": 2 }, "trustedSigners": { "enabled": false, "quantity": 0 }, "targetOriginId": "Web page origin", "smoothStreaming": false, "viewerProtocolPolicy": "redirect-to-https", "minTTL": 300, "forwardedValues": { "cookies": { "forward": "none" }, "queryString": false }, "pathPattern": "*.html" }], "quantity": 1 }, "priceClass": "PriceClass_All", "comment": "Added an origin and a cache behavior" } }, "responseElements": { "eTag": "E2QWRUHEXAMPLE", "distribution": { "domainName": "d111111abcdef8.cloudfront.net", "status": "InProgress", "distributionConfig": { distributionConfig response omitted }, "id": "EDFDVBD6EXAMPLE", "lastModifiedTime": "May 6, 2014 6:00:32 PM", "activeTrustedSigners": { "quantity": 0, "enabled": false }, "inProgressInvalidationBatches": 0 } }, "requestID": "4e6b66f9-d548-11e3-a8a9-73e33example", "eventID": "5ab02562-0fc5-43d0-b7b6-90293example" }, { "eventVersion": "1.01", "userIdentity": { "type": "IAMUser", "principalId": "A1B2C3D4E5F6G7EXAMPLE", "arn": "arn:aws:iam::111122223333:user/smithj", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "smithj" }, "eventTime": "2014-05-06T18:01:35Z", "eventName": "ListDistributions2014_01_31", "sourceIPAddress": "192.0.2.17", "userAgent": "aws-sdk-ruby/1.39.0 ruby/1.9.3 x86_64-linux", "requestParameters": null, "responseElements": null, "requestID": "52de9f97-d548-11e3-8fb9-4dad0example", "eventID": "eb91f423-6dd3-4bb0-a148-3cdfbexample" }, { "eventVersion": "1.01", "userIdentity": { "type": "IAMUser", "principalId": "A1B2C3D4E5F6G7EXAMPLE", "arn": "arn:aws:iam::111122223333:user/smithj", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "smithj" }, "eventTime": "2014-05-06T18:01:59Z", "eventName": "GetDistribution2014_01_31", "sourceIPAddress": "192.0.2.17", "userAgent": "aws-sdk-ruby/1.39.0 ruby/1.9.3 x86_64-linux", "requestParameters": { "id": "EDFDVBD6EXAMPLE" }, "responseElements": null, "requestID": "497b3622-d548-11e3-8fb9-4dad0example", "eventID": "c32289c7-005a-46f7-9801-cba41example" }, { "eventVersion": "1.01", "userIdentity": { "type": "IAMUser", "principalId": "A1B2C3D4E5F6G7EXAMPLE", "arn": "arn:aws:iam::111122223333:user/smithj", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "smithj" }, "eventTime": "2014-05-06T18:02:27Z", "eventName": "CreateInvalidation2014_01_31", "sourceIPAddress": "192.0.2.17", "userAgent": "aws-sdk-ruby/1.39.0 ruby/1.9.3 x86_64-linux", "requestParameters": { "invalidationBatch": { "callerReference": "2014-05-06 64947", "paths": { "quantity": 3, "items": ["/images/new.jpg", "/images/logo.jpg", "/images/banner.jpg"] } }, "distributionId": "EDFDVBD6EXAMPLE" }, "responseElements": { "invalidation": { "createTime": "May 6, 2014 6:02:27 PM", "invalidationBatch": { "callerReference": "2014-05-06 64947", "paths": { "quantity": 3, "items": ["/images/banner.jpg", "/images/logo.jpg", "/images/new.jpg"] } }, "status": "InProgress", "id": "ISRZ85EXAMPLE" }, "location": "https://cloudfront.amazonaws.com/2014-01-31/distribution/EDFDVBD6EXAMPLE/invalidation/ISRZ85EXAMPLE" }, "requestID": "4e200613-d548-11e3-a8a9-73e33example", "eventID": "191ebb93-66b7-4517-a741-92b0eexample" }, { "eventVersion": "1.01", "userIdentity": { "type": "IAMUser", "principalId": "A1B2C3D4E5F6G7EXAMPLE", "arn": "arn:aws:iam::111122223333:user/smithj", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "smithj" }, "eventTime": "2014-05-06T18:03:08Z", "eventName": "ListCloudFrontOriginAccessIdentities2014_01_31", "sourceIPAddress": "192.0.2.17", "userAgent": "aws-sdk-ruby/1.39.0 ruby/1.9.3 x86_64-linux", "requestParameters": null, "responseElements": null, "requestID": "42ca4299-d548-11e3-8fb9-4dad0example", "eventID": "7aeb434f-eb55-4e2a-82d8-417d5example" }] }