デバイスプロビジョニング - AWS IoT Core

デバイスプロビジョニング

AWS では、デバイスをプロビジョニングし、一意のクライアント証明書をデバイスにインストールする方法がいくつか用意されています。このセクションでは、各方法と、IoT ソリューションに最適な方法を選択する方法について説明します。また、意思決定を支援するインタラクティブなツールも提供しています。これらのオプションについては、Device Manufacturing and Provisioning with X.509 Certificates in AWS IoT Core というタイトルのホワイトペーパーで詳しく説明されています。

状況に最も適したオプションを選択してください

  • 証明書は、配送前に IoT デバイスにインストールできます。

    エンドユーザーによる使用のために配送される前に IoT デバイスに一意のクライアント証明書を安全にインストールできる場合は、ジャストインタイムプロビジョニング (JITP) またはジャストインタイム登録 (JITR) を使用する必要があります。

    JITP と JITR を使用して、デバイス証明書の署名に使用される認証機関 (CA) は AWS IoT に登録され、デバイスが最初に接続したときに AWS IoT によって認識されます。デバイスは、プロビジョニングテンプレートの詳細を使用して、最初の接続で AWS IoT でプロビジョニングされます。

    一意の証明書を持つデバイスの単一のモノ、JITP、JITR、およびバルクプロビジョニングの詳細については、デバイス証明書があるデバイスのプロビジョニング を参照してください。

  • エンドユーザーまたはインストーラは、アプリケーションを使用して IoT デバイスに証明書をインストールできます

    エンドユーザーに配信される前に IoT デバイスに一意のクライアント証明書を安全にインストールできないが、エンドユーザーまたはインストーラがアプリケーションを使用してデバイスを登録し、一意のデバイス証明書をインストールできる場合は、信頼できるユーザープロセスによるプロビジョニングを使用する必要があります。

    エンドユーザーや既知のアカウントを持つインストーラなどの信頼できるユーザーを使用すると、デバイスの製造プロセスを簡素化できます。デバイスには、一意のクライアント証明書の代わりに、デバイスが AWS IoT に 5 分間だけ接続できるようにする一時的な証明書があります。この 5 分間で、信頼されたユーザーは有効期限の長い一意のクライアント証明書を取得し、デバイスにインストールします。クレーム証明書には有効期限があるため、証明書のセキュリティが侵害された場合のリスクを最小限は最小限に抑えられます。

    詳細については、「 」を参照してください信頼できるユーザーによるプロビジョニング

  • エンドユーザーは、アプリケーションを使用して IoT デバイスに証明書をインストールすることはできません

    上記のオプションのいずれも IoT ソリューションで機能しない場合は、クレームプロセスによるプロビジョニングを使用します。このプロセスでは、IoT デバイスには、フリート内の他のデバイスによって共有されるクレーム証明書があります。デバイスがクレーム証明書に初めて接続すると、AWS IoT はプロビジョニングテンプレートを使用してデバイスを登録し、その後に AWS IoT にアクセスするためにデバイスに一意のクライアント証明書を発行します

    このオプションを使用すると、デバイスが AWS IoT に接続するときにデバイスの自動プロビジョニングが可能になりますが、クレーム証明書のセキュリティが侵害された場合に大きなリスクが生じる可能性があります。クレーム証明書のセキュリティが侵害された場合は、証明書を無効化できます。クレーム証明書を無効化すると、そのクレーム証明書を持つすべてのデバイスが今後登録されなくなります。ただし、クレーム証明書を無効にしても、既にプロビジョニングされているデバイスはブロックされません。

    詳細については、「 」を参照してくださいクレームによるプロビジョニング

AWS IoT でのデバイスのプロビジョニング

AWS IoT でデバイスをプロビジョニングする場合、デバイスと AWS IoT が安全に通信できるように、リソースを作成する必要があります。デバイスフリートの管理に役立つその他のリソースを作成できます。プロビジョニングプロセスでは、次のリソースを作成できます。

  • IoT モノ。

    IoT モノは、AWS IoT デバイスレジストリのエントリです。各モノには一意の名前と属性のセットがあり、物理デバイスに関連付けられています。モノはモノの種類を使用して定義することも、モノグループにグループ化することもできます。詳細については、「 」を参照してくださいAWS IoT によるデバイスの管理

    必須ではありませんが、モノを作成することで、モノの種類、モノグループ、およびモノ属性でデバイスを検索し、デバイスフリートをより効率的に管理できます。詳細については、「 」を参照してくださいフリートインデックス作成サービス

  • X.509 証明書。

    デバイスは X.509 証明書を使用して、AWS IoT との相互認証を実行します。既存の証明書を登録することも、AWS IoT で新しい証明書を生成して登録することもできます。証明書を、デバイスを表すモノにアタッチすることで、デバイスと関連付けることができます。また、証明書および関連付けられたプライベートキーをデバイスにコピーする必要もあります。デバイスでは、AWS IoT への接続時に証明書が提示されます。詳細については、「 」を参照してくださいAuthentication

  • IoT ポリシー。

    IoT ポリシーは、AWS IoT でデバイスが実行できるオペレーションを定義します。IoT ポリシーはデバイス証明書にアタッチされます。デバイスが AWS IoT に証明書を提示すると、ポリシーで指定されたアクセス許可が付与されます。詳細については、「 」を参照してくださいAuthorization 各デバイスには、AWS IoT と通信する証明書が必要です。

AWS IoT は、プロビジョニングテンプレートを使用した自動フリートプロビジョニングをサポートします。プロビジョニングテンプレートは、AWS IoT がデバイスのプロビジョニングに必要なリソースを記述します。テンプレートには、1 つのテンプレートを使用して複数のデバイスをプロビジョニングできる変数が含まれています。デバイスをプロビジョニングするときは、ディクショナリまたはマップを使用して、デバイスに固有の変数の値を指定します。別のデバイスをプロビジョニングするには、ディクショナリに新しい値を指定します。

デバイスに固有の証明書 (および関連するプライベートキー) があるかどうかにかかわらず、自動プロビジョニングを使用できます。

フリートプロビジョニング API

フリートプロビジョニングで使用されるAPIには、いくつかのカテゴリがあります。