使用 記錄 OpenSearch Serverless API 呼叫 AWS CloudTrail - Amazon OpenSearch Service

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

使用 記錄 OpenSearch Serverless API 呼叫 AWS CloudTrail

Amazon OpenSearch Serverless 已與 服務整合 AWS CloudTrail,此服務提供使用者、角色或 AWS 服務在 Serverless 中採取之動作的記錄。

CloudTrail 會將 OpenSearch Serverless 的所有 API 呼叫擷取為事件。擷取的呼叫包括從 OpenSearch Service 主控台進行的「無伺服器」區段的呼叫,以及對 OpenSearch Serverless API 操作進行的程式碼呼叫。

如果您建立追蹤,就可以將 CloudTrail 事件持續交付到 Amazon S3 儲存貯體,包括 OpenSearch Serverless 的事件。即使您未設定追蹤,依然可以透過 CloudTrail 主控台中的事件歷史記錄檢視最新事件。

您可以利用 CloudTrail 收集的資訊來判斷向 OpenSearch Serverless 發出的請求,以及發出請求的 IP 地址、人員、時間和其他詳細資訊。

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

CloudTrail 中的 OpenSearch Serverless 資訊

當您建立帳戶 AWS 帳戶 時,您的 上會啟用 CloudTrail。當活動在 OpenSearch Serverless 中發生時,該活動會與事件歷史記錄中的其他 AWS 服務事件一起記錄在 CloudTrail 事件中。您可以在 中檢視、搜尋和下載最近的事件 AWS 帳戶。如需詳細資訊,請參閱「使用 CloudTrail 事件歷史記錄檢視事件」

若要持續記錄 中的事件 AWS 帳戶,包括 OpenSearch Serverless 的事件,請建立追蹤。線索能讓 CloudTrail 將日誌檔案交付至 Amazon S3 儲存貯體。依預設,當您在主控台中建立追蹤時,該追蹤會套用至所有的 AWS 區域。

線索會記錄 AWS 分割區中所有區域的事件,並將日誌檔案交付至您指定的 Amazon S3 儲存貯體。此外,您可以設定其他 AWS 服務,以進一步分析和處理 CloudTrail 日誌中所收集的事件資料。如需詳細資訊,請參閱下列內容:

CloudTrail 會記錄所有 OpenSearch Serverles 動作,並會將這些動作記錄在 OpenSearch Serverless API 參考中。例如,對 CreateCollectionListCollections 以及 DeleteCollection 動作發出的呼叫會在 CloudTrail 日誌檔案中產生項目。

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

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

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

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

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

CloudTrail 中的 OpenSearch Serverless 資料事件

資料事件提供有關在資源上執行或在資源中執行的資源操作的資訊 (例如,搜尋或編製 OpenSearch Serverless 集合的索引)。這些也稱為資料平面操作。資料事件通常是大量資料的活動。根據預設,CloudTrail 不會記錄資料事件。CloudTrail 事件歷史記錄不會記錄資料事件。

資料事件需支付額外的費用。如需 CloudTrail 定價的詳細資訊,請參閱 AWS CloudTrail 定價

您可以使用 CloudTrail 主控台 AWS CLI或 CloudTrail API 操作來記錄AWS::AOSS::Collection資源類型的資料事件。如需如何記錄資料事件的詳細資訊,請參閱 AWS CloudTrail 使用者指南中的使用 AWS 管理主控台 記錄資料事件使用 AWS Command Line Interface記錄資料事件

您可以設定進階事件選取器來篩選 eventNamereadOnlyresources.ARN 欄位,以僅記錄對您重要的事件。如需這些欄位的詳細資訊,請參閱AWS CloudTrail API 參考中的AdvancedFieldSelector

了解 OpenSearch Serverless Data Event 項目

於下列範例中:

  • requestParameters 欄位包含對集合進行 API 呼叫的詳細資訊。它包含基本請求路徑 (不含查詢參數)。

  • responseElements 欄位包含狀態碼,指出您在修改資源時請求的結果。此狀態碼可協助您追蹤您的變更是否已成功處理或需要注意。

  • OpenSearch Serverless 只會針對成功完成 IAM 身分驗證的請求記錄 CloudTrail 資料事件。

