この記事では、AzureIoTSecurity エージェントで IoT Hub で認証するために使用できるさまざまな認証方法について説明します。
IoT Hub の Defender for IoT にオンボードされたデバイスごとに、Defender-IoT-micro-agent が必要です。 デバイスを認証するために、Defender for IoT では 2 つの方法のいずれかを使用できます。 既存の IoT ソリューションに最適な方法を選択します。
- SecurityModule オプション
- デバイス オプション
認証方法
Defender for IoT AzureIoTSecurity エージェントが認証を実行するための 2 つの方法:
Defender-IoT-micro-agent 認証モード
エージェントは、デバイス ID とは無関係に Defender-IoT-micro-agent ID を使用して認証されます。 セキュリティ エージェントで Defender-IoT-micro-agent を介して専用の認証方法を使用する場合は、この認証の種類を使用します (対称キーのみ)。デバイス 認証モード
この方法では、セキュリティ エージェントは最初にデバイス ID を使用して認証します。 初期認証の後、Defender for IoT エージェントは、デバイスの認証データと共に REST API を使用して IoT Hub への REST 呼び出しを実行します。 その後、Defender for IoT エージェントは、Defender-IoT-micro-agent 認証方法とデータを IoT Hub に要求します。 最後の手順では、Defender for IoT エージェントが Defender for IoT モジュールに対して認証を実行します。
セキュリティ エージェントで既存のデバイス認証方法 (自己署名証明書または対称キー) を再利用する場合は、この認証の種類を使用します。
構成方法については、 Security Agent のインストール パラメーター を参照してください。
認証方法の既知の制限事項
- SecurityModule 認証モードでは、対称キー認証のみがサポートされます。
- CA-Signed 証明書は、 デバイス 認証モードではサポートされていません。
セキュリティ エージェントのインストール パラメーター
セキュリティ エージェントをデプロイするときは、認証の詳細を引数として指定する必要があります。 これらの引数については、次の表を参照してください。
| Linux パラメーター名 | Windows パラメーター名 | 短縮形パラメーター | 説明 | オプション |
|---|---|---|---|---|
| 認証アイデンティティ | AuthenticationIdentity | aui | 認証識別 | SecurityModule または デバイス |
| 認証方法 | 認証方法 | オーム | 認証方法 | SymmetricKey または 自己署名証明書 |
| ファイルパス | FilePath | f | 証明書または対称キーを含むファイルの絶対完全パス | |
| ホスト名 | ホスト名 | hn | IoT Hub の FQDN | 例: ContosoIotHub.azure-devices.net |
| デバイスID | DeviceId | ディ | デバイス識別子 | 例: MyDevice1 |
| 証明書の場所の種類 | 証明書位置種別 | cl | 証明書の保存場所 | LocalFile または Store |
セキュリティ エージェントのインストール スクリプトを使用すると、次の構成が自動的に実行されます。 セキュリティ エージェント認証を手動で編集するには、構成ファイルを編集します。
デプロイ後に認証方法を変更する
インストール スクリプトを使用してセキュリティ エージェントをデプロイすると、構成ファイルが自動的に作成されます。
デプロイ後に認証方法を変更するには、構成ファイルを手動で編集する必要があります。
C#ベースのセキュリティ エージェント
次のパラメーターを使用して Authentication.config を編集します。
<Authentication>
<add key="deviceId" value=""/>
<add key="gatewayHostname" value=""/>
<add key="filePath" value=""/>
<add key="type" value=""/>
<add key="identity" value=""/>
<add key="certificateLocationKind" value="" />
</Authentication>
C ベースのセキュリティ エージェント
次のパラメーターを使用して LocalConfiguration.json を編集します。
"Authentication" : {
"Identity" : "",
"AuthenticationMethod" : "",
"FilePath" : "",
"DeviceId" : "",
"HostName" : ""
}