使用 記錄 AWS IoT API通話 AWS CloudTrail - AWS IoT Core

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

使用 記錄 AWS IoT API通話 AWS CloudTrail

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

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

AWS IoT 中的資訊 CloudTrail

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

如需您 AWS 帳戶帳戶中正在進行事件的記錄 (包含 AWS IoT的事件),請建立追蹤。追蹤可讓 CloudTrail 將日誌檔案交付至 Amazon S3 儲存貯體。根據預設,當您在主控台中建立追蹤時,追蹤會套用至所有 AWS 區域。追蹤會記錄 AWS 分割區 AWS 區域中所有 的事件,並將日誌檔案傳送至您指定的 Amazon S3 儲存貯體。您可以設定其他服務 AWS ,以進一步分析 CloudTrail 日誌中收集的事件資料並對其採取行動。如需詳細資訊,請參閱:

注意

AWS IoT 不會記錄資料平面動作 (裝置端) CloudTrail。使用 CloudWatch 來監控這些動作。

一般而言, 會記錄進行變更的 AWS IoT 控制平面動作 CloudTrail。例如 CreateThingCreateKeysAndCertificate和 等呼叫UpdateCertificate會留下 CloudTrail 項目,而例如 ListThingsListTopicRules 等呼叫則不會。

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

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

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

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

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

AWS IoT 動作記錄在AWS IoT API參考 中。 AWS IoT 無線動作記錄在AWS IoT 無線API參考 中。

了解 AWS IoT 日誌檔案項目

追蹤是一種組態,可讓您將事件作為日誌檔案交付至您指定的 Amazon S3 儲存貯體。 CloudTrail 日誌檔案包含一或多個日誌項目。事件代表來自任何來源的單一請求,並包含所請求動作、動作日期和時間、請求參數等資訊。 CloudTrail log 檔案不是公開API呼叫的有序堆疊追蹤,因此它們不會以任何特定順序顯示。

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

{ "timestamp":"1460159496", "AdditionalEventData":"", "Annotation":"", "ApiVersion":"", "ErrorCode":"", "ErrorMessage":"", "EventID":"8bff4fed-c229-4d2d-8264-4ab28a487505", "EventName":"AttachPolicy", "EventTime":"2016-04-08T23:51:36Z", "EventType":"AwsApiCall", "ReadOnly":"", "RecipientAccountList":"", "RequestID":"d4875df2-fde4-11e5-b829-23bf9b56cbcd", "RequestParamters":{ "principal":"arn:aws:iot:us-east-1:123456789012:cert/528ce36e8047f6a75ee51ab7beddb4eb268ad41d2ea881a10b67e8e76924d894", "policyName":"ExamplePolicyForIoT" }, "Resources":"", "ResponseElements":"", "SourceIpAddress":"52.90.213.26", "UserAgent":"aws-internal/3", "UserIdentity":{ "type":"AssumedRole", "principalId":"AKIAI44QH8DHBEXAMPLE", "arn":"arn:aws:sts::12345678912:assumed-role/iotmonitor-us-east-1-beta-InstanceRole-1C5T1YCYMHPYT/i-35d0a4b6", "accountId":"222222222222", "accessKeyId":"access-key-id", "sessionContext":{ "attributes":{ "mfaAuthenticated":"false", "creationDate":"Fri Apr 08 23:51:10 UTC 2016" }, "sessionIssuer":{ "type":"Role", "principalId":"AKIAI44QH8DHBEXAMPLE", "arn":"arn:aws:iam::123456789012:role/executionServiceEC2Role/iotmonitor-us-east-1-beta-InstanceRole-1C5T1YCYMHPYT", "accountId":"222222222222", "userName":"iotmonitor-us-east-1-InstanceRole-1C5T1YCYMHPYT" } }, "invokedBy":{ "serviceAccountId":"111111111111" } }, "VpcEndpointId":"" }