記錄 X-Ray API 呼叫 AWS CloudTrail - AWS X-Ray

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

記錄 X-Ray API 呼叫 AWS CloudTrail

AWS X-Ray 與AWS CloudTrail提供使用者、角色或 AWS 服務. CloudTrail 將 X-Ray 的所有 API 呼叫擷取為事件。擷取的呼叫包括來自 X-Ray 主控台的呼叫,以及對 X-Ray API 作業的程式碼呼叫。使用收集的資訊 CloudTrail,您可以判斷向 X-Ray 發出的要求、提出要求的 IP 位址、提出要求的時間,以及其他詳細資訊。

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

  • 該請求是使用根使用者還是使用者憑證提出。

  • 請求是否代表 IAM 身分中心使用者提出。

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

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

CloudTrail 在您創建帳戶 AWS 帳戶 時處於活動狀態,並且您自動可以訪問 CloudTrail 事件歷史記錄。 CloudTrail 事件歷史記錄提供了過去 90 天的記錄管理事件的可查看,可搜索,可下載和不可變的記錄。 AWS 區域若要取得更多資訊,請參閱《使用指南》中的〈AWS CloudTrail 使用 CloudTrail 事件歷程。查看活動歷史記錄不 CloudTrail收取任何費用。

如需過 AWS 帳戶 去 90 天內持續的事件記錄,請建立追蹤或 CloudTrailLake 事件資料存放區。

CloudTrail 小徑

追蹤可 CloudTrail 將日誌檔交付到 Amazon S3 儲存貯體。使用建立的所有系統線 AWS Management Console 都是多區域。您可以使用建立單一區域或多區域系統線。 AWS CLI建議您建立多區域追蹤,因為您會擷取帳戶 AWS 區域 中的所有活動。如果您建立單一區域追蹤,則只能檢視追蹤記錄中的 AWS 區域事件。如需有關追蹤的詳細資訊,請參閱《AWS CloudTrail 使用指南》中的「為您建立追蹤」 AWS 帳戶和「為組織建立追蹤」。

您可以透 CloudTrail 過建立追蹤,免費將一份正在進行的管理事件副本傳遞到 Amazon S3 儲存貯體,但是需要支付 Amazon S3 儲存費用。如需有關 CloudTrail 定價的詳細資訊,請參閱AWS CloudTrail 定價。如需 Amazon S3 定價的相關資訊,請參閱 Amazon S3 定價

CloudTrail 湖泊事件資料存放區

CloudTrail L@@ ake 可讓您針對事件執行 SQL 型查詢。 CloudTrail 湖將基於行的 JSON 格式的現有事件轉換為 Apache ORC 格式。ORC 是一種單欄式儲存格式,針對快速擷取資料進行了最佳化。系統會將事件彙總到事件資料存放區中,事件資料存放區是事件的不可變集合,其依據為您透過套用進階事件選取器選取的條件。套用於事件資料存放區的選取器控制哪些事件持續存在並可供您查詢。若要取得有關 CloudTrail Lake 的更多資訊,請參閱使用指南中的〈AWS CloudTrail 使用 AWS CloudTrail Lake

CloudTrail Lake 事件資料存放區和查詢會產生費用。建立事件資料存放區時,您可以選擇要用於事件資料存放區的定價選項。此定價選項將決定擷取和儲存事件的成本,以及事件資料存放區的預設和最長保留期。如需有關 CloudTrail 定價的詳細資訊,請參閱AWS CloudTrail 定價

X-Ray 管理事件 CloudTrail

AWS X-Ray 與整合 AWS CloudTrail 以記錄使用者、角色或 X-Ray AWS 服務 中所做的 API 動作。您可以使 CloudTrail 用即時監控 X-Ray API 請求,並將日誌存放在 Amazon S3、Amazon CloudWatch 日誌和 Amazon CloudWatch 事件中。X-Ray 支援將下列動作記錄為記 CloudTrail 錄檔中的事件:

X-Ray 資料事件 CloudTrail

料事件提供在資源上或在資源中執行的資源作業的相關資訊 (例如 PutTraceSegments,這些作業會將區段文件上載至 X-Ray)。

這些也稱為資料平面操作。資料事件通常是大量資料的活動。依預設, CloudTrail 不會記錄資料事件。 CloudTrail 事件歷史記錄不會記錄數據事件。

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

您可以使用 CloudTrail 主控台或 CloudTrail API 作業記錄 X-Ray 資源類型的資料事件。 AWS CLI有關如何記錄資料事件的詳細資訊,請參閱AWS CloudTrail 使用《使用指南》 AWS Command Line Interface中的記錄資料事件 AWS Management Console和記錄資料事件。

下表列出您可以記錄其資料事件的 X-Ray 資源類型。[資料事件類型 (主控台)] 欄顯示可從主控台的 [資料事件類型 CloudTrail ] 清單中選擇的值。resource .type 值欄會顯示resources.type,您可以在使用或 API 設定進階事件選取器時指定這個值。 AWS CLI CloudTrail 記錄到資料 CloudTrail欄中的資料 API 會顯示 CloudTrail 針對資源類型記錄的 API 呼叫。

