安全隧道 - AWS IoT Greengrass

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

安全隧道

使用aws.greengrass.SecureTunneling元件,您可以與位於受限防火牆後方的 Greengrass 核心裝置建立安全的雙向通訊。

例如,假設您在防火牆後面有一個 Greengrass 核心設備,該設備禁止所有傳入連接。安全通道使用 MQTT 將存取權杖傳輸到裝置,然後使用 WebSockets 透過防火牆與裝置建立 SSH 連線。使用此AWS IoT託管通道,您可以打開設備所需的 SSH 連接。如需使用AWS IoT安全通道連線至遠端裝置的詳細資訊,請參閱開發人員指南中的AWS IoT安全通道。AWS IoT

此元件會根據$aws/things/greengrass-core-device/tunnels/notify主題訂閱 AWS IoT Core MQTT 訊息代理程式,以接收安全通道通知。

版本

此元件具有下列版本:

  • 1.0.x

類型

元件是一般元件 (aws.greengrass.generic)。Greengrass 核會執行元件的生命週期指令碼。

如需詳細資訊,請參閱元件類型

作業系統

此元件只能安裝在 Linux 核心裝置上。

請求

此元件具有下列需求:

  • Python 3.5 或更高版本安裝在核心設備上,並添加到 PATH 環境變量中。

  • libcrypto.so.1.1安裝在 Greengrass 核心裝置上,並新增至 PATH 環境變數。

  • 在 Greengrass 核心裝置上的連接埠 443 上開啟輸出流量。

  • 開啟您要用來與 Greengrass 核心裝置通訊的通訊服務支援。例如,若要開啟與裝置的 SSH 連線,您必須在該裝置上開啟 SSH。

端點和連接埠

除了基本作業所需的端點和連接埠之外,此元件還必須能夠對下列端點和連接埠執行輸出要求。如需詳細資訊,請參閱允許裝置流量透過 Proxy 或防火牆

端點 連線埠 必要 描述

data.tunneling.iot.region.amazonaws.com

443

建立安全的隧道。

相依性

部署元件時,AWS IoT Greengrass也會部署其相依性的相容版本。這表示您必須符合元件及其所有相依性的需求,才能成功部署元件。本節列出此元件之已發行版本的相依性,以及定義每個相依性之元件版本的語意版本條件約束。您也可以在AWS IoT Greengrass主控台中檢視元件每個版本的相依性。在元件詳細資料頁面上,尋找 [相依性] 清單。

1.0.16 – 1.0.17

下表列出此元件 1.0.16 至 1.0.17 版的相依性。

相依性 兼容版本 相依性類型
Greengrass 核 > = 2.0.0 軟式
1.0.14 – 1.0.15

下表列出此元件 1.0.14 至 1.0.15 版的相依性。

相依性 兼容版本 相依性類型
Greengrass 核 > = 2.0.0 軟式
1.0.11 – 1.0.13

下表列出此元件 1.0.11 — 1.0.13 版本的相依性。

相依性 兼容版本 相依性類型
Greengrass 核 > = 2.0.0 軟式
1.0.10

下表列出此元件 1.0.10 版的相依性。

相依性 兼容版本 相依性類型
Greengrass 核 > = 2.0.0 軟式
1.0.9

下表列出此元件 1.0.9 版的相依性。

相依性 兼容版本 相依性類型
Greengrass 核 > = 2.0.0 軟式
1.0.8

下表列出此元件 1.0.8 版的相依性。

相依性 兼容版本 相依性類型
Greengrass 核 > = 2.0.0 軟式
1.0.5 - 1.0.7

下表列出此元件 1.0.5 到 1.0.7 版的相依性。

相依性 兼容版本 相依性類型
Greengrass 核 >=2.0.0 軟式
1.0.4

下表列出此元件 1.0.4 版的相依性。

相依性 兼容版本 相依性類型
Greengrass 核 > = 2.0.0 軟式
1.0.3

下表列出此元件 1.0.3 版的相依性。

相依性 兼容版本 相依性類型
Greengrass 核 > = 2.0.0 軟式
1.0.2

下表列出此元件 1.0.2 版的相依性。

相依性 兼容版本 相依性類型
Greengrass 核 > = 2.0.0 軟式
1.0.1

下表列出此元件 1.0.1 版的相依性。

