使用 AWS CloudTrail 记录和监控
AWS CloudTrail 是提供用户、角色或 AWS 服务所采取操作的记录的服务。CloudTrail 将所有 API 调用作为事件记录。您可以将 Amazon Location Service 与 CloudTrail 配合使用来监控您的 API 调用,其中包括来自 Amazon Location Service 控制台的调用和对 Amazon Location Service API 操作的 AWS SDK 调用。
在您创建 AWS 账户时,CloudTrail 自动启用。当 Amazon Location Service 中发生活动时,该活动将记录在 CloudTrail 事件中,并与其他 AWS 服务事件一同保存在事件历史记录中。您可以查看、搜索和下载每个 AWS 区域过去 90 天的事件历史记录。
有关 CloudTrail 的更多信息,请参阅《AWS CloudTrail 用户指南》https://docs.aws.amazon.com/awscloudtrail/latest/userguide/。查看事件历史记录不会收取 CloudTrail 费用。
要持续记录您的 AWS 账户过去 90 天的事件(包括来自 Amazon Location Service 的事件),请创建跟踪或 CloudTrail Lake 事件数据存储。
CloudTrail 跟踪
通过跟踪,CloudTrail 可将日志文件传送至 Amazon S3 存储桶。当您在 AWS 管理控制台中创建一条跟踪时,该跟踪适用于所有 AWS 区域。该跟踪会记录 AWS 分区中来自所有区域的事件,并将日志文件传送至指定的 S3 存储桶。此外,可以配置其他 AWS 服务,进一步分析和应对 CloudTrail 日志中收集的事件数据。
有关如何创建跟踪的更多信息,请参阅创建跟踪概述。
有关 CloudTrail 支持的服务和集成的列表,请参阅 CloudTrail 支持的服务和集成。
通过创建跟踪,您可以从 CloudTrail 免费向您的 Amazon S3 存储桶传输一份正在进行的管理事件的副本,但会收取 Amazon S3 存储费用。
有关 CloudTrail 定价的更多信息,请参阅 AWS CloudTrail 定价
有关 Amazon S3 定价的信息,请参阅 Amazon S3 定价
CloudTrail Lake 事件数据存储
CloudTrail Lake 允许您对事件运行基于 SQL 的查询。事件将被聚合到事件数据存储中,它是基于您通过应用高级事件选择器选择的条件的不可变的事件集合。应用于事件数据存储的选择器用于控制哪些事件持续存在并可供您查询。
有关 CloudTrail Lake 的更多信息,请参阅使用 AWS CloudTrail Lake。
CloudTrail Lake 事件数据存储和查询会产生费用。创建事件数据存储时,您可以选择要用于事件数据存储的定价选项。定价选项决定了摄取和存储事件的成本,以及事件数据存储的默认和最长保留期。
有关 CloudTrail 定价的更多信息,请参阅 AWS CloudTrail 定价
主题
CloudTrail 中的 Amazon Location 管理事件
您可以在 CloudTrail 事件历史记录中查看 Amazon Location 管理事件。这些事件包括管理 Amazon Location 资源和配置的所有 API 调用。有关支持的操作的完整列表,请参阅 Amazon Location Service API 参考。
CloudTrail 中的 Amazon Location 数据事件
数据事件提供有关直接对资源执行的操作的信息。这些事件也称为数据面板操作,可能容量很大。默认情况下,CloudTrail 不记录数据事件,CloudTrail 事件历史记录也不会记录这些事件。启用数据事件时会产生额外费用。有关 CloudTrail 定价的更多信息,请参阅 AWS CloudTrail 定价
您可以使用 CloudTrail 控制台、AWS CLI 或 CloudTrail API 操作选择记录数据事件的 Amazon Location 资源类型。有关如何启用和管理数据事件的说明,请参阅使用 AWS 管理控制台记录数据事件和使用 AWS 命令行界面记录数据事件。
下表列出了可以记录数据事件的 Amazon Location 资源类型:
| 数据事件类型(控制台) | resources.type 值 | 记录至 CloudTrail 的数据 API |
|---|---|---|
| 地理地图 | AWS::GeoMaps::Provider | 请参阅 Amazon GeoMaps API 参考 |
| 地理地点 | AWS::GeoPlaces::Provider | 请参阅 Amazon GeoPlaces API 参考 |
| 地理路线 | AWS::GeoRoutes::Provider | 请参阅 Amazon GeoRoutes API 参考 |
注意
Amazon Location 不会发布以下 GeoMaps API 的 CloudTrail 事件:GetStyleDescriptor、GetGlyphs 和 GetSprites。这些 API 是免费的,无需进行身份验证。
您可以配置高级事件选择器来按 eventName、readOnly 和 resources.ARN 筛选事件。这有助于只记录那些对您来说重要的事件。有关更多信息,请参阅 AdvancedFieldSelector。
了解 Amazon Location Service 日志文件条目
当您配置跟踪时,CloudTrail 将事件作为日志文件传送到您指定的 S3 存储桶,或 Amazon CloudWatch Logs。有关更多信息,请参阅《AWS CloudTrail 用户指南》中的使用 CloudTrail 日志文件。
CloudTrail 日志文件可以包含一个或多个日志条目。每个事件条目都表示一个来自任何源的请求,包括诸如所请求的操作、操作的日期和时间、请求参数之类的详细信息。
注意
CloudTrail 日志文件不是 API 调用的有序堆栈跟踪。它们不会按时间顺序出现。要确定操作顺序,请使用 eventTime。
每个事件或日志条目都包含有关请求者的信息。此身份信息可以帮助您确定:
-
请求是使用根凭证还是用户凭证发出的。
-
请求是使用角色还是联合用户的临时安全凭证发出的。
-
请求是否由其他 AWS 服务发出。
示例:Amazon Location 管理事件的 CloudTrail 日志文件条目
下面的示例显示了 CreateTracker 操作的 CloudTrail 日志条目,该操作会创建跟踪器资源。
{ "eventVersion": "1.05", "userIdentity": { "type": "AssumedRole", "principalId": "111122223333", "arn": "arn:aws:geo:us-east-1:111122223333:tracker/ExampleTracker", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "111122223333", "arn": "arn:aws:geo:us-east-1:111122223333:tracker/ExampleTracker", "accountId": "111122223333", "userName": "exampleUser" }, "webIdFederationData": {}, "attributes": { "mfaAuthenticated": "false", "creationDate": "2020-10-22T16:36:07Z" } } }, "eventTime": "2020-10-22T17:43:30Z", "eventSource": "geo.amazonaws.com", "eventName": "CreateTracker", "awsRegion": "us-east-1", "sourceIPAddress": "SAMPLE_IP_ADDRESS", "userAgent": "aws-internal/3 aws-sdk-java/1.11.864 Linux/4.14.193-110.317.amzn2.x86_64 OpenJDK_64-Bit_Server_VM/11.0.8+10-LTS java/11.0.8 kotlin/1.3.72 vendor/Amazon.com_Inc. exec-env/AWS_Lambda_java11", "requestParameters": { "TrackerName": "ExampleTracker", "Description": "Resource description" }, "responseElements": { "TrackerName": "ExampleTracker", "Description": "Resource description", "TrackerArn": "arn:partition:service:region:account-id:resource-id", "CreateTime": "2020-10-22T17:43:30.521Z" }, "requestID": "557ec619-0674-429d-8e2c-eba0d3f34413", "eventID": "3192bc9c-3d3d-4976-bbef-ac590fa34f2c", "readOnly": false, "eventType": "AwsApiCall", "recipientAccountId": "111122223333" }
示例:Amazon Location 数据事件的 CloudTrail 日志文件条目
下面的示例显示了 Geocode 操作的 CloudTrail 日志条目,该操作会检索坐标、地址以及关于某个地点的其他详细信息。
{ "eventVersion": "1.09", "userIdentity": { "type": "AssumedRole", "principalId": "AROA6ODU7M35SFGUCGXHMSAMPLE", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/vingu-Isengard", "accountId": "111122223333", "accessKeyId": "ASIA6ODU7M352GLR5CFMSAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROA6ODU7M35SFGUCGXHMSAMPLE", "arn": "arn:aws:iam::111122223333:role/Admin", "accountId": "111122223333", "userName": "Admin" }, "attributes": { "creationDate": "2024-09-16T14:41:33Z", "mfaAuthenticated": "false" } } }, "eventTime": "2024-09-16T14:42:16Z", "eventSource": "geo-places.amazonaws.com", "eventName": "Geocode", "awsRegion": "us-west-2", "sourceIPAddress": "52.94.133.129", "userAgent": "Amazon CloudFront", "requestParameters": { "Query": "***", "Filter": { "IncludeCountries": [ "USA" ] } }, "responseElements": null, "requestID": "1ef7e0b8-c9fc-4a20-80c3-b5340d634c4e", "eventID": "913d256c-3a9d-40d0-9bdf-705f12c7659f", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::GeoPlaces::Provider", "ARN": "arn:aws:geoplaces:us-west-2:111122223333:provider" } ], "eventType": "AwsApiCall", "managementEvent": false, "recipientAccountId": "111122223333", "eventCategory": "Data" }