IoT Hub Device Provisioning Service からデバイスの登録を抹消または取り消す方法

IoT ソリューションなどの重要なシステムでは、デバイスの資格情報を適切に管理することが極めて重要です。 このようなシステムでは、デバイスの資格情報 (Shared Access Aignatures (SAS) トークンと X.509 証明書のいずれでも) が侵害された場合にデバイスのアクセスを取り消す方法について明確なプランを立てることが最善の方法です。

デバイス プロビジョニング サービスに登録すると、デバイスをプロビジョニングできます。 プロビジョニングされたデバイスは、IoT Hub で登録されているデバイスで、最初のデバイス ツイン状態を受け取り、利用統計情報の報告を開始できます。

この記事では、プロビジョニング サービス インスタンスからデバイスを取り消して、今後プロビジョニングまたは再プロビジョニングが行われないようにする方法について説明します。 個々の登録または登録グループを無効にしても、既存のデバイス登録は IoT Hub から削除されません。 IoT ハブに既にプロビジョニングされているデバイスのプロビジョニングを解除する方法については、プロビジョニング解除の管理に関するページを参照してください。

個別の登録を使ってデバイスを禁止する

Device Provisioning Service を介してデバイスがプロビジョニングされないようにするには、個々の登録のプロビジョニング状態を変更して、デバイスがプロビジョニングおよび再プロビジョニングされないようにできます。 この機能は、デバイスが通常のパラメーターをはずれて動作している場合、またはセキュリティが侵害されていると見なされる場合、またはデバイスのプロビジョニング再試行メカニズムをテストする方法として利用できます。

禁止するデバイスが登録グループを介してプロビジョニングされた場合は、「X.509 登録グループから特定のデバイスを禁止する」を参照してください。

Note

アクセスを取り消すデバイスの再試行ポリシーに注意してください。 たとえば、無限に再試行するポリシーを持つデバイスでは、プロビジョニング サービスへの登録が継続的に試行される場合があります。 この状況では、サービス操作のクォータなどのサービス リソースが消費され、パフォーマンスに影響する可能性があります。

  1. Azure portal にサインインし、Device Provisioning Service インスタンスに移動します。

  2. [登録を管理します] を選び、[個々の登録] タブを選びます。

  3. 禁止するデバイスの登録エントリを選択します。

  4. 登録の詳細ページで、[プロビジョニングの状態] セクションの [Enable this enrollment] (この登録を有効にする) チェック ボックスをオフにして、[保存] を選びます。

    ポータルでの個々の登録の無効化を示すスクリーンショット。

IoT デバイスがデバイス ライフサイクルの終了時に到達し、IoT ソリューションへのプロビジョニングを許可すべきでなくなった場合は、デバイス登録を Device Provisioning Service から削除する必要があります。

  1. 目的のプロビジョニング サービスで、[登録の管理] を選び、[個々の登録] タブを選びます。

  2. 禁止するデバイスの登録エントリの隣にあるチェック ボックスをオンにします。

  3. ウィンドウの上部の [削除] を選択した後 [はい] を選択して登録の削除を確定します。

    ポータルでの個々の登録の削除を示すスクリーンショット。

登録グループを使用して、X.509 中間証明書またはルート CA 証明書を禁止する

X.509 証明書は通常、信頼する証明書チェーンに配置されます。 チェーンのいずれかの段階で証明書が侵害されると、信頼関係が消失します。 その証明書を含むチェーンのダウンストリームでの Device Provisioning Service によるデバイスのプロビジョニングを防ぐために、その証明書を禁止する必要があります。 X.509 証明書の詳細情報と、プロビジョニング サービスでの X.509 証明書の使用方法については、「X.509 証明書」をご覧ください。

登録グループは、同じ中間 CA またはルート CA によって署名された X.509 証明書の構成証明メカニズムを共有するデバイスのエントリです。 登録グループのエントリは、中間またはルート CA に関連付けられた X.509 証明書を使用して構成されます。 さらに、エントリは、証明書チェーン内のその証明書を持つデバイスで共有される構成値 (ツイン状態や IoT ハブ接続など) を使用して構成されます。 証明書を禁止するには、その登録グループを無効にするか削除します。

証明書を一時的に禁止するには、その登録グループを無効にします。

  1. Azure portal にサインインし、Device Provisioning Service インスタンスに移動します。

  2. 目的のプロビジョニング サービスで、[登録の管理] を選択し、[登録グループ] タブを選択します。

  3. 禁止する証明書を使用して登録グループを選択します。

  4. 登録の詳細ページで、[プロビジョニングの状態] セクションの [Enable this enrollment] (この登録を有効にする) チェック ボックスをオフにして、[保存] を選びます。

    ポータルで登録グループ エントリを無効にする

