AWS CloudTrail を使用した Amazon IVS API コールのログ記録
Amazon Interactive Video Service (IVS) は、Amazon IVS のユーザー、ロール、または AWS のサービスによって実行されたアクションを記録するサービスである AWS CloudTrail と統合されています。CloudTrail は、Amazon IVS のすべての API コールをイベントとしてキャプチャします。キャプチャされるコールには、Amazon IVS コンソールおよびアプリケーションからの API コールが含まれます。
証跡を作成する場合は、Amazon IVS のイベントなど、Amazon S3 バケットへの CloudTrail イベントの継続的な配信を有効にすることができます。証跡を設定しない場合でも、CloudTrail コンソールの [Event history (イベント履歴)] で最新のイベントを表示できます。CloudTrail で収集された情報を使用して、Amazon IVS に対するリクエストや、リクエスト元の IP アドレス、リクエストしたユーザー、リクエスト日時やその他の詳細を確認できます。
CloudTrail の詳細については、「AWS CloudTrail ユーザーガイド」を参照してください。
CloudTrail 内の Amazon IVS に関する情報
CloudTrail は、アカウントを作成すると AWS アカウントで有効になります。Amazon IVS でアクティビティが発生すると、そのアクティビティは他の AWS のサービスのイベントとともに CloudTrail イベントとして [Event history (イベント履歴)] に記録されます。最近のイベントは、AWS アカウントで表示、検索、ダウンロードできます。詳細については、「CloudTrail イベント履歴でのイベントの表示」を参照してください。
Amazon IVS のイベントなど、AWS アカウントのイベントの継続的な記録については、証跡を作成します。証跡により、CloudTrail はログファイルを Amazon S3 バケットに配信できます。デフォルトでは、CloudTrail コンソールで作成した証跡が、すべての AWS リージョンに適用されます。証跡では、AWS パーティションのすべてのリージョンからのイベントがログに記録され、指定した Amazon S3 バケットにログファイルが配信されます。さらに、その他の AWS サービスを設定して、CloudTrail ログで収集されたデータを分析し、それに基づく対応を行うことができます。詳細については、CloudTrail ユーザーガイドでこれらの項目を参照してください。
Amazon IVS のすべてのアクションは CloudTrail によってログ記録されます。関連情報については、「IVS 低レイテンシーストリーミング API リファレンス」、「IVS リアルタイムストリーミング API リファレンス」、「IVS チャット API リファレンス」をご覧ください。たとえば CreateChannel
、ListChannels
、および DeleteChannel
の各オペレーションへのコールは、CloudTrail ログファイル内にエントリを生成します。
各イベントまたはログエントリには、リクエストの生成者に関する情報が含まれます。この ID 情報は、リクエストがどのようにして送信されたかを確認するのに役立ちます:
-
ルートが使用されたか、AWS Identity and Access Management (IAM) ユーザーの認証情報が使用されたか。
-
ロールまたはフェデレーティッドユーザーの一時的なセキュリティ認証情報を使用して行われたか。
-
別の AWS のサービスによって行われたか。
詳細については、「CloudTrail userIdentity エレメント」を参照してください。
Amazon IVS ログファイルエントリの概要
証跡は、指定した Amazon S3 バケットにイベントをログファイルとして配信するように設定できます。イベントは任意の発生元からの 1 つのリクエストを表し、リクエストされたアクション、アクションの日時、リクエストのパラメータなどに関する情報が含まれます。
CloudTrail ログファイルには、1 つ以上のログエントリがあります。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" }