本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用记录亚马逊 Personalize API 调用 AWS CloudTrail
Amazon Person AWS CloudTrail alize 与一项服务集成,可记录用户、角色或AWS服务在 Amazon Personalize 中采取的操作。 CloudTrail 捕获一部分 Amazon Personalize 的 API 调用作为事件,包括来自亚马逊个性化控制台的调用和对亚马逊个性化的代码调用 APIs。如果您创建了跟踪,则可以允许将 CloudTrail 事件持续传输到 Amazon S3 存储桶,包括 Amazon Personalize 的事件。如果您未配置跟踪,您仍然可以在 CloudTrail 控制台的 “事件历史记录” 中查看最新的事件。通过收集的信息 CloudTrail,您可以确定向 Amazon Personalize 发出的请求、发出请求的 IP 地址、谁提出请求、何时提出请求以及其他详细信息。
要了解更多信息 CloudTrail,包括如何配置和启用它,请参阅AWS CloudTrail用户指南。
Amazon Personalize 在 CloudTrail
CloudTrail 在您创建AWS账户时已在您的账户上启用。当 Amazon Personalize 中出现支持的事件活动时,该活动会与其他AWS服务 CloudTrail 事件一起记录在事件历史记录中。您可以在自己的AWS账户中查看、搜索和下载最近发生的事件。有关更多信息,请参阅使用事件历史查看 CloudTrail 事件。
要持续记录您的AWS账户中的事件,包括 Amazon Personalize 的事件,请创建跟踪。跟踪允许 CloudTrail 将日志文件传输到 Amazon S3 存储桶。默认情况下,在控制台中创建跟踪记录时,此跟踪记录应用于所有区域。跟踪记录AWS分区中所有区域的事件,并将日志文件传送到您指定的 Amazon S3 存储桶。此外,您可以配置其他AWS服务,以进一步分析和处理 CloudTrail 日志中收集的事件数据。有关更多信息,请参阅:
Amazon Personalize 支持将每个操作(API 操作)作为事件 CloudTrail 记录在日志文件中。有关更多信息,请参阅 操作。
每个事件或日志条目都包含有关生成请求的人员信息。身份信息有助于您确定以下内容:
-
请求是使用根凭证还是用户凭证发出的。
-
请求是使用角色还是联合用户的临时安全凭证发出的。
-
请求是否由其他AWS服务发出。
有关更多信息,请参阅 CloudTrail userIdentity 元素。
示例:Amazon Personalize 日志文件条目
跟踪是一种配置,允许将事件作为日志文件传输到您指定的 Amazon S3 存储桶。 CloudTrail 日志文件包含一个或多个日志条目。事件代表来自任何来源的单个请求,包括有关请求的操作、操作的日期和时间、请求参数等的信息。 CloudTrail 日志文件不是公共 API 调用的有序堆栈跟踪,因此它们不会按任何特定顺序出现。
以下示例显示了包 CloudTrail 含 ListDatasetGroups API 操作操作的日志条目。请注意,由于 ListDatasetGroups API 操作是一个不会更改状态的操作,因此responseElements响应为空。有关 CloudTrail 记录正文的更多信息,请参阅CloudTrail 记录内容。
{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "principal-id", "arn": "arn:aws:iam::user-arn", "accountId": "account-id", "accessKeyId": "access-key", "userName": "user-name" }, "eventTime": "2018-11-22T02:18:03Z", "eventSource": "personalize.amazonaws.com", "eventName": "ListDatasetGroups", "awsRegion": "us-west-2", "sourceIPAddress": "source-ip-address", "userAgent": "aws-cli/1.11.16 Python/2.7.11 Darwin/15.6.0 botocore/1.4.73", "requestParameters": null, "responseElements": null, "requestID": "request-id", "eventID": "event-id", "eventType": "AwsApiCall", "recipientAccountId": "recipient-account-id" }