安全隧道 - 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

Type

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

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

作業系統

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

架構:

  • 阿尔姆维 71 号

  • Armv8 (AArch64)

  • x86_64

要求

此元件具有下列需求:

  • 安全通道元件可用的最少 32 MB 磁碟空間。此要求不包括 Greengrass 核心軟體或在相同裝置上執行的其他元件。

  • 安全通道元件至少有 16 MB RAM 可用。此要求不包括 Greengrass 核心軟體或在相同裝置上執行的其他元件。如需詳細資訊,請參閱 使用 JVM 選項控制內存分配

  • 安全通道元件版本 1.0.12 及以上版本需要使用 GNU C 程式庫 (glibc) 2.25 版或更高版本,且 Linux 核心為 3.2 或更高版本。不支援超過其長期支援生命週期結束日期的作業系統和程式庫版本。您應該使用具有長期支持的操作系統和庫。

  • 作業系統和 Java 執行階段都必須安裝為 64 位元。

  • 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.19

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

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

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

相依性 兼容版本 相依性類型
Greengrass 核 > = 2.0.0 軟式
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 <2.11.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
若要檢視此元件的記錄
  • 在核心裝置上執行下列命令,即時檢視此元件的記錄檔。以 AWS IoT Greengrass 根資料夾的路徑取/greengrass/v2代。

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

授權

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

用量

若要使用裝置上的安全通道元件,請執行下列動作:

  1. 將安全通道元件部署到您的裝置。

  2. 開啟 AWS IoT 主控台。從左側功能表中選擇 [遠端動作],然後選擇 [安全通道]。

  3. 創建一個通往您的綠色設備的隧道。

  4. 下載源訪問令牌。

  5. 使用本地代理與源訪問令牌連接到您的目的地。如需詳細資訊,請參閱AWS IoT 開發人員指南中的如何使用本機 Proxy

另請參閱

變更記錄

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

版本

變更

1.0.19

錯誤修復和改進
  • 將元件叫用的基礎AWS IoT 裝置用戶端從 1.8.0 版升級至版本 1.9.0。

  • 將並行通道限制增加到元件層級上的 20 個通道。

  • 將預設的 AWS IoT Greengrass 核心 IPC 逾時時間從 3 秒增加到 10 秒。

警告

如果您使用安全通道本機 Proxy 做為通道來源用戶端,請在您同時將本機 Proxy 升級至 3.1.1 版或更新版本之前,請勿將元件更新至此版本。

1.0.18

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

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

初始版本。