使用 AWS CloudTrail 記錄 AWS Clean Rooms API 呼叫 - AWS Clean Rooms

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

使用 AWS CloudTrail 記錄 AWS Clean Rooms API 呼叫

AWS Clean Rooms整合了AWS CloudTrail,這是一種提供使用者、角色或AWS 服務中所採取之動作的記錄的服務AWS Clean Rooms。 CloudTrail 會將的所有 API 呼叫擷取AWS Clean Rooms為事件。擷取的呼叫包括從 AWS Clean Rooms 主控台進行的呼叫,以及針對 AWS Clean Rooms API 操作的程式碼呼叫。如果您建立追蹤,就可以將 CloudTrail事件持續交付至 Amazon S3 儲存貯體,包括的事件AWS Clean Rooms。即使未設定追蹤,您依然可以在事件歷史記錄中檢視最新的事件。 CloudTrail 使用由收集的資訊 CloudTrail,您就可以判斷傳送至的請求AWS Clean Rooms、提出請求的 IP 地址、提出請求的對象、提出請求的時間,以及其他詳細資訊。

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

AWS Clean Rooms中的資訊 CloudTrail

CloudTrail 當您建立帳戶AWS 帳戶時,系統即會在中啟用。此外AWS Clean Rooms,中發生活動時,系統便會將該活動記錄至 CloudTrail 事件,並將其他AWS 服務事件記錄至事件歷史記錄中。您可以檢視、搜尋和下載 AWS 帳戶 的最新事件。如需詳細資訊,請參閱使用 CloudTrail 事件歷史記錄檢視事件

如需您 AWS 帳戶 帳戶中正在進行事件的記錄 (包含 AWS Clean Rooms 的事件),請建立追蹤。線索能 CloudTrail 將日誌檔案交付至 Amazon S3 儲存貯體。依預設,當您在主控台中建立追蹤時,該追蹤會套用至所有的 AWS 區域。該追蹤會記錄來自 AWS 分割區中所有區域的事件,並將日誌檔案交付到您指定的 Amazon S3 儲存貯體。此外,您還能設定其他服務,AWS 服務以進一步分析和處理 CloudTrail 日誌中收集的事件資料。如需詳細資訊,請參閱下列內容:

所有AWS Clean Rooms動作均由「API 參考」記錄 CloudTrail 並記錄在「AWS Clean RoomsAPI 參考」中。

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

  • 是否使用根使用者或 IAM 使用者憑證提出該請求。

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

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

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

了解 AWS Clean Rooms 日誌檔案項目

追蹤是一種組態,能讓事件以日誌檔案的形式交付至您指定的 Amazon S3 儲存貯體。 CloudTrail 日誌檔案包含一個或多個日誌項目。一個事件為任何來源提出的單一請求,並包含請求動作、請求的日期和時間、請求參數等資訊。 CloudTrail 日誌檔案並非依公有 API 呼叫的堆疊追蹤排序,因此不會以任何特定順序出現。

範例AWS Clean Rooms CloudTrail 事件

下列範例會示範個別 CloudTrail 事件:

StartProtectedQuery (成功)

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "EXAMPLE_PRINCIPAL_ID", "arn": "arn:aws:sts::123456789012:assumed-role/query-runner/jdoe", "accountId": "123456789012", "accessKeyId": "EXAMPLE_KEY_ID", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "EXAMPLE_PRINCIPAL_ID", "arn": "arn:aws:iam::123456789012:role/query-runner", "accountId": "123456789012", "userName": "query-runner" }, "webIdFederationData": {}, "attributes": { "creationDate": "2023-04-07T19:34:32Z", "mfaAuthenticated": "false" } } }, "eventTime": "2023-04-07T19:53:32Z", "eventSource": "cleanrooms.amazonaws.com", "eventName": "StartProtectedQuery", "awsRegion": "us-east-2", "sourceIPAddress": "203.0.113.1", "userAgent": "aws-internal/3", "requestParameters": { "resultConfiguration": { "outputConfiguration": { "s3": { "resultFormat": "CSV", "bucket": "cleanrooms-queryresults-jdoe-test", "keyPrefix": "test" } } }, "sqlParameters": "***", "membershipIdentifier": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "type": "SQL" }, "responseElements": { "Access-Control-Expose-Headers": "x-amzn-RequestId,x-amzn-ErrorType,x-amzn-ErrorMessage,Date", "protectedQuery": { "createTime": 1680897212.279, "id": "f5988bf1-771a-4141-82a8-26fcc4e41c9f", "membershipArn": "arn:aws:cleanrooms:us-east-2:123456789012:membership/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "membershipId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "resultConfiguration": { "outputConfiguration": { "s3": { "bucket": "cleanrooms-queryresults-jdoe-test", "keyPrefix": "test", "resultFormat": "CSV" } } }, "sqlParameters": "***", "status": "SUBMITTED" } }, "requestID": "7464211b-2277-4b55-9723-fb4f259aefd2", "eventID": "f7610f5e-74b9-420f-ae43-206571ebcbf7", "readOnly": false, "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "123456789012", "eventCategory": "Management" }

StartProtectedQuery(失敗)

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "EXAMPLE_PRINCIPAL_ID", "arn": "arn:aws:sts::123456789012:assumed-role/query-runner/jdoe", "accountId": "123456789012", "accessKeyId": "EXAMPLE_KEY_ID", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "EXAMPLE_PRINCIPAL_ID", "arn": "arn:aws:iam::123456789012:role/query-runner", "accountId": "123456789012", "userName": "query-runner" }, "webIdFederationData": {}, "attributes": { "creationDate": "2023-04-07T19:34:32Z", "mfaAuthenticated": "false" } } }, "eventTime": "2023-04-07T19:47:27Z", "eventSource": "cleanrooms.amazonaws.com", "eventName": "StartProtectedQuery", "awsRegion": "us-east-2", "sourceIPAddress": "203.0.113.1", "userAgent": "aws-internal/3", "errorCode": "ValidationException", "requestParameters": { "resultConfiguration": { "outputConfiguration": { "s3": { "resultFormat": "CSV", "bucket": "cleanrooms-queryresults-jdoe-test", "keyPrefix": "test" } } }, "sqlParameters": "***", "membershipIdentifier": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "type": "SQL" }, "responseElements": { "Access-Control-Expose-Headers": "x-amzn-RequestId,x-amzn-ErrorType,x-amzn-ErrorMessage,Date", "message": "Column(s) [identifier] is not allowed in select" }, "requestID": "e29f9f74-8299-4a83-9d18-5ddce7302f07", "eventID": "c8ee3498-8e4e-44b5-87e4-ab9477e56eb5", "readOnly": false, "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "123456789012", "eventCategory": "Management" }