本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon IoT Greengrass 的安全最佳实践
本主题包含 Amazon IoT Greengrass 的安全最佳实践。
授予可能的最低权限
以非特权用户身份运行组件,遵循最低权限原则。除非绝对必要,否则组件不应以 root 身份运行。
在 IAM 角色中使用最低权限集。限制使用*
的通配符Action
和Resource
您的 IAM 策略中的属性。而是在可能的情况下声明一组有限的操作和资源。有关最低权限和其他策略最佳实践的更多信息,请参阅 策略最佳实践。
最低权限最佳做法也适用于Amazon IoT你附加到你的 Greengrass 核心的政策。
不要在 Greengrass 组件中对凭据进行硬编码
不要在用户定义的 Greengrass 组件中对凭据进行硬编码。为了更好地保护您的凭证:
-
与之互动Amazon服务,在中定义特定操作和资源的权限Greengrass 核心设备服务角色。
-
使用秘密管理器组件来存储您的凭证。或者,如果该函数使用AmazonSDK,使用来自默认凭证提供商链的凭证。
不要记录敏感信息
您应该禁止记录凭证和其他个人身份信息 (PII)。即使访问核心设备上的本地日志需要 root 权限和访问权限,我们也建议您实施以下安全措施 CloudWatch 日志需要 IAM 权限。
-
不要在 MQTT 主题路径中使用敏感信息。
-
不要在 Amazon IoT Core 注册表中的设备(事物)名称、类型和属性中使用敏感信息。
-
不要在用户定义的 Greengrass 组件或 Lambda 函数中记录敏感信息。
-
不要在 Greengrass 资源的名称和 ID 中使用敏感信息:
-
核心设备
-
组件
-
部署
-
日志记录程序
-
使设备时钟保持同步
请务必确保您的设备上有准确的时间。X.509 证书具有到期日期和时间。设备上的时钟用于验证服务器证书是否仍有效。设备时钟可能会在一段时间后出现偏差,或者电池可能会放电。
有关更多信息,请参阅保持设备的时钟同步中的最佳实践Amazon IoT Core开发者指南。
密码套件推荐
Greengrass 默认选择设备上可用的最新 TLS 密码套件。考虑在设备上禁用传统密码套件的使用。例如,CBC 密码套件。
有关更多信息,请参阅Java 密码学配置
另请参阅
-
中的安全最佳实践Amazon IoT Core在Amazon IoT开发者指南
-
工业物联网解决方案的十大安全黄金法则
在开启物联网Amazon官方博客