

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

# 使用日志记录 Amazon Kendra API 调用 AWS CloudTrail
<a name="cloudtrail"></a>

Amazon Kendra 与 AWS CloudTrail一项服务集成，可记录用户、角色或 AWS 服务在 Amazon Kendra 中执行的操作。 CloudTrail 将来自亚马逊 Kendra 的所有 API 调用捕获为事件，包括来自亚马逊 Kendra 控制台的调用和对亚马逊 Kendra 的代码调用。 APIs如果您创建了跟踪，则可以激活向 Amazon S3 存储桶持续传输 CloudTrail 事件，包括 Amazon Kendra 的事件。如果您未配置跟踪，您仍然可以在 CloudTrail 控制台的 “事件**历史记录” 中查看最新的事件**。通过收集的信息 CloudTrail，您可以确定向 Amazon Kendra 发出的请求、发出请求的 IP 地址、谁提出了请求、何时提出请求以及其他详细信息。

要了解更多信息 CloudTrail，包括如何配置和激活它，请参阅《[AWS CloudTrail 用户指南》](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)。

## 亚马逊 Kendra 中的信息 CloudTrail
<a name="kendra-info-in-cloudtrail"></a>

CloudTrail 在您创建 AWS 账户时已在您的账户上激活。**当 Amazon Kendra 中发生活动时，该活动会与其他 AWS 服务 CloudTrail 事件一起记录在事件历史记录中 CloudTrail 。**您可以在自己的 AWS 账户中查看、搜索和下载最近发生的事件。有关更多信息，请参阅[使用 CloudTrail 事件历史记录查看事件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)。

要持续记录您的 AWS 账户中的事件，包括 Amazon Kendra 的事件，请创建跟踪。*跟踪*是一种配置，允许 CloudTrail 将事件作为日志文件传送到指定的 S3 存储桶。预设情况下，在控制台中创建跟踪时，此跟踪应用于所有 AWS 区域。跟踪记录 AWS 分区中所有区域的事件，并将日志文件传送到您指定的 S3 存储桶。此外，您可以配置其他 AWS 服务，以进一步分析和处理 CloudTrail 日志中收集的事件数据。有关更多信息，请参阅: 
+ [创建跟踪概述](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail 支持的服务和集成](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html#cloudtrail-aws-service-specific-topics-integrations)
+ [配置 Amazon SNS 通知 CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/getting_notifications_top_level.html)
+ [接收来自多个区域的 CloudTrail 日志文件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html)和[接收来自多个账户的 CloudTrail 日志文件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

CloudTrail 记录所有 Amazon Kendra 操作，这些操作记录在 [API](https://docs.aws.amazon.com/kendra/latest/APIReference/API_Reference.html) 参考中。例如，对`CreateIndex``CreateDataSource`、和`Query`操作的调用会在 CloudTrail 日志文件中生成条目。

每个事件或日志条目都包含有关生成请求的人员信息。有关更多信息，请参阅 [CloudTrail userIdentity 元素](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html)。

## 示例：Amazon Kendra 日志文件条目
<a name="cloud-trail-log-entry"></a>

*跟踪*是一种配置，允许将事件作为日志文件传送到指定的 S3 存储桶。 CloudTrail 日志文件包含一个或多个日志条目。*事件*代表来自任何来源的单个请求，包括有关请求的操作、操作的日期和时间、请求参数等的信息。 CloudTrail 日志文件不是公共 API 调用的有序堆栈跟踪，因此它们不会按任何特定的顺序出现。

调用 `Query` 操作将创建以下条目。

```
        {
            "eventVersion": "1.05",
            "userIdentity": {
                "type": "{{AssumedRole | FederatedUser | IAMUser | Root | SAMLUser | WebIdentityUser}}",
                "principalId": "{{principal ID}}",
                "arn": "{{ARN}}",
                "accountId": "{{account ID}}",
                "accessKeyId": "{{access key ID}}",
                "sessionContext": {
                    "sessionIssuer": {
                        "type": "Role",
                        "principalId": "{{principal Id}}",
                        "arn": "{{ARN}}",
                        "accountId": "{{account ID}}",
                        "userName": "{{user name}}"
                    },
                    "webIdFederationData": {
                        
                    },
                    "attributes": {
                        "mfaAuthenticated": false,
                        "creationDate": "{{timestamp}}"
                    }
                }
            },
            "eventTime": "{{timestamp}}",
            "eventSource": "kendra.amazonaws.com",
            "eventName": "Query",
            "awsRegion": "{{region}}",
            "sourceIPAddress": "{{source IP address}}",
            "userAgent": "{{user agent}}",
            "requestParameters": {
                "indexId": "{{index ID}}"
            },
            "responseElements": null,
            "requestID": "{{request ID}}",
            "eventID": "{{event ID}}",
            "eventType": "AwsApiCall",
            "recipientAccountId": "{{account ID}}"
        },
```