本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 AWS CloudTrail 記錄 AWS Serverless Application Repository API 呼叫
AWS Serverless Application Repository已與整合AWS CloudTrail,它是一種提供記錄使用者、角色或AWS服務AWS Serverless Application Repository。CloudTrail會為捕獲所有 API 呼叫以做為AWS Serverless Application Repository作為事件。擷取的呼叫包括從 AWS Serverless Application Repository 主控台進行的呼叫,以及針對 AWS Serverless Application Repository API 操作的程式碼呼叫。
如果您建立追蹤記錄,就可以啟用CloudTrail事件傳送至 Amazon S3 儲存儲體,包括AWS Serverless Application Repository。如果您不設定追蹤記錄,仍然可以透過 CloudTrail 主控台中的 Event history (事件歷史記錄) 檢視最新的事件。
使用由 CloudTrail 收集的資訊,可判斷對 AWS Serverless Application Repository 提出了哪些請求。您還可以判斷提出請求的來源 IP 地址、提出請求的人員、提出請求的時間以及其他詳細資訊。
若要進一步了解 CloudTrail,請參閱 AWS CloudTrail 使用者指南。
AWS Serverless Application Repository 中的 資訊CloudTrail
當您建立帳戶時,系統會在您的 AWS 帳戶中啟用 CloudTrail。當 AWS Serverless Application Repository 中發生活動時,該活動會記錄在 CloudTrail 事件中,其他 AWS 服務事件則記錄於 Event history (事件歷程記錄)。您可以檢視、搜尋和下載 AWS 帳戶的最新事件。如需詳細資訊,請參閱使用 CloudTrail 事件歷程記錄檢視事件。
如需您 AWS 帳戶中正在進行事件的記錄 (包含 AWS Serverless Application Repository 的事件),請建立線索。一個線索啟用CloudTrail將日誌檔案傳送至 Amazon S3 儲存儲存儲體。根據預設,當您在主控台建立線索時,線索會套用到所有 AWS 區域。權杖會記錄來自 AWS 分割區中所有 AWS 區域的事件,然後將記錄檔案交付到您指定的 Amazon S3 儲存貯體。此外,您可以設定其他 AWS 服務,以進一步分析和處理 CloudTrail 日誌中所收集的事件資料。如需詳細資訊,請參閱下列內容:
CloudTrail 會記錄所有 AWS Serverless Application Repository 動作,具體詳列於 AWS Serverless Application Repository 資源頁面。例如,對 CreateApplication
、UpdateApplications
和 ListApplications
操作的呼叫都會在 CloudTrail 日誌檔案中產生項目。
每一筆事件或日誌項目都會包含產生請求者的資訊。身分資訊可協助您判斷下列事項:
-
該請求是否透過根或 AWS Identity and Access Management (IAM) 使用者憑證來提出。
-
提出該要求時,是否使用了特定角色或聯合身分使用者的暫時安全憑證。
-
該請求是否由另一項 AWS 服務提出。
如需詳細資訊,請參閱 CloudTrail 使用者身分元素。
了解 AWS Serverless Application Repository 日誌檔項目
追蹤是一種組態,可讓事件以日誌檔案的形式交付至您指定的 Amazon S3 儲存貯體。CloudTrail 日誌檔案包含一個或多個日誌項目。一個事件為任何來源提出的單一請求,並包含請求動作、請求的日期和時間、請求參數等資訊。CloudTrail 日誌檔案並非依公有 API 呼叫追蹤記錄的堆疊排序,因此不會以任何特定順序出現。
以下範例顯示的是展示 CreateApplication
動作的 CloudTrail 日誌項目。
{ "eventVersion": "1.05", "userIdentity": { "type": "Root", "principalId": "999999999999", "arn": "arn:aws:iam::999999999999:root", "accountId": "999999999999", "accessKeyId": "ASIAUVPLBDH76HEXAMPLE", "sessionContext": { "attributes": { "mfaAuthenticated": "false", "creationDate": "2018-07-30T16:40:42Z" } }, "invokedBy": "signin.amazonaws.com" }, "eventTime": "2018-07-30T17:37:37Z", "eventSource": "serverlessrepo.amazonaws.com", "eventName": "CreateApplication", "awsRegion": "us-east-1", "sourceIPAddress": "72.21.217.161", "userAgent": "signin.amazonaws.com", "requestParameters": { "licenseBody": "
<content of license>
", "sourceCodeUrl": "<sample url>
", "spdxLicenseId": "<sample license id>
", "readmeBody": "<content of readme>
", "author": "<author name>
", "templateBody": "<content of SAM template>
", "name": "<application name>
", "semanticVersion": "<version>
", "description": "<content of description>
", "homePageUrl": "<sample url>
", "labels": [ "<label1>
", "<label2>
" ] }, "responseElements": { "licenseUrl": "<url to access content of license>", "readmeUrl": "<url to access content of readme>", "spdxLicenseId": "<sample license id>
", "creationTime": "2018-07-30T17:37:37.045Z", "author": "<author name>
", "name": "<application name>
", "description": "<content of description>
", "applicationId": "arn:aws:serverlessrepo:us-east-1:999999999999:applications/<application name>
", "homePageUrl": "<sample url>
", "version": { "applicationId": "arn:aws:serverlessrepo:us-east-1:999999999999:applications/<application name>
", "semanticVersion": "<version>
", "sourceCodeUrl": "<sample url>
", "templateUrl": "<url to access content of SAM template>", "creationTime": "2018-07-30T17:37:37.027Z", "parameterDefinitions": [ { "name": "<parameter name>
", "description": "<parameter description>
", "type": "<parameter type>
" } ] }, "labels": [ "<label1>
", "<label2>
" ] }, "requestID": "3f50d899-941f-11e8-ab18-01063f863be5", "eventID": "a66a6490-d388-4a4f-8c7b-9d6ec61ab262", "readOnly": false, "eventType": "AwsApiCall", "recipientAccountId": "999999999999" }