デバイス ID の作成と管理を行う

Azure IoT Hub に接続するためにデバイスのデバイス ID を作成します。 この記事では、デバイスの登録、接続情報の収集、ライフサイクル終了時のデバイスの削除または無効化など、デバイス ID の管理に関する重要なタスクについて説明します。

前提条件

  • Azure サブスクリプション内の IoT ハブ。 ハブがまだない場合は、「IoT ハブの作成」の手順に従うことができます。

  • 使うツールに応じて、Azure portal にアクセスするか、Azure CLI をインストールします。

  • IoT ハブがロールベースのアクセス制御 (RBAC) で管理されている場合は、この記事の手順のためにはデバイスやモジュールの読み取り、書き込み、削除アクセス許可が必要です。 これらのアクセス許可は、IoT Hub レジストリ共同作成者ロールに含まれています。

デバイスの登録

このセクションでは、IoT ハブの ID レジストリにデバイス ID を作成します。 デバイス ID を持たないデバイスは、ハブに接続できません。

IoT Hub の ID レジストリには、IoT ハブに対するセキュリティで保護されたアクセスを有効にするためのデバイス ID のみが格納されます。 セキュリティ資格情報として使用するキーとデバイス ID、そして個々のデバイスについてアクセスを無効にすることのできる有効/無効フラグが格納されます。

デバイスを登録するときに、その認証方法を選びます。 IoT Hub では、3 つのデバイス認証方法がサポートされています。

  • 対称キー - すばやく始めたい場合は、このオプションが最も簡単です。

    デバイスを登録するときに、キーを指定するか、IoT Hub でキーを自動的に生成します。 デバイスと IoT ハブの両方に対称キーのコピーがあり、デバイスの接続時に比較できます。

  • X.509 自己署名済み

    デバイスに自己署名された X.509 証明書がある場合は、認証のための証明書のバージョンを IoT Hub に提供する必要があります。 デバイスを登録するときに、証明書の "拇印" をアップロードします。これは、デバイスの X.509 証明書のハッシュです。 接続時に、デバイスがその証明書を提示すると、IoT ハブはわかっているハッシュに対してそれを検証できます。 詳しくは、「X.509 証明書を使用して ID を認証する」をご覧ください。

  • X.509 CA 署名済み - 運用シナリオには、このオプションをお勧めします。

    デバイスに CA 署名済みの X.509 証明書がある場合は、デバイスを登録する前に、署名チェーンのルートまたは中間証明機関 (CA) 証明書を IoT Hub にアップロードします。 デバイスの証明書チェーンには、検証済みの X.509 CA による X.509 証明書があります。 接続時に、デバイスがその完全な証明書チェーンを提示すると、IoT ハブは X.509 CA を認識しているため、それを検証できます。 複数のデバイスが、同じ検証済み X.509 CA で認証できます。 詳しくは、「X.509 証明書を使用して ID を認証する」をご覧ください。

証明書の準備

いずれかの X.509 証明書認証方法を使っている場合は、デバイスを登録する前に証明書の準備ができていることを確認します。

  • CA 署名済み証明書については、「チュートリアル: テスト用の証明書を作成してアップロードする」で、CA 署名済み証明書を作成して IoT Hub にアップロードする方法の概要がわかりやすく説明されています。 そのチュートリアルを済ませると、X.509 CA 署名済み認証を使ってデバイスを登録する準備ができます。

  • 自己署名済み証明書を使うデバイスの場合は、IoT Hub にアップロードするために、2 つのデバイス証明書 (プライマリとセカンダリ証明書) と両方の拇印が必要です。 証明書から拇印を取得する方法の 1 つは、次の OpenSSL コマンドを使うことです。

    openssl x509 -in <certificate filename>.pem -text -fingerprint
    

デバイスを追加する

IoT Hub におけるデバイス ID を作成する。

  1. Azure Portal で、IoT ハブに移動します。

  2. [デバイス管理]>[デバイス] を選びます。

  3. [デバイスの追加] を選んで、IoT ハブにデバイスを追加します。

    Azure portal での新しいデバイスの追加を示すスクリーンショット。

  4. [デバイスの作成] で、新しいデバイス ID の情報を指定します。

    パラメーター 依存パラメーター Value
    Device ID 新しいデバイスの名前を指定します。
    認証の種類 [対称キー][X.509 自己署名済み]、または [X.509 CA 署名済み] を選びます。
    自動生成キー 対称キー認証の場合は、このボックスをオンにして、IoT Hub でデバイスのキーを生成します。 または、このボックスをオフにして、デバイスのプライマリとセカンダリ キーを指定します。
    [プライマリ拇印][セカンダリ拇印] X.509 自己署名済み認証の場合は、デバイスのプライマリとセカンダリ証明書の拇印ハッシュを指定します。

    重要

    デバイス ID は、カスタマー サポートとトラブルシューティング目的で収集されたログに表示される場合があります。そのため、名前を付ける際は機密情報を含めないようにしてください。

  5. [保存] を選択します。

デバイス接続文字列を取得する

サンプルとテスト シナリオでの最も一般的な接続方法は、対称キー認証を使い、"デバイス接続文字列" で接続することです。 デバイス接続文字列には、IoT ハブの名前、デバイスの名前、デバイスの認証情報が含まれます。

他のデバイス接続方法 (特に X.509 認証) については、「Azure IoT Hub device SDK」をご覧ください。

デバイス接続文字列を取得するには、次の手順のようにします。

Azure portal では、対称キー認証を使うデバイスに対してのみ、デバイス接続文字列が提供されます。

  1. Azure Portal で、IoT ハブに移動します。

  2. [デバイス管理]>[デバイス] を選びます。

  3. [デバイス] ペインの一覧でデバイスを選びます。

  4. [プライマリ接続文字列] の値をコピーします。

    Azure portal からのプライマリ接続文字列の値のコピーを示すスクリーンショット。

    キーと接続文字列は機密情報であるため、既定でマスクされます。 目のアイコンをクリックすると、表示されます。 表示しなくてもコピー ボタンでコピーできます。

対称キー認証を使うデバイスのデバイス接続文字列は、次のようなパターンです。

HostName=<IOT_HUB_NAME>;DeviceId=<DEVICE_NAME>;SharedAccessKey=<PRIMARY_OR_SECONDARY_KEY>

X.509 認証 (自己署名または CA 署名) を使うデバイスは、通常、認証にデバイス接続文字列を使いません。 使う場合、その接続文字列は次のようなパターンになります。

HostName=<IOT_HUB_NAME>;DeviceId=<DEVICE_NAME>;x509=true

デバイスを無効化または削除する

デバイスを IoT ハブの ID レジストリに保持しつつ接続できないようにする場合は、その状態を "無効" に変更することができます。

  1. Azure Portal で、IoT ハブに移動します。

  2. [デバイス管理]>[デバイス] を選びます。

  3. [デバイス] ペインの一覧でデバイスを選びます。

  4. デバイスの詳細ページでは、デバイスの登録を無効にしたり削除したりできます。

    • デバイスが接続しないようにするには、[IoT Hub への接続を有効にする] パラメーターを [無効] に設定します。

      Azure portal でデバイスを無効にする方法を示すスクリーンショット。

    • IoT ハブの ID レジストリからデバイスを完全に削除するには、[削除] を選びます。

      Azure portal でのデバイスの削除を示すスクリーンショット。

デバイスの ID を管理するためのその他のツール

次のような他のツールまたはインターフェイスを使って、IoT Hub の ID レジストリを管理できます。