你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

安全代理身份验证方法

本文介绍了可与 AzureIoTSecurity 代理一起用来向 IoT 中心进行身份验证的不同身份验证方法。

加入 IoT 中心内 Defender for IoT 的每个设备都需要一个 Defender-IoT-micro-agent。 要对设备进行身份验证,Defender for IoT 可以使用以下两种方法之一。 请选择最适合于现有 IoT 解决方案的方法。

  • SecurityModule 选项
  • Device 选项

身份验证方法

Defender for IoT AzureIoTSecurity 代理用来执行身份验证的两种方法如下:

  • Defender-IoT-micro-agent 身份验证模式
    将使用独立于设备标识的 Defender-IoT-micro-agent 标识对代理进行身份验证。 如果希望安全代理通过 Defender-IoT-micro-agent 使用专用身份验证方法(仅限对称密钥),请使用此身份验证类型。

  • Device 身份验证模式
    在此方法中,安全代理首先用设备标识进行身份验证。 初始身份验证完成后,Defender for IoT 代理会将 REST API 与设备的身份验证数据配合使用来执行对 IoT 中心的 REST 调用。 然后,Defender for IoT 代理将从 IoT 中心请求 Defender-IoT-micro-agent 身份验证方法和数据。 在最后一步中,Defender for IoT 代理将针对 Defender for IoT 模块执行身份验证。

如果希望安全代理重新使用现有设备身份验证方法(自签名证书或对称密钥),请使用此身份验证类型。

请参阅安全代理安装参数来了解如何配置。

身份验证方法的已知限制

  • SecurityModule 身份验证模式仅支持对称密钥身份验证。
  • Device 身份验证模式不支持 CA 签名的证书。

安全代理安装参数

部署安全代理时,必须以参数形式提供身份验证详细信息。 下表中介绍了这些参数。

Linux 参数名称 Windows 参数名称 简写参数 说明 选项
authentication-identity AuthenticationIdentity aui 身份验证标识 SecurityModule 或 Device
authentication-method AuthenticationMethod aum 身份验证方法 SymmetricKey 或 SelfSignedCertificate
file-path 文件路径 F 包含证书或对称密钥的文件的绝对完整路径
host-name HostName hn IoT 中心的 FQDN 示例:ContosoIotHub.azure-devices.net
device-id DeviceId di 设备 ID 示例:MyDevice1
certificate-location-kind CertificateLocationKind 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" : ""
}

请参阅