AWS IoT Greengrass V2 におけるコードの整合性 - AWS IoT Greengrass

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS IoT Greengrass V2 におけるコードの整合性

AWS IoT Greengrass は、AWS クラウド からのソフトウェアコンポーネントを AWS IoT Greengrass Coreコアソフトウェアを実行するデバイスにデプロイします。これらのソフトウェアコンポーネントには、AWS から提供されるコンポーネントと、ユーザーが AWS アカウント にアップロードするカスタムコンポーネントが含まれます。すべてのコンポーネントは、レシピで構成されます。レシピは、コンポーネントのメタデータと任意の数のアーティファクトを定義します。アーティファクトとは、コンパイルされたコードや静的リソースなどのコンポーネントバイナリです。コンポーネントアーティファクトは Amazon S3 に保存されます。

Greengrass コンポーネントを開発しデプロイする際には、AWS アカウント 内とデバイス上にあるコンポーネントアーティファクトを扱った、次の簡単な手順に従ってください。

  1. アーティファクトを作成し、S3 バケットにアップロードします。

  2. AWS IoT Greengrass サービスのレシピとアーティファクトからコンポーネントを作成します。これにより、各アーティファクトの暗号ハッシュが計算されます。

  3. Greengrass コアデバイスにコンポーネントをデプロイします。これにより Greengrass コアデバイスが各アーティファクトをダウンロードし、整合性を検証します。

AWS は、S3 バケットにアーティファクトをアップロードした後に、アーティファクトの整合性を維持する責任を担っており、これには Greengrass コアデバイスにコンポーネントをデプロイする場合も含まれます。S3 バケットにアーティファクトをアップロードする前は、ソフトウェアのアーティファクトを保護する責任はユーザーにあります。また、ユーザーには、AWS アカウント 内のリソースへのアクセスを保護する責任もあります。これには、コンポーネントアーティファクトをアップロードする S3 バケットを含まれます。

注記

Amazon S3 では S3 オブジェクトロックと呼ばれる機能が提供されており、ユーザーはこれを利用して、AWS アカウント の S3 バケット内のコンポーネントアーティファクトに対する変更から保護することができます。S3 オブジェクトロックを使用することで、コンポーネントのアーティファクトが削除または上書きされるのを防止することができます。詳細については、「Amazon Simple Storage Service ユーザーガイド」の「S3 オブジェクトロックを使用する」を参照してください。

AWS がパブリックコンポーネントをパブリッシュするとき、およびカスタムコンポーネントをアップロードするときには、AWS IoT Greengrass が各コンポーネントアーティファクトに対する暗号ダイジェストを計算します。AWS IoT Greengrass は、各アーティファクトのダイジェストとそのダイジェストを計算するために使用されるハッシュアルゴリズムが含まれるように、コンポーネントレシピを更新します。このダイジェストにより、成果物の完全性が保証される。なぜなら、もしアーティファクトが AWS クラウド 内やダウンロード中に変更されると、そのファイルダイジェストは、AWS IoT Greengrass がコンポーネントレシピに保存するダイジェストと一致しなくなるからです。詳細については、「コンポーネントレシピリファレンスのアーティファクト」を参照してください。

コアデバイスにコンポーネントをデプロイすると、AWS IoT Greengrass コアソフトウェアが、コンポーネントレシピと、レシピが定義するコンポーネントアーティファクトをダウンロードします。AWS IoT Greengrass コアソフトウェアは、ダウンロードされた各アーティファクトファイルのダイジェストを計算し、レシピ内のアーティファクトのダイジェストと比較します。ダイジェストが一致しない場合、デプロイは失敗となり、AWS IoT Greengrass コアソフトウェアは、ダウンロードしたアーティファクトをデバイスのファイルシステムから削除します。コアデバイスと AWS IoT Greengrass 間の接続がどのように保護されているかの詳細については、「転送中の暗号化」を参照してください。

コアデバイスのファイルシステム上にあるコンポーネントアーティファクトファイルを保護する責任は、ユーザーが担います。AWS IoT Greengrass コアソフトウェアは、アーティファクトを Greengrass ルートフォルダにある packages フォルダに保存します。AWS IoT Device Defender を使用して、コアデバイスの分析、監査および監視を実行することができます。詳細については、「AWS IoT Greengrass での設定と脆弱性の分析」を参照してください。