

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

Amazon Interactive Video Service (IVS) 与 AWS CloudTrail 集成，后者是一项提供 Amazon IVS 中由用户、角色或 AWS 服务所采取操作的记录的服务。CloudTrail 将 Amazon IVS 的所有 API 调用作为事件捕获。捕获的调用包括来自 Amazon IVS 控制台和来自您的应用程序的 API 调用。

如果您创建*跟踪*，则可以使 CloudTrail 事件持续传送到 Amazon S3 存储桶，包括 Amazon IVS 事件。如果您不配置跟踪，则仍可在 CloudTrail 控制台中的 **Event history (事件历史记录)** 中查看最新事件。使用 CloudTrail 收集的信息，您可以确定向 Amazon IVS 发出了什么请求、发出请求的 IP 地址、何人发出的请求、请求的发出时间以及其他详细信息。

要了解有关 CloudTrail 的更多信息，请参阅[《AWS CloudTrail 用户指南》](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/)。

## CloudTrail 中的 Amazon IVS 信息
<a name="cloudtrail-ivs-info"></a>

在您创建账户时，对 AWS 账户启用了 CloudTrail。当 Amazon IVS 中发生活动时，该活动将记录在 CloudTrail 事件中，并与其他 AWS 服务事件一同保存在**事件历史记录**中。您可以在 AWS 账户中查看、搜索和下载最新事件。有关更多信息，请参阅[使用 CloudTrail 事件历史记录查看事件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)。

要持续记录 AWS 账户中的事件（包括 Amazon IVS 的事件），请创建跟踪记录。通过 trail (跟踪)，CloudTrail 可将日志文件传送至 Amazon S3 存储桶。默认情况下，在 CloudTrail 控制台中创建跟踪记录时，此跟踪记录会应用于所有 AWS 区域。此跟踪记录来自 AWS 分区中的所有区域的事件，并将日志文件传送至您指定的 Amazon S3 存储桶。此外，您可以配置其他 AWS 服务，以分析在 CloudTrail 日志中收集的事件数据并采取操作。有关更多信息，请参阅 *CloudTrail 用户指南* 中的这些项目：
+ [为您的 AWS 账户创建跟踪记录](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)
+ [为 CloudTrail 配置 Amazon SNS 通知](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/configure-sns-notifications-for-cloudtrail.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)

所有 Amazon IVS 操作均由 CloudTrail 记录，并记录在 [IVS Low-Latency Streaming API Reference](https://docs.aws.amazon.com/ivs/latest/LowLatencyAPIReference/Welcome.html)、[IVS Real-Time Streaming API Reference](https://docs.aws.amazon.com/ivs/latest/RealTimeAPIReference/Welcome.html) 和 [IVS Chat API Reference](https://docs.aws.amazon.com/ivs/latest/ChatAPIReference/Welcome.html) 中。例如，对 `CreateChannel`、`ListChannels` 和 `DeleteChannel` 操作的调用将在 CloudTrail 日志文件中生成条目。

每个事件或日志条目都包含有关生成请求的人员信息。身份信息有助于确定发出的请求是否：
+ 具有根凭证或 AWS Identity and Access Management (IAM) 用户凭证
+ 使用角色或联合身份用户的临时安全凭证。
+ 通过另一个 AWS 服务。

有关更多信息，请参阅 [CloudTrail userIdentity 元素](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html)。

## 了解 Amazon IVS 日志文件条目
<a name="cloudtrail-log-entries"></a>

跟踪是一种配置，可用于将事件作为日志文件传送到您指定的 Amazon S3 存储桶。一个事件表示来自任何源的一个请求，包括有关所请求的操作、操作的日期和时间、请求参数等方面的信息。

CloudTrail 日志文件包含一个或多个日志条目。CloudTrail 日志文件不是公用 API 调用的有序堆栈跟踪，因此它们不会按任何特定顺序显示。

以下示例显示了 `CreateChannel` 操作的 CloudTrail 日志条目。

```
{
    "eventVersion": "1.05",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "ABCDEFGHIJK1L2EXAMPLE:account_name",
        "arn": "arn:aws:sts::123456789012:assumed-role/First_Streamer/1234567890123456789",
        "accountId": "123456789012",
        "accessKeyId": "ABCDEFGHIJKL1EXAMPLE",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "ABCDEFGHIJK1L2EXAMPLE",
                "arn": "arn:aws:iam::123456789012:role/Admin",
                "accountId": "123456789012",
                "userName": "First_Streamer"
            },
            "webIdFederationData": {},
            "attributes": {
                "mfaAuthenticated": "false",
                "creationDate": "2020-04-02T20:57:43Z"
            }
        }
    },
    "eventTime": "2020-04-02T20:57:46Z",
    "eventSource": "ivs.amazonaws.com",
    "eventName": "CreateChannel",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "10.10.10.10",
    "userAgent": "console.amazonaws.com",
    "requestParameters": {
        "name": "default"
    },
    "responseElements": {
        "channel": {
            "arn": "arn:aws:ivs:us-west-2:123456789012:channel/1EXAMPLE",
            "authorized": false,
            "ingestEndpoint": "EXAMPLE.global-contribute.live-video.net",
            "latencyMode": "LOW",
            "name": "default",
            "playbackUrl": "https://EXAMPLE.m3u8",
            "tags": {}
        },
        "streamKey": {
            "arn": "arn:aws:ivs:us-west-2:123456789012:stream-key/2EXAMPLE",
            "channelArn": "arn:aws:ivs:us-west-2:123456789012:channel/1EXAMPLE",
            "tags": {}
        }
    },
    "requestID": "12a34bc5-EXAMPLE",
    "eventID": "a1b2c3de-EXAMPLE",
    "readOnly": false,
    "eventType": "AwsApiCall",
    "recipientAccountId": "123456789012"
}
```