AWS CloudTrail による AWS CodeBuild API 呼び出しのログ記録 - AWS CodeBuild

AWS CloudTrail による AWS CodeBuild API 呼び出しのログ記録

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

CloudTrail の詳細については、AWS CloudTrail User Guideを参照してください。

CloudTrail 内の AWS CodeBuild 情報

CloudTrail は、アカウント作成時に AWS アカウントで有効になります。CodeBuild でアクティビティが発生すると、そのアクティビティは AWS の他のサービスのイベントと共に CloudTrail イベントとして [イベント履歴] に記録されます。最近のイベントは、AWS アカウントで表示、検索、ダウンロードできます。詳細については、 の「イベント履歴でCloudTrailのイベントの表示」を参照してくださいAWS CloudTrail User Guide

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

すべての CodeBuild アクションは CloudTrail でログに記録されます。これらのアクションは CodeBuild API リファレンスで説明されています。たとえば、CreateProject (AWS CLI で create-project)、StartBuild (AWS CLI で start-project)、UpdateProject アクション (AWS CLI で update-project) を呼び出すと、CloudTrail のログファイルにエントリが生成されます。

各イベントまたはログエントリには、リクエストの生成者に関する情報が含まれます。この ID 情報は以下のことを確認するのに役立ちます。

  • リクエストが、ルートと IAM ユーザー認証情報のどちらを使用して送信されたか。

  • リクエストが、ロールとフェデレーティッドユーザーのどちらの一時的なセキュリティ認証情報を使用して送信されたか.

  • リクエストが、別の AWS サービスによって送信されたかどうか。

詳細については、 の CloudTrailuserIdentity要素を参照してくださいAWS CloudTrail User Guide

AWS CodeBuild ログファイルエントリについて

証跡は、指定した S3 バケットにイベントをログファイルとして配信できる設定です。CloudTrail ログファイルには、1 つ以上のログエントリが含まれます。イベントは任意の送信元からの単一のリクエストを表し、リクエストされたアクション、アクションの日時、リクエストのパラメーターなどに関する情報が含まれます。CloudTrail ログファイルは、パブリック API 呼び出しの順序付けられたスタックトレースではないため、特定の順序では表示されません。

注記

機密情報を保護するために、CodeBuild ログでは次の情報が非表示になっています。

次の例は、CodeBuild でビルドプロジェクトを作成する方法を示す CloudTrail ログエントリを示しています。

{ "eventVersion": "1.05", "userIdentity": { "type": "FederatedUser", "principalId": "account-ID:user-name", "arn": "arn:aws:sts::account-ID:federated-user/user-name", "accountId": "account-ID", "accessKeyId": "access-key-ID", "sessionContext": { "attributes": { "mfaAuthenticated": "false", "creationDate": "2016-09-06T17:59:10Z" }, "sessionIssuer": { "type": "IAMUser", "principalId": "access-key-ID", "arn": "arn:aws:iam::account-ID:user/user-name", "accountId": "account-ID", "userName": "user-name" } } }, "eventTime": "2016-09-06T17:59:11Z", "eventSource": "codebuild.amazonaws.com", "eventName": "CreateProject", "awsRegion": "region-ID", "sourceIPAddress": "127.0.0.1", "userAgent": "user-agent", "requestParameters": { "awsActId": "account-ID" }, "responseElements": { "project": { "environment": { "image": "image-ID", "computeType": "BUILD_GENERAL1_SMALL", "type": "LINUX_CONTAINER", "environmentVariables": [] }, "name": "codebuild-demo-project", "description": "This is my demo project", "arn": "arn:aws:codebuild:region-ID:account-ID:project/codebuild-demo-project:project-ID", "encryptionKey": "arn:aws:kms:region-ID:key-ID", "timeoutInMinutes": 10, "artifacts": { "location": "arn:aws:s3:::codebuild-region-ID-account-ID-output-bucket", "type": "S3", "packaging": "ZIP", "outputName": "MyOutputArtifact.zip" }, "serviceRole": "arn:aws:iam::account-ID:role/CodeBuildServiceRole", "lastModified": "Sep 6, 2016 10:59:11 AM", "source": { "type": "GITHUB", "location": "https://github.com/my-repo.git" }, "created": "Sep 6, 2016 10:59:11 AM" } }, "requestID": "9d32b228-745b-11e6-98bb-23b67EXAMPLE", "eventID": "581f7dd1-8d2e-40b0-aeee-0dbf7EXAMPLE", "eventType": "AwsApiCall", "recipientAccountId": "account-ID" }