使用記錄 AWS IoT Greengrass V2 API 呼叫 AWS CloudTrail - AWS IoT Greengrass

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

使用記錄 AWS IoT Greengrass V2 API 呼叫 AWS CloudTrail

AWS IoT Greengrass V2 與 (提供中的使用者 AWS CloudTrail、角色或服務所採取的動作記錄) 的 AWS 服務整合 AWS IoT Greengrass Version 2。 CloudTrail 擷取 AWS IoT Greengrass 作為事件的所有 API 呼叫。擷取的呼叫包括來自 AWS IoT Greengrass 主控台的呼叫和 AWS IoT Greengrass API 作業的程式碼呼叫。

如果您建立追蹤,您可以啟用 CloudTrail 事件持續傳遞至 S3 儲存貯體,包括 AWS IoT Greengrass. 如果您未設定追蹤,您仍然可以在 [事件歷程記錄] 中檢視 CloudTrail 主控台中最近的事件。使用收集的資訊 CloudTrail,您可以判斷提出的要求 AWS IoT Greengrass、提出要求的 IP 位址、提出要求的人員、提出要求的時間,以及其他詳細資訊。

若要取得有關的更多資訊 CloudTrail,請參閱AWS CloudTrail 使用者指南

AWS IoT Greengrass V2 中的資訊 CloudTrail

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

對於您的事件的持續記錄 AWS 帳戶,包括事件 AWS IoT Greengrass,請創建一個跟踪。追蹤可 CloudTrail 將日誌檔傳遞至 S3 儲存貯體。根據預設,當您在主控台中建立追蹤時,追蹤會套用至所有 AWS 區域項目。追蹤記錄來自 AWS 分割區中所有區域的事件,並將日誌檔傳送到您指定的 S3 儲存貯體。此外,您還可以設定其他 AWS 服務,以進一步分析 CloudTrail 記錄中收集的事件資料並採取行動。如需詳細資訊,請參閱下列內容:

所有 AWS IoT Greengrass V2 動作均由「API 參考」記錄 CloudTrail 並記錄在「AWS IoT Greengrass V2 API 參考」中。例如,呼叫CreateDeploymentCancelDeployment動作會CreateComponentVersion在 CloudTrail 記錄檔中產生項目。

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

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

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

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

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

AWS IoT Greengrass 資料事件 CloudTrail

料事件提供在資源上或在資源中執行之資源作業的相關資訊 (例如,取得元件版本或部署的組態)。這些也稱為資料平面操作。資料事件通常是大量資料的活動。依預設, CloudTrail 不會記錄資料事件。 CloudTrail 事件歷史記錄不會記錄數據事件。

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

您可以使用 CloudTrail 主控台或 CloudTrail API 作業記錄 AWS IoT Greengrass 資源類型的資料事件。 AWS CLI此段落中的表格顯示可用的資源類型 AWS IoT Greengrass。

  • 若要使用 CloudTrail 主控台記錄資料事件,請建立追蹤事件資料存放區以記錄資料事件,或更新現有追蹤或事件資料存放區以記錄資料事件。

    1. 選擇 [資料事件] 以記錄資料事件。

    2. 從 [資料事件類型] 清單中,選擇您要記錄其資料事件的資源類型。

    3. 選擇您要使用的記錄選取器範本。您可以記錄資源類型的所有資料事件、記錄所有readOnly事件、記錄所有writeOnly事件,或建立自訂記錄選取器範本以篩選readOnlyeventName、和resources.ARN欄位。

  • 若要使用記錄資料事件 AWS CLI,請配置--advanced-event-selectors參數以將eventCategory欄位設定為等於,Dataresources.type欄位等於資源類型值 (請參閱表格)。您可以加入條件以篩選readOnlyeventName、和resources.ARN欄位的值。

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

資料事件類型 (主控台) resources.type 值 記錄到的資料 API CloudTrail
IoT 證書 AWS::IoT::Certificate
  • VerifyClientDeviceIdentity

  • VerifyClientDeviceIoTCertificateAssociation

IoT Greengrass 件版本 AWS::GreengrassV2::ComponentVersion
IoT 環境部署 AWS::GreengrassV2::Deployment
  • GetDeploymentConfiguration

IoT 的事 AWS::IoT::Thing
  • ListThingGroupsForCoreDevices

  • PutCertificateAuthorities

  • VerifyClientDeviceIoTCertificateAssociation

注意

Greengrass 不會記錄訪問被拒絕的事件。

您可以設定進階事件選取器來篩選eventNamereadOnly、和resources.ARN欄位,以僅記錄對您很重要的事件。

在上新增篩選器eventName以包含或排除特定資料 API。

如需有關這些欄位的詳細資訊,請參閱 AdvancedFieldSelector

下列範例顯示如何使用設定進階選取器 AWS CLI。用您自己的信息替換TrailName區域

