AWS CloudTrail を使用した Amplify API コールのログ記録 - AWS Amplify ホスティング

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS CloudTrail を使用した Amplify API コールのログ記録

AWS Amplify は AWS CloudTrail と統合されています。これは、ユーザーやロール、または Amplify の AWS サービスによって実行されたアクションのレコードを提供するサービスです。CloudTrail は、Amplify へのすべての API コールをイベントとしてキャプチャします。キャプチャされたコールには、Amplify コンソールからのコールと、Amplify API オペレーションへのコード呼び出しが含まれます。トレイルを作成すると、Amplify のイベントを含む CloudTrail イベントの Amazon S3 バケットへの継続的な配信が可能になります。追跡を設定しない場合でも、CloudTrail コンソールの [Event history] (イベント履歴) で最新のイベントを表示できます。CloudTrail で収集された情報を使用して、Amplify に対するリクエスト、リクエスト元の IP アドレス、リクエストしたユーザー、リクエスト日時、およびその他の詳細を確認できます。

CloudTrail の詳細については、AWS CloudTrailユーザーガイドを参照してください。

CloudTrail の Amplify 情報

CloudTrail は、デフォルトで AWS アカウントによって有効にされます。Amplify でアクティビティが発生すると、そのアクティビティは [イベント履歴]でその他の AWS サービスのイベントと共に CloudTrail イベントに記録されます。最近のイベントは、AWSアカウントで表示、検索、ダウンロードできます。詳細については、AWS CloudTrailユーザーガイドの「CloudTrail イベント履歴でのイベントの表示」を参照してください。

Amplify のイベントなど、AWS アカウントのイベントを継続的にレコードするには、証跡を作成します。証跡により、CloudTrail はログファイルを Amazon S3 バケットに配信できます。デフォルトでは、コンソールで追跡を作成するときに、追跡がすべての AWS リージョンに適用されます。追跡は、AWSパーティションのすべてのリージョンからのイベントをログに記録し、指定した Amazon S3 バケットにログファイルを配信します。さらに、CloudTrail ログで収集したイベントデータをより詳細に分析し、それに基づく対応するためにその他の AWS のサービスを設定できます。詳細については、AWS CloudTrailユーザーガイドで次を参照してください。

Amplify の操作はすべて CloudTrail によって記録され、AWS Amplifyコンソール API リファレンスAWSAmplify 管理 UI API リファレンス、および Amplify UI ビルダー API リファレンスに記録されます。例えば、CreateAppDeleteApp、および DeleteBackendEnvironment オペレーションへの呼び出しによって CloudTrail ログファイルにエントリが生成されます。

各イベントまたはログエントリには、リクエストの生成者に関する情報が含まれます。同一性情報は次の判断に役立ちます。

  • リクエストが、ルートまたは AWS Identity and Access Management (IAM) ユーザー認証情報のどちらを使用して送信されたか。

  • リクエストが、ロールまたはフェデレーションユーザーの一時的なセキュリティ認証情報を使用して送信されたか。

  • リクエストが、別の AWS サービスによって行われたか。

詳細については、「AWS CloudTrailユーザーガイド」の [CloudTrail userIdentity element] (CloudTrail userIdentity 要素) を参照してください。

Amplify ログファイルエントリの概要

「トレイル」は、指定した Simple Storage Service (Amazon S3) バケットにイベントをログファイルとして配信するように設定できます。CloudTrail のログファイルには、単一か複数のログエントリがあります。イベントはあらゆるソースからの単一のリクエストを表し、リクエストされたアクション、アクションの日時、リクエストのパラメータなどの情報が含まれます。CloudTrail ログファイルは、パブリック API コールの順序付けられたスタックトレースではないため、特定の順序では表示されません。

AWS Amplify コンソール API リファレンスListAppsオペレーションを示す CloudTrail ログエントリの例は、次のとおりです。

{ "eventVersion": "1.08", "userIdentity": { "type": "IAMUser", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::444455556666:user/Mary_Major", "accountId": "444455556666", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "Mary_Major", "sessionContext": { "sessionIssuer": {}, "webIdFederationData": {}, "attributes": { "mfaAuthenticated": "false", "creationDate": "2021-01-12T05:48:10Z" } } }, "eventTime": "2021-01-12T06:47:29Z", "eventSource": "amplify.amazonaws.com", "eventName": "ListApps", "awsRegion": "us-west-2", "sourceIPAddress": "192.0.2.255", "userAgent": "aws-internal/3 aws-sdk-java/1.11.898 Linux/4.9.230-0.1.ac.223.84.332.metal1.x86_64 OpenJDK_64-Bit_Server_VM/25.275-b01 java/1.8.0_275 vendor/Oracle_Corporation", "requestParameters": { "maxResults": "100" }, "responseElements": null, "requestID": "1c026d0b-3397-405a-95aa-aa43aexample", "eventID": "c5fca3fb-d148-4fa1-ba22-5fa63example", "readOnly": true, "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "444455556666" }

AWS Amplify 管理 UI API リファレンスListBackendJobsオペレーションを示す CloudTrail ログエントリの例は、次のとおりです。

{ "eventVersion": "1.08", "userIdentity": { "type": "IAMUser", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::444455556666:user/Mary_Major", "accountId": "444455556666", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "Mary_Major", "sessionContext": { "sessionIssuer": {}, "webIdFederationData": {}, "attributes": { "mfaAuthenticated": "false", "creationDate": "2021-01-13T00:47:25Z" } } }, "eventTime": "2021-01-13T01:15:43Z", "eventSource": "amplifybackend.amazonaws.com", "eventName": "ListBackendJobs", "awsRegion": "us-west-2", "sourceIPAddress": "192.0.2.255", "userAgent": "aws-internal/3 aws-sdk-java/1.11.898 Linux/4.9.230-0.1.ac.223.84.332.metal1.x86_64 OpenJDK_64-Bit_Server_VM/25.275-b01 java/1.8.0_275 vendor/Oracle_Corporation", "requestParameters": { "appId": "d23mv2oexample", "backendEnvironmentName": "staging" }, "responseElements": { "jobs": [ { "appId": "d23mv2oexample", "backendEnvironmentName": "staging", "jobId": "ed63e9b2-dd1b-4bf2-895b-3d5dcexample", "operation": "CreateBackendAuth", "status": "COMPLETED", "createTime": "1610499932490", "updateTime": "1610500140053" }, { "appId": "d23mv2oexample", "backendEnvironmentName": "staging", "jobId": "06904b10-a795-49c1-92b7-185dfexample", "operation": "CreateBackend", "status": "COMPLETED", "createTime": "1610499657938", "updateTime": "1610499704458" } ], "appId": "d23mv2oexample", "backendEnvironmentName": "staging" }, "requestID": "7adfabd6-98d5-4b11-bd39-c7deaexample", "eventID": "68769310-c96c-4789-a6bb-68b52example", "readOnly": false, "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "444455556666" }