

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

# 的安全最佳實務 AWS IoT Greengrass
<a name="security-best-practices"></a>

本主題包含 的安全最佳實務 AWS IoT Greengrass。

## 盡可能授予最低的許可
<a name="least-privilege"></a>

以無權限使用者身分執行元件的最低權限原則。除非絕對必要，否則元件不應以根執行。

在 IAM 角色中使用一組最低許可。限制對 IAM 政策中的 `Action`和 `Resource` 屬性使用`*`萬用字元。相反地，在可能的情況下，宣告一組有限的動作和資源。如需最低權限和其他原則最佳實務的詳細資訊，請參閱 [政策最佳實務](security_iam_id-based-policy-examples.md#security_iam_service-with-iam-policy-best-practices)。

最低權限最佳實務也適用於您連接至 Greengrass 核心 AWS IoT 的政策。

## 請勿在 Greengrass 元件中硬式編碼登入資料
<a name="no-hardcoded-credentials"></a>

請勿在使用者定義的 Greengrass 元件中硬式編碼登入資料。為了更妥善地保護您的登入資料：
+ 若要與服務互動 AWS ，請在 [Greengrass 核心裝置服務角色](device-service-role.md)中定義特定動作和資源的許可。
+ 使用[秘密管理員元件](secret-manager-component.md)來存放您的登入資料。或者，如果函數使用 AWS SDK，請使用預設登入資料提供者鏈結中的登入資料。

## 請勿記錄敏感資訊
<a name="protect-pii"></a>

您應該防止記錄登入資料和其他個人識別資訊 (PII)。即使存取核心裝置上的本機日誌需要根權限，而且存取 CloudWatch Logs 需要 IAM 許可，仍建議您實作下列保護措施。
+ 請勿在 MQTT 主題路徑中使用敏感資訊。
+ 請勿在 AWS IoT Core 登錄中的裝置 (物件) 名稱、類型和屬性中使用敏感資訊。
+ 請勿在使用者定義的 Greengrass 元件或 Lambda 函數中記錄敏感資訊。
+ 請勿在 Greengrass 資源的名稱和 ID 中使用敏感資訊：
  + 核心裝置
  + 元件
  + 部署
  + Loggers

## 讓裝置的時鐘保持同步
<a name="device-clock"></a>

在裝置上保持準確的時間是很重要的。X.509 憑證具到期日期和時間。裝置上的時鐘用來驗證伺服器憑證是否仍然有效。裝置時鐘可能會隨著時間而偏移，或是電池可能會放電。

如需詳細資訊，請參閱《 [ 開發人員指南》中的保持裝置的時鐘同步](https://docs.aws.amazon.com/iot/latest/developerguide/security-best-practices.html#device-clock)最佳實務。 *AWS IoT Core *

## 密碼套件建議
<a name="cipher-suites"></a>

Greengrass 預設會選取裝置上可用的最新 TLS 密碼套件。考慮在裝置上停用舊版密碼套件。例如，CBC 密碼套件。

如需詳細資訊，請參閱 [Java 密碼編譯組態](https://www.java.com/configure_crypto.html)。

## 另請參閱
<a name="security-best-practices-see-also"></a>
+ 《 *AWS IoT 開發人員指南*》[中的 安全最佳實務 AWS IoT Core](https://docs.aws.amazon.com/iot/latest/developerguide/security-best-practices.html) 
+ * AWS 物聯網官方部落格*上[工業 IoT 解決方案的十項安全黃金規則](https://aws.amazon.com/blogs/iot/ten-security-golden-rules-for-industrial-iot-solutions/) 