IoT ソリューションなどのプロファイルの高いシステムでは、デバイス資格情報を適切に管理することが重要です。 このようなシステムのベスト プラクティスは、共有アクセス署名 (SAS) トークンと X.509 証明書のどちらが侵害された可能性があるかに関係なく、資格情報が侵害される可能性がある場合に、デバイスのアクセスを取り消す方法を明確に計画することです。
Device Provisioning Service に登録すると、デバイスを プロビジョニングできます。 プロビジョニングされたデバイスは IoT Hub に登録され、デバイス ツイン の初期状態を受け取り、テレメトリ データのレポートを開始できるようにします。
この記事では、プロビジョニング サービス インスタンスからデバイスを取り消し、将来プロビジョニングまたは再プロビジョニングされないようにする方法について説明します。 個々の登録または登録グループを無効にしても、既存のデバイス登録は IoT Hub から削除されません。 IoT ハブに既にプロビジョニングされているデバイスをプロビジョニング解除する方法については、「 以前に自動プロビジョニングされたデバイスのプロビジョニングを解除する方法」を参照してください。
個々の登録を使用してデバイスを禁止する
Device Provisioning Service を使用してデバイスがプロビジョニングされないようにするには、個々の登録のプロビジョニング状態を変更して、デバイスのプロビジョニングと再プロビジョニングを防ぐことができます。 この機能は、デバイスが通常のパラメーターの外部で動作している場合、または侵害されていると見なされた場合、またはデバイスのプロビジョニング再試行メカニズムをテストする方法として使用できます。
禁止するデバイスが登録グループを介してプロビジョニングされた場合は、「 X.509 登録グループからの特定のデバイスを許可しない」の手順を参照してください。
注
アクセスを取り消すデバイスの再試行ポリシーに注意してください。 たとえば、無限再試行ポリシーを持つデバイスは、プロビジョニング サービスへの登録を継続的に試みる場合があります。 このような状況では、サービス操作のクォータなどのサービス リソースが消費され、パフォーマンスに影響する可能性があります。
Azure portal にサインインし、Device Provisioning Service インスタンスに移動します。
[ 登録の管理] を選択し、[ 個々の登録 ] タブを選択します。
禁止するデバイスの登録エントリを選択します。
登録の詳細ページで、[プロビジョニングの状態] セクションの [この登録を有効にする] チェック ボックスをオフにし、[保存] を選択します。
IoT デバイスがデバイス ライフサイクルの最後にあり、IoT ソリューションへのプロビジョニングを許可されなくなった場合は、デバイスの登録を Device Provisioning Service から削除する必要があります。
プロビジョニング サービスで、[ 登録の管理] を選択し、[ 個々の登録 ] タブを選択します。
禁止するデバイスの登録エントリの横にあるチェック ボックスをオンにします。
ウィンドウの上部にある [ 削除 ] を選択し、[ はい ] を選択して、登録を削除することを確認します。
登録グループを使用して X.509 中間 CA 証明書またはルート CA 証明書を許可しない
X.509 証明書は、通常、信頼の証明書チェーンに配置されます。 チェーン内の任意の段階で証明書が侵害された場合、信頼は失われます。 Device Provisioning Service が、その証明書を含む任意のチェーン内のダウンストリームでデバイスをプロビジョニングできないようにするには、証明書を許可しない必要があります。 X.509 証明書とそのプロビジョニング サービスでの使用方法の詳細については、 X.509 証明書を参照してください。
登録グループは、同じ中間 CA またはルート CA によって署名された X.509 証明書の共通構成証明メカニズムを共有するデバイスのエントリです。 登録グループ エントリは、中間 CA またはルート CA に関連付けられた X.509 証明書で構成されます。 エントリは、ツイン状態や IoT ハブ接続など、証明書チェーン内のその証明書を持つデバイスによって共有される任意の構成値でも構成されます。 証明書を禁止するには、その登録グループを無効にするか削除します。
登録グループを無効にして証明書を一時的に禁止するには:
Azure portal にサインインし、Device Provisioning Service インスタンスに移動します。
プロビジョニング サービスで、[ 登録の管理] を選択し、[ 登録グループ ] タブを選択します。
許可しない証明書を使用して登録グループを選択します。
登録の詳細ページで、[プロビジョニングの状態] セクションの [この登録を有効にする] チェック ボックスをオフにし、[保存] を選択します。
登録グループを削除して証明書を完全に禁止するには:
プロビジョニング サービスで、[ 登録の管理] を選択し、[ 登録グループ ] タブを選択します。
禁止する証明書の登録グループの隣にあるチェックボックスをオンにします。
ウィンドウの上部にある [ 削除 ] を選択し、[ はい ] を選択して、登録グループを削除することを確認します。
手順が完了すると、登録グループの一覧からエントリが削除されます。
注
証明書の登録グループを削除しても、ルート証明書の有効な登録グループまたは証明書チェーンの上位にある別の中間証明書が存在する場合、証明書チェーン内の証明書を持つデバイスは登録できる可能性があります。
注
登録グループを削除しても、グループ内のデバイスの登録レコードは削除されません。 DPS では、登録レコードを使用して、DPS インスタンスの登録の最大数に達したかどうかを判断します。 孤立した登録レコードは、引き続きこのクォータに対してカウントされます。 DPS インスタンスでサポートされている登録の現在の最大数については、「 クォータと制限」を参照してください。
登録グループ自体を削除する前に、登録グループの登録レコードを削除することができます。 Azure portal のグループの [ 登録状態 ] タブで、登録グループの登録レコードを手動で表示および管理できます。 登録レコードは、DPS サービス SDKの Device Registration State REST API または同等の API を使用するか、az iot dps enrollment-group registration Azure CLI コマンドを使用してプログラムで取得および管理できます。
X.509 登録グループから特定のデバイスを禁止する
登録グループを介してプロビジョニングされたデバイスを登録解除する場合は、そのデバイスに対して無効な個別登録を作成します。 デバイスが Device Provisioning Service に接続して認証すると、サービスは最初に、一致する登録 ID を持つ個々の登録を検索します。 デバイスの個別登録が見つからない場合にのみ、サービスは登録グループを検索します。
登録グループ内の個々のデバイスを禁止するには、次の手順に従います。
Azure portal にサインインし、Device Provisioning Service インスタンスに移動します。
プロビジョニング サービスで、[ 登録の管理] を選択し、[ 個々の登録 ] タブを選択します。
[ 個々の登録の追加] を選択します。
デバイス (エンド エンティティ) 証明書があるかどうかに応じて、適切な手順に従います。
デバイス証明書がある場合は、[ 登録の追加] ページで次の値を指定します。
フィールド Description 認証メカニズム X.509 クライアント証明書を選択する プライマリ証明書ファイル デバイス証明書をアップロードします。 証明書の場合は、デバイスにインストールされている署名済みのエンド エンティティ証明書を使用します。 デバイスは、認証に署名されたエンド エンティティ証明書を使用します。 デバイス証明書がない場合は、[ 登録の追加] ページで次の値を指定します。
フィールド Description 認証メカニズム 対称キーの選択 対称キーを自動的に生成する : このチェック ボックスがオンになっていることを確認します。 キーは、このシナリオでは重要ではありません。 登録 ID デバイスが既にプロビジョニングされている場合は、その IoT Hub デバイス ID を使用します。 この値は、登録グループの登録レコード、またはデバイスがプロビジョニングされた IoT ハブにあります。 デバイスがまだプロビジョニングされていない場合は、デバイス証明書 CN を入力します。 (この後者の場合、デバイス証明書は必要ありませんが、CN を知る必要があります)。
[ 登録の追加 ] ページの下部までスクロールし、[ この登録を有効にする ] チェック ボックスをオフにします。
[ 確認と作成] を選択し、[ 作成] を選択します。
登録が正常に作成されると、[個々の登録] タブに無効なデバイスの 登録 が一覧表示されます。
次のステップ
登録解除は、より大きなプロビジョニング解除プロセスの一部でもあります。 デバイスのプロビジョニング解除には、プロビジョニング サービスからの登録解除と IoT ハブからの登録解除の両方が含まれます。 完全なプロセスについては、「 以前にプロビジョニングされたデバイスのプロビジョニングを解除する方法」を参照してください。