翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS CodeBuild による AWS CloudTrail API 呼び出しのログ記録
AWS CodeBuild は、ユーザー、ロール、または CodeBuild の AWS のサービスによって実行されたアクションを記録するサービスである AWS CloudTrail と統合されています。CloudTrail は、 スタックコンソールからの呼び出しや、 スタック API へのコード呼び出しを含む、 スタックのすべての API コールをイベントとしてキャプチャします。証跡を作成する場合は、CodeBuild のイベントなど、S3 バケットへの CloudTrail イベントの継続的な配信を有効にすることができます。追跡を設定しない場合でも、CloudTrail コンソールの [Event history] (イベント履歴) で最新のイベントを表示できます。CloudTrail で収集された情報を使用して、CodeBuild に対するリクエスト、リクエスト元の IP アドレス、リクエスト者、リクエスト日時などの詳細を確認できます。
CloudTrail の詳細については、「AWS CloudTrailユーザーガイド」を参照してください。
CloudTrail の AWS CodeBuild 情報
CloudTrail は、アカウントを作成すると AWS アカウントで有効になります。CodeBuild でアクティビティが発生すると、そのアクティビティは [Event history] (イベント履歴) の他の AWS のサービスイベントと共に CloudTrail イベントに記録されます。最近のイベントは、AWSアカウントで表示、検索、ダウンロードできます。詳細については、「AWS CloudTrail ユーザーガイド」の「Viewing events with CloudTrail event history」(CloudTrail イベント履歴でのイベントの表示) を参照してください。
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 のログファイルにエントリが生成されます。
各イベントまたはログエントリには、リクエストの生成者に関する情報が含まれます。同一性情報は次の判断に役立ちます。
-
リクエストが、ルートと ユーザー認証情報のどちらを使用して送信されたか。
-
リクエストが、ロールとフェデレーティッドユーザーのどちらの一時的なセキュリティ認証情報を使用して送信されたか.
-
リクエストが、別の AWS のサービスによって送信されたかどうか。
詳細については、AWS CloudTrail ユーザーガイドの CloudTrail userIdentity エレメントを参照してください。
AWS CodeBuild ログファイルエントリの概要
証跡は、指定した S3 バケットにイベントをログファイルとして配信するように設定できます。CloudTrail ログファイルには、1 つ以上のログエントリがあります。イベントはあらゆるソースからの単一のリクエストを表し、リクエストされたアクション、アクションの日時、リクエストのパラメータなどの情報が含まれます。CloudTrail ログファイルは、パブリック API コールの順序付けられたスタックトレースではないため、特定の順序では表示されません。
注記
機密情報を保護するために、CodeBuild ログでは次の情報が非表示になっています。
-
AWS アクセスキー ID。詳細については、AWS Identity and Access Management ユーザーガイドの IAM ユーザーのアクセスキーの管理を参照してください。
-
パラメータストアを使用して指定された文字列。詳細については、「Amazon EC2 Systems Manager ユーザーガイド」の「Systems Manager パラメータストア」および「Systems Manager パラメータストアコンソールのチュートリアル」を参照してください。
-
AWS Secrets Manager を使用して指定された文字列。詳細については、「キー管理」を参照してください。
次の例は、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
" }