範例 — 記錄 IoT 事件的數據事件
aws cloudtrail put-event-selectors --trail-name TrailName --region region \ --advanced-event-selectors \ ‘[ { “Name”: “Log all thing data events”, “FieldSelectors”: [ { “Field”: “eventCategory”, “Equals”: [“Data”] }, { “Field”: “resources.type”, “Equals”: [“AWS::IoT::Thing”] } ] } ]’
範例 — 在特定的 IoT 事物 API 上進行過濾
aws cloudtrail put-event-selectors --trail-name TrailName --region region \ --advanced-event-selectors \ ‘[ { “Name”: “Log IoT Greengrass PutCertificateAuthorities API calls”, “FieldSelectors”: [ { “Field”: “eventCategory”, “Equals”: [“Data”] }, { “Field”: “resources.type”, “Equals”: [“AWS::IoT::Thing”] }, { “Field”: “eventName”, “Equals”: [“PutCertificateAuthorities”] } ] } ]’
範例 -記錄所有 Greengrass 數據事件
aws cloudtrail put-event-selectors --trail-name TrailName --region region \ --advanced-event-selectors \ ‘[ { “Name”: “Log all certificate data events”, “FieldSelectors”: [ { “Field”: “eventCategory”, “Equals”: [ “Data” ] }, { “Field”: “resources.type”, “Equals”: [ “AWS::IoT::Certificate” ] } ] }, { “Name”: “Log all component version data events”, “FieldSelectors”: [ { “Field”: “eventCategory”, “Equals”: [ “Data” ] }, { “Field”: “resources.type”, “Equals”: [ “AWS::GreengrassV2::ComponentVersion” ] } ] }, { “Name”: “Log all deployment version”, “FieldSelectors”: [ { “Field”: “eventCategory”, “Equals”: [ “Data” ] }, { “Field”: “resources.type”, “Equals”: [ “AWS::GreengrassV2::Deployment” ] } ] }, { “Name”: “Log all thing data events”, “FieldSelectors”: [ { “Field”: “eventCategory”, “Equals”: [ “Data” ] }, { “Field”: “resources.type”, “Equals”: [ “AWS::IoT::Thing” ] } ] } ]’

AWS IoT Greengrass 管理事件 CloudTrail

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

AWS IoT Greengrass 將所有 AWS IoT Greengrass 控制平面作業記錄為管理事件。如需記 AWS IoT Greengrass 錄到的 AWS IoT Greengrass 控制平面作業清單 CloudTrail,請參閱 AWS IoT Greengrass API 參考資料版本 2

瞭解 AWS IoT Greengrass V2 記錄檔項目

追蹤是一種組態,可讓事件以日誌檔的形式傳遞至您指定的 S3 儲存貯體。 CloudTrail 記錄檔包含一或多個記錄項目。事件代表來自任何來源的單一請求。它包括請求的動作、動作的日期和時間、請求參數等相關資訊。 CloudTrail 日誌文件不是公共 API 調用的有序堆棧跟踪,因此它們不會以任何特定順序顯示。

下列範例顯示示範CreateDeployment動作的 CloudTrail 記錄項目。

{ "eventVersion": "1.08", "userIdentity": { "type": "IAMUser", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::123456789012:user/Administrator", "accountId": "123456789012", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "Administrator" }, "eventTime": "2021-01-06T02:38:05Z", "eventSource": "greengrass.amazonaws.com", "eventName": "CreateDeployment", "awsRegion": "us-west-2", "sourceIPAddress": "203.0.113.0", "userAgent": "aws-cli/2.1.9 Python/3.7.9 Windows/10 exe/AMD64 prompt/off command/greengrassv2.create-deployment", "requestParameters": { "deploymentPolicies": { "failureHandlingPolicy": "DO_NOTHING", "componentUpdatePolicy": { "timeoutInSeconds": 60, "action": "NOTIFY_COMPONENTS" }, "configurationValidationPolicy": { "timeoutInSeconds": 60 } }, "deploymentName": "Deployment for MyGreengrassCoreGroup", "components": { "aws.greengrass.Cli": { "componentVersion": "2.0.3" } }, "iotJobConfiguration": {}, "targetArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/MyGreengrassCoreGroup" }, "responseElements": { "iotJobArn": "arn:aws:iot:us-west-2:123456789012:job/fdfeba1d-ac6d-44ef-ab28-54f684ea578d", "iotJobId": "fdfeba1d-ac6d-44ef-ab28-54f684ea578d", "deploymentId": "4196dddc-0a21-4c54-a985-66a525f6946e" }, "requestID": "311b9529-4aad-42ac-8408-c06c6fec79a9", "eventID": "c0f3aa2c-af22-48c1-8161-bad4a2ab1841", "readOnly": false, "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "123456789012" }