使用記錄 Amazon EC2 API 呼叫 AWS CloudTrail - Amazon Elastic Compute Cloud

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

使用記錄 Amazon EC2 API 呼叫 AWS CloudTrail

Amazon EC2 API 與服務集成在一起 AWS CloudTrail,該服務可提供用戶,角色或 AWS 服務. CloudTrail 將所有 Amazon EC2 API 呼叫作為事件捕獲。捕獲的呼叫包括控制台發出的呼叫。使用收集的資訊 CloudTrail,您可以判斷向 Amazon 發出的請求EC2API、提出請求的 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 Lake 可讓您針對事件執行SQL基於查詢。 CloudTrail 湖泊將基於行的JSON格式現有的事件轉換為 Apache ORC 格式。ORC是一種針對快速擷取資料進行最佳化的單欄式儲存格式。系統會將事件彙總到事件資料存放區中,事件資料存放區是事件的不可變集合,其依據為您透過套用進階事件選取器選取的條件。套用於事件資料存放區的選取器控制哪些事件持續存在並可供您查詢。若要取得有關 CloudTrail Lake 的更多資訊,請參閱使用指南中的〈AWS CloudTrail 使用 AWS CloudTrail Lake

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

Amazon EC2 API 管理事件 CloudTrail

管理事件提供有關在您的資源上執行的管理作業的資訊 AWS 帳戶。這些也稱為控制平面操作。依預設,會 CloudTrail 記錄管理事件。

所有 Amazon EC2 API 動作都會記錄為管理事件。如需記錄到的API動作清單 CloudTrail,請參閱 Amazon EC2 API 參考。例如,對RunInstancesDescribeInstances、和StopInstances動作的呼叫會記錄為管理事件。

Amazon EC2 API 活動示例

事件代表來自任何來源的單一請求,包括有關請求的API操作,操作的日期和時間,請求參數等信息。 CloudTrail 日誌文件不是公共API調用的有序堆棧跟踪,因此事件不會以任何特定順序出現。

以下日誌檔記錄顯示某位使用者終止了執行個體。

{ "Records":[ { "eventVersion":"1.03", "userIdentity":{ "type":"Root", "principalId":"123456789012", "arn":"arn:aws:iam::123456789012:root", "accountId":"123456789012", "accessKeyId":"AKIAIOSFODNN7EXAMPLE", "userName":"user" }, "eventTime":"2016-05-20T08:27:45Z", "eventSource":"ec2.amazonaws.com", "eventName":"TerminateInstances", "awsRegion":"us-west-2", "sourceIPAddress":"198.51.100.1", "userAgent":"aws-cli/1.10.10 Python/2.7.9 Windows/7botocore/1.4.1", "requestParameters":{ "instancesSet":{ "items":[{ "instanceId":"i-1a2b3c4d" }] } }, "responseElements":{ "instancesSet":{ "items":[{ "instanceId":"i-1a2b3c4d", "currentState":{ "code":32, "name":"shutting-down" }, "previousState":{ "code":16, "name":"running" } }] } }, "requestID":"be112233-1ba5-4ae0-8e2b-1c302EXAMPLE", "eventID":"6e12345-2a4e-417c-aa78-7594fEXAMPLE", "eventType":"AwsApiCall", "recipientAccountId":"123456789012" } ] }

若要取得有關 CloudTrail 記錄內容的資訊,請參閱AWS CloudTrail 使用指南中的CloudTrail記錄內容。

使用EC2執行個體 Connect 線建立的稽核

您可以使用執 AWS CloudTrail 行個體連線來稽核 Connect 至執行個體的使用EC2者。

使用 AWS CloudTrail 主控台透過EC2執行個體 Connect 稽核SSH活動
  1. 在開啟 CloudTrail 主控台https://console.aws.amazon.com/cloudtrail/

  2. 確認您位於正確的區域。

  3. 在導覽窗格中,選擇 Event history (事件歷史記錄)。

  4. 對於 Filter (篩選條件),請選擇 Event source (事件來源)ec2-instance-connect.amazonaws.com

  5. (選用) 針對 Time range (時間範圍),選取時間範圍。

  6. 選擇 Refresh events (重新整理事件) 圖示。

  7. 此頁面會顯示對應於SendSSHPublicKeyAPI呼叫的事件。使用箭頭展開事件以檢視其他詳細資料,例如用於建立SSH連線的使用者名稱和 AWS 存取金鑰,以及來源 IP 位址。

  8. 若要以JSON格式顯示完整的事件資訊,請選擇 [檢視事件]。此requestParameters欄位包含用來建立SSH連線的目的地執行個體 ID、作業系統使用者名稱和公開金鑰。

    { "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "ABCDEFGONGNOMOOCB6XYTQEXAMPLE", "arn": "arn:aws:iam::1234567890120:user/IAM-friendly-name", "accountId": "123456789012", "accessKeyId": "ABCDEFGUKZHNAW4OSN2AEXAMPLE", "userName": "IAM-friendly-name", "sessionContext": { "attributes": { "mfaAuthenticated": "false", "creationDate": "2018-09-21T21:37:58Z"} } }, "eventTime": "2018-09-21T21:38:00Z", "eventSource": "ec2-instance-connect.amazonaws.com", "eventName": "SendSSHPublicKey ", "awsRegion": "us-west-2", "sourceIPAddress": "123.456.789.012", "userAgent": "aws-cli/1.15.61 Python/2.7.10 Darwin/16.7.0 botocore/1.10.60", "requestParameters": { "instanceId": "i-0123456789EXAMPLE", "osUser": "ec2-user", "SSHKey": { "publicKey": "ssh-rsa ABCDEFGHIJKLMNO01234567890EXAMPLE" } }, "responseElements": null, "requestID": "1a2s3d4f-bde6-11e8-a892-f7ec64543add", "eventID": "1a2w3d4r5-a88f-4e28-b3bf-30161f75be34", "eventType": "AwsApiCall", "recipientAccountId": "0987654321" }

    如果您已將 AWS 帳戶設定為收集 S3 儲存貯體中的 CloudTrail 事件,則可以透過程式設計方式下載和稽核資訊。若要取得更多資訊,請參閱《AWS CloudTrail 使用指南》中的〈取得和檢視 CloudTrail 記錄檔