本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
中的代码完整性 AWS IoT Greengrass V2
AWS IoT Greengrass AWS Cloud 将软件组件从部署到运行 AWS IoT Greengrass Core 软件的设备。这些软件组件包括AWS提供的组件和您上传到您的 AWS 账户的自定义组件。每个组件都包含一个配方。该配方定义组件的元数据和任意数量的构件,即组件二进制文件,例如编译后的代码和静态资源。组件构件存储在 Amazon S3 中。
在开发和部署 Greengrass 组件时,您需要遵循以下基本步骤,这些步骤适用于您和设备上的 AWS 账户 组件工件:
-
创建项目并将其上传到 S3 桶。
-
根据 AWS IoT Greengrass 服务中的配方和工件创建组件,该组件将计算每个工件的加密哈希值
。 -
将组件部署到 Greengrass 核心设备,由其下载并验证每个构件的完整性。
AWS 负责在您将项目上传到 S3 存储桶后(包括将组件部署到 Greengrass 核心设备时)保持工件的完整性。您负责在将软件构件上传到 S3 桶之前保护构件。您还负责保护对您的资源进行访问的安全 AWS 账户,包括您上传组件项目的 S3 存储桶。
注意
Amazon S3 提供了一项名为 S3 对象锁定的功能,您可以使用该功能来防止 S3 存储桶中的组件工件发生更改。 AWS 账户您可以使用 S3 对象锁定来防止删除或覆盖组件构件。有关更多信息,请参阅 Amazon Simple Storage Service 用户指南中的使用 S3 对象锁定。
AWS 发布公共组件和上传自定义组件时, AWS IoT Greengrass 会计算每个组件工件的加密摘要。 AWS IoT Greengrass 更新组件配方以包括每个工件的摘要和用于计算该摘要的哈希算法。此摘要可以保证工件的完整性,因为如果工件在下载过程中 AWS Cloud 或下载过程中发生变化,则其文件摘要将与 AWS IoT Greengrass 存储在组件配方中的摘要不匹配。有关更多信息,请参阅组件配方参考中的构件。
当您将组件部署到核心设备时,C AWS IoT Greengrass ore 软件会下载组件配方和配方定义的每个组件工件。 AWS IoT Greengrass Core 软件计算每个下载的工件文件的摘要,并将其与配方中该工件的摘要进行比较。如果摘要不匹配,则部署将失败, AWS IoT Greengrass Core 软件会从设备的文件系统中删除下载的工件。有关如何保护核心设备与之间的连接的更多信息,请参阅传输中加密。 AWS IoT Greengrass
您负责保护核心设备文件系统中的组件构件文件。 AWS IoT Greengrass 核心软件会将工件保存到 Greengrass 根packages
文件夹中的文件夹。您可以使用 AWS IoT Device Defender 分析、审计和监控核心设备。有关更多信息,请参阅 中的配置和漏洞分析 AWS IoT Greengrass。