証明書を永続的に禁止するには、その登録グループを削除します。

  1. 目的のプロビジョニング サービスで、[登録の管理] を選択し、[登録グループ] タブを選択します。

  2. 禁止する証明書の登録グループの隣にあるチェックボックスをオンにします。

  3. ウィンドウの上部の [削除] を選択した後 [はい] を選択して登録グループの削除を確定します。

    ポータルで登録グループ エントリを削除する

手順を終了すると、登録グループの一覧からエントリが削除されたことがわかります。

Note

証明書の登録グループを削除しても、証明書チェーンの上位のルート証明書や別の中間証明書に有効な登録グループが存在する場合、証明書チェーン内にその証明書を持つデバイスでは引き続き登録が可能です。

Note

登録グループを削除しても、グループ内のデバイスの登録レコードは削除されません。 DPS では、登録レコードを使用して、DPS インスタンスで登録の最大数に達したかどうかを判断します。 孤立した登録レコードは、引き続きこのクォータに対してカウントされます。 DPS インスタンスでサポートされている現在の登録の最大数については、「クォータと制限」を参照してください。

登録グループ自体を削除する前に、登録グループの登録レコードを削除することができます。 Azure portal にある、そのグループの [登録状態] タブで、登録グループの登録レコードを手動で表示および管理できます。 登録レコードをプログラムで取得および管理するには、DPS サービス SDKDevice Registration State REST API または同等の API を使用するか、az iot dps enrollment-group registration Azure CLI コマンドを使用します。

X.509 登録グループから特定のデバイスを禁止する

登録グループを介してプロビジョニングされたデバイスの登録を解除する場合、そのデバイスに対してのみ無効にした個別の登録を作成することで実現できます。 デバイスが接続され、Device Provisioning Service の認証を受けるときに、まず、サービスは一致する登録 ID を持つ個々の登録を探します。 デバイスの個々の登録が見つからない場合にのみ、サービスは登録グループを検索します。

登録グループの個別のデバイスを禁止するには、次の手順を実行します。

  1. Azure portal にサインインし、Device Provisioning Service インスタンスに移動します。

  2. 目的のプロビジョニング サービスで、[登録の管理] を選び、[個々の登録] タブを選びます。

  3. [個別登録の追加] を選びます。

  4. デバイス (エンドエンティティ) 証明書を持っているかどうかに応じて、適切な手順に従います。

    • デバイス証明書がある場合は、[登録の追加] ページで次の値を入力します。

      フィールド 説明
      構成証明メカニズム [X.509 クライアント証明書] を選びます
      プライマリ証明書ファイル デバイス証明書をアップロードします。 証明書として、デバイスにインストールされている署名付きのエンド エンティティ証明書を使用します。 デバイスでは、署名付きのエンド エンティティ証明書を使用して認証が行われます。
    • デバイス証明書がある場合は、[登録の追加] ページで次の値を入力します。

      フィールド 説明
      構成証明メカニズム [対称キー] を選びます
      Generate symmetric keys automatically (対称キーを自動的に生成する) : このチェック ボックスがオンになっていることを確認します。 このシナリオでは、キーは関係ありません。
      登録 ID デバイスが既にプロビジョニングされている場合は、その IoT Hub のデバイス ID を使います。 これは、登録グループの登録レコード、またはデバイスがプロビジョニングされた IoT ハブで確認できます。 デバイスがまだプロビジョニングされていない場合は、デバイス証明書 CN を入力します。 (後者の場合、デバイス証明書は必要ありませんが、CN は知っている必要があります。)
  5. [登録の追加] ページの一番下までスクロールし、[Enable this enrollment] (この登録を有効にする) チェック ボックスをオフにします。

  6. [確認と作成](確認と作成) を選択し、次に [作成] を選択します。

登録の作成に成功すると、[個々の登録] タブに無効になっているデバイス登録が表示されます。

次のステップ

登録解除も広範なプロビジョニング解除プロセスの一部です。 デバイスのプロビジョニング解除には、プロビジョニング サービスの登録抹消と IoT hub からの登録解除の両方が含まれます。 このプロセスの詳細については、プロビジョニングされた以前のデバイスのプロビジョニングを解除する方法に関するページを参照してください。