相依性 兼容版本 相依性類型
Greengrass 核 > = 2.0.0 軟式
1.0.0

下表列出此元件 1.0.0 版的相依性。

相依性 兼容版本 相依性類型
Greengrass 核 > = 2.0.3 軟式

如需有關元件相依性的詳細資訊,請參閱元件方案參考

組態

此元件提供下列組態參數,您可以在部署元件時自訂這些參數。

OS_DIST_INFO

(選擇性) 核心裝置的作業系統。根據預設,元件會嘗試自動識別核心裝置上執行的作業系統。如果元件無法以預設值啟動,請使用此值來指定作業系統。如需此元件支援的作業系統清單,請參閱裝置要求

此值可以是下列其中一項:autoubuntuamzn2raspberrypi

預設:auto

accessControl

(選擇性) 包含授權原則的物件,可讓元件訂閱安全通道通知主題。

注意

如果您的部署以物件群組為目標,請勿修改此組態參數。如果您的部署以個別核心裝置為目標,而您想要將其訂閱限制為裝置主題,請指定核心裝置的物件名稱。在裝置授權原則的resources值中,將 MQTT 主題萬用字元取代為裝置的物件名稱。

{ "aws.greengrass.ipc.mqttproxy": { "aws.iot.SecureTunneling:mqttproxy:1": { "policyDescription": "Access to tunnel notification pubsub topic", "operations": [ "aws.greengrass#SubscribeToIoTCore" ], "resources": [ "$aws/things/+/tunnels/notify" ] } } }
範例:組態合併更新

下列範例組態指定允許此元件在執行 Ubuntu 的核心裝置上開啟安全通道。MyGreengrassCore

{ "OS_DIST_INFO": "ubuntu", "accessControl": { "aws.greengrass.ipc.mqttproxy": { "aws.iot.SecureTunneling:mqttproxy:1": { "policyDescription": "Access to tunnel notification pubsub topic", "operations": [ "aws.greengrass#SubscribeToIoTCore" ], "resources": [ "$aws/things/MyGreengrassCore/tunnels/notify" ] } } } }

本機記錄檔

此元件使用下列記錄檔。

/greengrass/v2/logs/aws.greengrass.SecureTunneling.log
若要檢視此元件的記錄
  • 在核心裝置上執行下列命令,即時檢視此元件的記錄檔。將/greengrass/v2 取代為AWS IoT Greengrass根資料夾的路徑。

    sudo tail -f /greengrass/v2/logs/aws.greengrass.SecureTunneling.log

许可证

此元件包括下列協力廠商軟體/授權:

另請參閱

Changelog

下表說明元件每個版本的變更。

版本

變更

1.0.17

錯誤修復和改進
  • 修復了阻止用戶創建隧道的線程清理問題。此元件現在會在收到 CloseTunnel 訊號後或通道在 12 小時後過期時清除執行緒。

1.0.16

版本更新了 Greengrass 核 2.11.0 版本釋放。

1.0.15

錯誤修復和改進
  • 修正裝置上沒有主目錄的使用者啟動問題。安全通道元件現在不建立陰影文件的目錄就會啟動。

1.0.14

版本更新了 Greengrass 2.10.0 版本。

1.0.13

錯誤修復和改進
  • 修正孤立用戶端程序會阻止多個通道鎖定裝置的問題。

1.0.12

錯誤修復和改進
  • 在樹莓派操作系統上運行時添加對 x86_64(AMD64)和 ARMv8(Aarch64)的支持。

1.0.11

版本更新 Greengrass 2.9.0 版本釋放。

1.0.10

版本更新 Greengrass 2.8.0 版本的版本。

1.0.9

版本更新了 Greengrass 核 2.7.0 版本釋放。

1.0.8

版本更新 Greengrass 2.6.0 版本發布。

1.0.7

錯誤修復和改進
  • 修正透過 SCP 傳輸大型檔案時,元件中斷連線的問題。

1.0.6

此版本包含錯誤修復。

1.0.5

版本更新了 Greengrass 核 2.5.0 版本。

1.0.4

版本更新 Greengrass 2.4.0 版本的版本。

1.0.3

版本更新了 Greengrass 核 2.3.0 版本。

1.0.2

版本更新了 Greengrass 核 2.2.0 版本。

1.0.1

版本更新 Greengrass 2.1.0 版本發布。

1.0.0

初始版本。