資料事件類型 (主控台) resources.type 值 記錄到的資料 API CloudTrail
X-Ray 軌跡 AWS::XRay::Trace

您可以設定進階事件選取器來篩選eventNamereadOnly欄位,以僅記錄對您很重要的事件。但是,您無法透過新增resources.ARN欄位選取器來選取事件,因為 X-Ray 軌跡沒有 ARN。如需這些欄位的詳細資訊,請參閱 AWS CloudTrail API 參考AdvancedFieldSelector中的。以下是如何執行put-event-selectors AWS CLI 命令以記錄 CloudTrail 追蹤上的資料事件的範例。您必須在中執行指令,或指定在其中建立軌跡的「區域」;否則,作業會傳回InvalidHomeRegionException例外狀況。

aws cloudtrail put-event-selectors --trail-name myTrail --advanced-event-selectors \ '{ "AdvancedEventSelectors": [ { "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::XRay::Trace"] }, { "Field": "eventName", "Equals": ["PutTraceSegments","GetSamplingTargets"] } ], "Name": "Log X-Ray PutTraceSegments and GetSamplingTargets data events" } ] }'

X-Ray 事件範例

管理事件的例子,GetEncryptionConfig

以下是中 X-Ray GetEncryptionConfig 記錄項目的範例 CloudTrail。

{ "eventVersion"=>"1.05", "userIdentity"=>{ "type"=>"AssumedRole", "principalId"=>"AROAJVHBZWD3DN6CI2MHM:MyName", "arn"=>"arn:aws:sts::123456789012:assumed-role/MyRole/MyName", "accountId"=>"123456789012", "accessKeyId"=>"AKIAIOSFODNN7EXAMPLE", "sessionContext"=>{ "attributes"=>{ "mfaAuthenticated"=>"false", "creationDate"=>"2023-7-01T00:24:36Z" }, "sessionIssuer"=>{ "type"=>"Role", "principalId"=>"AROAJVHBZWD3DN6CI2MHM", "arn"=>"arn:aws:iam::123456789012:role/MyRole", "accountId"=>"123456789012", "userName"=>"MyRole" } } }, "eventTime"=>"2023-7-01T00:24:36Z", "eventSource"=>"xray.amazonaws.com", "eventName"=>"GetEncryptionConfig", "awsRegion"=>"us-east-2", "sourceIPAddress"=>"33.255.33.255", "userAgent"=>"aws-sdk-ruby2/2.11.19 ruby/2.3.1 x86_64-linux", "requestParameters"=>nil, "responseElements"=>nil, "requestID"=>"3fda699a-32e7-4c20-37af-edc2be5acbdb", "eventID"=>"039c3d45-6baa-11e3-2f3e-e5a036343c9f", "eventType"=>"AwsApiCall", "recipientAccountId"=>"123456789012" }

資料事件範例,PutTraceSegments

以下是中 X-Ray PutTraceSegments 資料事件記錄項目的範例 CloudTrail。

{ "eventVersion": "1.09", "userIdentity": { "type": "AssumedRole", "principalId": "AROAWYXPW54Y4NEXAMPLE:i-0dzz2ac111c83zz0z", "arn": "arn:aws:sts::012345678910:assumed-role/my-service-role/i-0dzz2ac111c83zz0z", "accountId": "012345678910", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAWYXPW54Y4NEXAMPLE", "arn": "arn:aws:iam::012345678910:role/service-role/my-service-role", "accountId": "012345678910", "userName": "my-service-role" }, "attributes": { "creationDate": "2024-01-22T17:34:11Z", "mfaAuthenticated": "false" }, "ec2RoleDelivery": "2.0" } }, "eventTime": "2024-01-22T18:22:05Z", "eventSource": "xray.amazonaws.com", "eventName": "PutTraceSegments", "awsRegion": "us-west-2", "sourceIPAddress": "198.51.100.0", "userAgent": "aws-sdk-ruby3/3.190.0 md/internal ua/2.0 api/xray#1.0.0 os/linux md/x86_64 lang/ruby#2.7.8 md/2.7.8 cfg/retry-mode#legacy", "requestParameters": { "traceSegmentDocuments": [ "trace_id:1-00zzz24z-EXAMPLE4f4e41754c77d0000", "trace_id:1-00zzz24z-EXAMPLE4f4e41754c77d0000", "trace_id:1-00zzz24z-EXAMPLE4f4e41754c77d0001", "trace_id:1-00zzz24z-EXAMPLE4f4e41754c77d0002" ] }, "responseElements": { "unprocessedTraceSegments": [] }, "requestID": "5zzzzz64-acbd-46ff-z544-451a3ebcb2f8", "eventID": "4zz51z7z-77f9-44zz-9bd7-6c8327740f2e", "readOnly": false, "resources": [ { "type": "AWS::XRay::Trace" } ], "eventType": "AwsApiCall", "managementEvent": false, "recipientAccountId": "012345678910", "eventCategory": "Data", "tlsDetails": { "tlsVersion": "TLSv1.2", "cipherSuite": "ZZZZZ-RSA-AAA128-GCM-SHA256", "clientProvidedHostHeader": "example.us-west-2.xray.cloudwatch.aws.dev" } }