本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS IoT Greengrass 的安全最佳實務
本主題包含 AWS IoT Greengrass 的安全最佳實務。
盡可能授予最低的許可
請遵循元件的最低權限原則,方法是以無權限的使用者身分執行這些元件。除非絕對必要,否則組件不應以 root 身份運行。
在 IAM 角色中使用最低一組許可。限制使用*
萬用字元Action
和Resource
IAM 政策中的屬性。相反地,在可能的情況下,宣告一組有限的動作和資源。如需最低權限和其他原則最佳實務的詳細資訊,請參閱 政策最佳實務。
最小特權的最佳作法也適用於AWS IoT您附加到格林格拉斯核心的策略。
不要在 Greengrass 組件中對憑據進行硬編碼
不要在用戶定義的 Greengrass 組件中對憑據進行硬編碼。為了更妥善地保護您的登入資料:
-
若要與之互動AWS服務, 定義特定動作和資源的權限格林格拉斯核心裝置服務角色。
-
使用秘密管理器組件儲存您的認證。或者,如果函數使用AWSSDK,使用來自預設認證提供者鏈結的認證。
請勿記錄敏感資訊
您應該防止記錄登入資料和其他個人識別資訊 (PII)。我們建議您實作下列保護措施,即使存取核心裝置上的本機記錄檔需要 root 權限和存取權 CloudWatch 記錄檔需要 IAM 許可。
-
請勿在 MQTT 主題路徑中使用敏感資訊。
-
請勿在 AWS IoT Core 登錄中的裝置 (物件) 名稱、類型和屬性中使用敏感資訊。
-
請勿在使用者定義的 Greengrass 元件或 Lambda 函數中記錄敏感資訊。
-
請勿在 Greengrass 資源的名稱和 ID 中使用敏感資訊:
-
核心裝置
-
元件
-
部署
-
Loggers
-
讓裝置的時鐘保持同步
在裝置上保持準確的時間是很重要的。X.509 憑證具到期日期和時間。裝置上的時鐘用來驗證伺服器憑證是否仍然有效。裝置時鐘可能會隨著時間而偏移,或是電池可能會放電。
如需詳細資訊,請參閱讓裝置的時鐘保持同步最佳做法AWS IoT Core開發者指南。
加密套件建議
格雷格拉斯默認選擇設備上可用的最新 TLS 加密套件。請考慮停用裝置上舊版加密套件的使用。例如,CBC 加密套件。
如需詳細資訊,請參閱Java 密碼編譯組態
另請參閱
-
安全性最佳做法AWS IoT Core在AWS IoT開發者指南
-
工業物聯網解決方案十大安全黃金法則
在物聯網AWS官方部落格