範例
{ "eventVersion": "1.11", "userIdentity": { "type": "AssumedRole", "principalId": "AROA123456789EXAMPLE", "arn": "arn:aws::sts::111122223333:assumed-role/Admin/user-role", "accountId": "111122223333", "accessKeyId": "access-key", "userName": "", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROA123456789EXAMPLE", "arn": "arn:aws:iam::111122223333:role/Admin", "accountId": "111122223333", "userName": "Admin" }, "attributes": { "creationDate": "2025-08-15T22:57:38Z", "mfaAuthenticated": "false" }, "sourceIdentity": "", "ec2RoleDelivery": "", "assumedRoot": "" }, "identityProvider": "", "credentialId": "" }, "eventTime": "2025-08-15T22:58:00Z", "eventSource": "aoss.amazonaws.com", "eventName": "Search", "awsRegion": "us-east-1", "sourceIPAddress": "AWS Internal", "userAgent": "python-requests/2.32.3", "requestParameters": { "pathPrefix": "/_search" }, "responseElements": null, "requestID": "2cfee788-EXAM-PLE1-8617-4018cEXAMPLE", "eventID": "48d43617-EXAM-PLE1-9d9c-f7EXAMPLE", "readOnly": true, "resources": [ { "type": "AWS::AOSS::Collection", "ARN": "arn:aws:aoss:us-east-1:111122223333:collection/aab9texampletu45xh77" } ], "eventType": "AwsApiCall", "managementEvent": false, "recipientAccountId": "111122223333", "eventCategory": "Data" } ] }

了解 OpenSearch Serverless Management Events 項目

追蹤是一種組態,能讓事件以日誌檔案的形式交付到您指定的 Amazon S3 儲存貯體。CloudTrail 日誌檔案包含一個或多個日誌項目。

事件代表來自任何來源的單一請求。其中包含了請求的動作、動作的日期和時間、請求參數等相關資訊。CloudTrail 日誌檔並非依公有 API 呼叫的堆疊追蹤排序,因此不會以任何特定順序出現。

下列範例顯示示範 CreateCollection動作的 CloudTrail 日誌項目。

{ "eventVersion":"1.08", "userIdentity":{ "type":"AssumedRole", "principalId":"AIDACKCEVSQ6C2EXAMPLE", "arn":"arn:aws:iam::123456789012:user/test-user", "accountId":"123456789012", "accessKeyId":"access-key", "sessionContext":{ "sessionIssuer":{ "type":"Role", "principalId":"AIDACKCEVSQ6C2EXAMPLE", "arn":"arn:aws:iam::123456789012:role/Admin", "accountId":"123456789012", "userName":"Admin" }, "webIdFederationData":{ }, "attributes":{ "creationDate":"2022-04-08T14:11:34Z", "mfaAuthenticated":"false" } } }, "eventTime":"2022-04-08T14:11:49Z", "eventSource":"aoss.amazonaws.com", "eventName":"CreateCollection", "awsRegion":"us-east-1", "sourceIPAddress":"AWS Internal", "userAgent":"aws-cli/2.1.30 Python/3.8.8 Linux/5.4.176-103.347.amzn2int.x86_64 exe/x86_64.amzn.2 prompt/off command/aoss.create-collection", "errorCode":"HttpFailureException", "errorMessage":"An unknown error occurred", "requestParameters":{ "accountId":"123456789012", "name":"test-collection", "description":"A sample collection", "clientToken":"d3a227d2-a2a7-49a6-8fb2-e5c8303c0718" }, "responseElements": null, "requestID":"12345678-1234-1234-1234-987654321098", "eventID":"12345678-1234-1234-1234-987654321098", "readOnly":false, "eventType":"AwsApiCall", "managementEvent":true, "recipientAccountId":"123456789012", "eventCategory":"Management", "tlsDetails":{ "clientProvidedHostHeader":"user.aoss-sample.us-east-1.amazonaws.com" } }