Device Defender 連接器 - AWS IoT Greengrass

AWS IoT Greengrass Version 1 於 2023 年 6 月 30 日進入延長壽命階段。如需詳細資訊,請參閱 AWS IoT Greengrass V1 維護政策 。在此日期之後, AWS IoT Greengrass V1 不會發佈提供功能、增強功能、錯誤修正或安全修補程式的更新。在 上執行的裝置 AWS IoT Greengrass V1 不會中斷,並會繼續運作和連線至雲端。我們強烈建議您遷移至 AWS IoT Greengrass Version 2,這會新增重要的新功能,並支援其他平台

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

Device Defender 連接器

Device Defender連接器會通知管理員 Greengrass 核心裝置狀態的變更。這可協助識別可能會表示裝置受損的不尋常行為。

此連接器會從核心裝置上的 /proc 目錄讀取系統指標,接著將指標發佈到 AWS IoT Device Defender。如需指標報告詳細資訊,請參裝置指標文件規格中的AWS IoT開發人員指南

此連接器具有下列版本。

版本

ARN

3

arn:aws:greengrass:region::/connectors/DeviceDefender/versions/3

2

arn:aws:greengrass:region::/connectors/DeviceDefender/versions/2

1

arn:aws:greengrass:region::/connectors/DeviceDefender/versions/1

如需版本變更的詳細資訊,請參閱 Changelog

要求

此連接器有下列要求:

Version 3
  • AWS IoT Greengrass 核心軟體 1.9.3 版或更新版本。

  • 蟒蛇3.7 版或 3.8 版已安裝在核心裝置上並已新增至 PATH 環境變數。

    注意

    要使用 Python 3.8,請運行以下命令以創建從默認 Python 3.7 安裝文件夾到已安裝的 Python 3.8 二進制文件的符號鏈接。

    sudo ln -s path-to-python-3.8/python3.8 /usr/bin/python3.7

    這會設定您的裝置以符合 AWS IoT Greengrass 的 Python 需求。

  • AWS IoT Device Defender 設定為使用偵測功能來追蹤違規。如需詳細資訊,請參閱「」偵測中的AWS IoT開發人員指南

  • 一個本機磁盤區資源Greengrass 組中指向/proc目錄。資源必須使用下列屬性:

    • 來源路徑:/proc

    • 目的地路徑:/host_proc (或符合有效模式的值)

    • AutoAddGroupOwner:true

  • 安裝在 Greengrass 核心上的 psutil 程式庫。5.7.0 版是經過驗證,可與連接器搭配使用的最新版本。

  • 安裝在 Greengrass 核心上的 cbor 程式庫。1.0.0 版是經過驗證,可與連接器搭配使用的最新版本。

Versions 1 - 2
  • AWS IoT Greengrass核心軟體 1.7 版或更新版本。

  • 蟒蛇2.7 版已安裝在核心裝置上並已新增至 PATH 環境變數。

  • AWS IoT Device Defender 設定為使用偵測功能來追蹤違規。如需詳細資訊,請參閱「」偵測中的AWS IoT開發人員指南

  • 一個本機磁盤區資源Greengrass 組中指向/proc目錄。資源必須使用下列屬性:

    • 來源路徑:/proc

    • 目的地路徑:/host_proc (或符合有效模式的值)

    • AutoAddGroupOwner:true

  • 安裝在 Greengrass 核心上的 psutil 程式庫。

  • 安裝在 Greengrass 核心上的 cbor 程式庫。

Connector and

此連接器提供下列參數:

SampleIntervalSeconds

蒐集和報告指標每個週期之間的秒數。最低值為 300 秒 (5 分鐘)。

中的顯示名稱AWS IoT主控台:指標報告間隔

:必要true

類型:string

有效模式:^[0-9]*(?:3[0-9][0-9]|[4-9][0-9]{2}|[1-9][0-9]{3,})$

ProcDestinationPath-ResourceId

/proc 磁碟區資源的 ID。

注意

此連接器已授予資源的唯讀存取權。

中的顯示名稱AWS IoT主控台:/proc 目錄的資源

:必要true

類型:string

有效模式:[a-zA-Z0-9_-]+

ProcDestinationPath

/proc 磁碟區資源的目的地路徑。

中的顯示名稱AWS IoT主控台:/proc 資源的目的地路徑

:必要true

類型:string

有效模式:\/[a-zA-Z0-9_-]+

建立範例連接器 (AWS CLI)

下列 CLI 命令會建立ConnectorDefinition,包含 Device Defender 連接器的初始版本。

aws greengrass create-connector-definition --name MyGreengrassConnectors --initial-version '{ "Connectors": [ { "Id": "MyDeviceDefenderConnector", "ConnectorArn": "arn:aws:greengrass:region::/connectors/DeviceDefender/versions/3", "Parameters": { "SampleIntervalSeconds": "600", "ProcDestinationPath": "/host_proc", "ProcDestinationPath-ResourceId": "my-proc-resource" } } ] }'
注意

此連接器中的 Lambda 函數具有長期生命週期。

在 中AWS IoT Greengrass控制台中,您可以從組的連接器(憑證已建立!) 頁面上的名稱有些許差異。如需詳細資訊,請參閱 Greengrass 連接器入門 (主控台)

輸入資料

此連接器不接受 MQTT 消息作為輸入數據。

輸出資料

此連接器會將安全指標發佈到 AWS IoT Device Defender 做為輸出資料。

訂閱中的主題篩選條件

$aws/things/+/defender/metrics/json

注意

這是 AWS IoT Device Defender 需要的主題語法。連接器會將 + 萬用字元換成裝置名稱 (例如,$aws/things/thing-name/defender/metrics/json)。

範例輸出

如需指標報告詳細資訊,請參裝置指標文件規格中的AWS IoT開發人員指南

{ "header": { "report_id": 1529963534, "version": "1.0" }, "metrics": { "listening_tcp_ports": { "ports": [ { "interface": "eth0", "port": 24800 }, { "interface": "eth0", "port": 22 }, { "interface": "eth0", "port": 53 } ], "total": 3 }, "listening_udp_ports": { "ports": [ { "interface": "eth0", "port": 5353 }, { "interface": "eth0", "port": 67 } ], "total": 2 }, "network_stats": { "bytes_in": 1157864729406, "bytes_out": 1170821865, "packets_in": 693092175031, "packets_out": 738917180 }, "tcp_connections": { "established_connections":{ "connections": [ { "local_interface": "eth0", "local_port": 80, "remote_addr": "192.168.0.1:8000" }, { "local_interface": "eth0", "local_port": 80, "remote_addr": "192.168.0.1:8000" } ], "total": 2 } } } }

授權

此連接器在Greengrass Core 軟體授權合約

Changelog

下表描述連接器的每個版本的變更。

版本

變更

3

已將 Lambda 執行時間升級至 Python 3.7,這會改變執行時間要求。

2

可減少過多記錄的修正。

1

初始版本。

Greengrass 羣組一次只能包含連接器的一個版本。若要取得有關升級連接器版本的資訊,請參閱升級連接器版本

另請參閱