使用記錄 CodePipeline API 呼叫 AWS CloudTrail - AWS CodePipeline

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用記錄 CodePipeline API 呼叫 AWS CloudTrail

AWS CodePipeline 與提供使用者 AWS CloudTrail、角色或 AWS 服務 中 CodePipeline所採取之動作記錄的服務整合。 CloudTrail 擷取 CodePipeline 作為事件的所有 API 呼叫。擷取的呼叫包括來自 CodePipeline 主控台的呼叫和 CodePipeline API 作業的程式碼呼叫。如果您建立追蹤,您可以啟用持續交付 CloudTrail 事件到 Amazon S3 儲存貯體,包括 CodePipeline. 如果您未設定追蹤,您仍然可以在 [事件歷程記錄] 中檢視 CloudTrail 主控台中最近的事件。使用收集的資訊 CloudTrail,您可以判斷提出的要求 CodePipeline、提出要求的 IP 位址、提出要求的人員、提出要求的時間,以及其他詳細資訊。

若要進一步了解 CloudTrail,請參閱使AWS CloudTrail 用者指南

CodePipeline 中的資訊 CloudTrail

CloudTrail 在您創建帳戶 AWS 帳戶 時啟用。當活動發生在中時 CodePipeline,該活動會與事件歷史記錄中的其他 CloudTrail AWS 服務 事件一起記錄在事件中。您可以在帳戶中查看,搜索和下載最近的事 AWS 件。如需詳細資訊,請參閱檢視具有事 CloudTrail 件記錄的事件

對於您的事件的持續記錄 AWS 帳戶 ,包括事件 CodePipeline,請創建一個跟踪。追蹤可 CloudTrail 將日誌檔交付到 Amazon S3 儲存貯體。根據預設,當您在主控台中建立追蹤時,追蹤會套用至所有 AWS 區域。追蹤記錄來自 AWS 分區中所有區域的事件,並將日誌檔傳送到您指定的 Amazon S3 儲存貯體。此外,您可以設定其他, AWS 服務 以進一步分析 CloudTrail 記錄中收集的事件資料並採取行動。如需詳細資訊,請參閱下列內容:

所有 CodePipeline 動作均由「API 參考」記錄 CloudTrail 並記錄在「CodePipeline API 參考」中。例如,呼叫GetPipelineExecutionUpdatePipeline動作會CreatePipeline在 CloudTrail 記錄檔中產生項目。

每一筆事件或日誌專案都會包含產生請求者的資訊。身分資訊可協助您判斷下列事項:

  • 請求是使用根登入資料還是 AWS Identity and Access Management (IAM) 登入資料提出。

  • 提出該請求時,是否使用了特定角色或聯合身分使用者的暫時安全憑證。

  • 該請求是否由另一項 AWS 服務服務提出。

如需詳細資訊,請參閱CloudTrail 使 userIdentity 元素

瞭解 CodePipeline 記錄檔項目

追蹤是一種組態,可讓事件以日誌檔的形式傳遞到您指定的 Amazon S3 儲存貯體。 CloudTrail 記錄檔包含一或多個記錄項目。事件代表來自任何來源的單一請求,包括有關請求的操作,動作的日期和時間,請求參數等信息。 CloudTrail 日誌文件不是公共 API 調用的有序堆棧跟踪,因此它們不會以任何特定順序顯示。

下列範例顯示更新管線事件的 CloudTrail 記錄項目,其中名為的管線 MyFirstPipeline 已由名為的使用者編輯 JaneDoe-CodePipeline 帳戶識別碼為 80398EXAMPLE。使用者已將管道的來源階段名稱從 Source 變更為 MySourceStage。由於requestParameters和 CloudTrail記錄檔中的responseElements元素都包含已編輯管線的整個結構,因此在下列範例中,這些元素已縮寫。Emphasis 已新增至發生變更之管道的 requestParameters 部分、管道的舊版本號碼,以及 responseElements 部分 (顯示遞加 1 的版本號碼)。編輯過部分會標上省略符號 (...),說明實際日誌項目中出現更多資料的位置。

{ "eventVersion":"1.03", "userIdentity": { "type":"IAMUser", "principalId":"AKIAI44QH8DHBEXAMPLE", "arn":"arn:aws:iam::80398EXAMPLE:user/JaneDoe-CodePipeline", "accountId":"80398EXAMPLE", "accessKeyId":"AKIAIOSFODNN7EXAMPLE", "userName":"JaneDoe-CodePipeline", "sessionContext": { "attributes":{ "mfaAuthenticated":"false", "creationDate":"2015-06-17T14:44:03Z" } }, "invokedBy":"signin.amazonaws.com"}, "eventTime":"2015-06-17T19:12:20Z", "eventSource":"codepipeline.amazonaws.com", "eventName":"UpdatePipeline", "awsRegion":"us-east-2", "sourceIPAddress":"192.0.2.64", "userAgent":"signin.amazonaws.com", "requestParameters":{ "pipeline":{ "version":1, "roleArn":"arn:aws:iam::80398EXAMPLE:role/CodePipeline_Service_Role", "name":"MyFirstPipeline", "stages":[ { "actions":[ { "name":"MySourceStage", "actionType":{ "owner":"AWS", "version":"1", "category":"Source", "provider":"S3" }, "inputArtifacts":[], "outputArtifacts":[ {"name":"MyApp"} ], "runOrder":1, "configuration":{ "S3Bucket":"awscodepipeline-demobucket-example-date", "S3ObjectKey":"sampleapp_linux.zip" } } ], "name":"Source" }, (...) }, "responseElements":{ "pipeline":{ "version":2, (...) }, "requestID":"2c4af5c9-7ce8-EXAMPLE", "eventID":""c53dbd42-This-Is-An-Example"", "eventType":"AwsApiCall", "recipientAccountId":"80398EXAMPLE" } ] }