使用 記錄 Amplify API 呼叫 AWS CloudTrail - AWS Amplify 託管

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

使用 記錄 Amplify API 呼叫 AWS CloudTrail

AWS Amplify 已與 服務整合 AWS CloudTrail,此服務提供由使用者、角色或 Amplify 中的 AWS 服務所採取之動作的記錄。CloudTrail 會將 Amplify 的所有 API 呼叫擷取為事件。擷取的呼叫包括來自 Amplify 主控台的呼叫,以及對 Amplify API 操作的程式碼呼叫。如果您建立線索,則可以將 CloudTrail 事件持續交付至 Amazon S3 儲存貯體,包括 Amplify 的事件。即使您未設定追蹤,依然可以透過 CloudTrail 主控台中的事件歷史記錄檢視最新事件。使用 CloudTrail 收集的資訊,您可以判斷向 Amplify 提出的請求、提出請求的 IP 地址、提出請求的人員、提出請求的時間,以及其他詳細資訊。

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

CloudTrail 中的 Amplify 資訊

AWS 您的帳戶預設會啟用 CloudTrail。當 Amplify 中發生活動時,該活動會與事件歷史記錄中的其他服務 AWS 事件一起記錄在 CloudTrail 事件中。您可以檢視、搜尋和下載 AWS 帳戶的最新事件。如需詳細資訊,請參閱 AWS CloudTrail 使用者指南中的 使用 CloudTrail 事件歷史記錄檢視事件

若要持續記錄您 AWS 帳戶中的事件,包括 Amplify 的事件,請建立追蹤。線索能讓 CloudTrail 將日誌檔案交付至 Amazon S3 儲存貯體。根據預設,當您在主控台建立線索時,線索會套用到所有 AWS 區域。線索會記錄 AWS 分割區中所有區域的事件,並將日誌檔案傳送到您指定的 Amazon S3 儲存貯體。此外,您可以設定其他 AWS 服務,以進一步分析和處理 CloudTrail 日誌中所收集的事件資料。如需詳細資訊,請參閱《AWS CloudTrail 使用者指南》 中的下列主題:

CloudTrail 會記錄所有 Amplify 操作,並記錄在AWS Amplify 主控台 API 參考AWS Amplify Admin UI API 參考Amplify UI Builder API 參考中。例如,對 CreateAppDeleteAppDeleteBackendEnvironment 作業的呼叫都會在 CloudTrail 日誌檔案中產生項目。

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

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

  • 是否使用角色或聯合身分使用者的臨時安全登入資料提出請求。

  • 該請求是否由其他 AWS 服務提出。

如需詳細資訊,請參閱AWS CloudTrail 《 使用者指南》中的 CloudTrail userIdentity 元素

了解 Amplify 日誌檔案項目

追蹤是一種組態,能讓事件以日誌檔案的形式交付到您指定的 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 Admin 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" }