客户端身份验证

Azure 事件网格的 MQTT 代理支持以下身份验证模式。

  • 基于证书的身份验证
  • Microsoft Entra ID 身份验证
  • OAuth 2.0 (JSON Web 令牌) 身份验证
  • 客户 Webhook 身份验证

基于证书的身份验证

可以使用具有证书颁发机构 (CA) 签名的证书或自签名的证书来对客户端进行身份验证。 有关详细信息,请参阅“使用证书的 MQTT 客户端身份验证”。

Microsoft Entra ID 身份验证

可以使用 Microsoft Entra JWT 对 MQTT 客户端进行身份验证,以连接到 Azure 事件网格命名空间。 可以使用 Azure 基于角色的访问控制 (Azure RBAC),使具有 Microsoft Entra 标识的 MQTT 客户端能够发布或订阅对特定主题空间的访问权限。 有关详细信息,请参阅“进行 Microsoft Entra JWT 身份验证和 Azure RBAC 授权,以发布或订阅 MQTT 消息”。

OAuth 2.0 JWT 身份验证

可以使用任何第三方 OpenID Connect (OIDC) 标识提供者颁发的 JSON Web 令牌 (JWT) 对 MQTT 客户端进行身份验证。 此身份验证方法提供了轻型、安全且灵活的选项,适用于未在 Azure 中预配的 MQTT 客户端。 有关详细信息,请参阅 使用 OAuth 2.0 JWT 对客户端进行身份验证

自定义 Webhook 身份验证

Webhook 身份验证允许外部 HTTP 终结点(Webhook 或函数)动态对 MQTT 连接进行身份验证。 此方法使用 Entra ID JWT (JSON Web 令牌)验证来确保安全访问。 当设备或客户端尝试连接时,事件网格会将相关的连接详细信息传输到配置的 Webhook。 Webhook 负责评估身份验证请求并返回一个响应,以确定是否允许连接。 此外,Webhook 还可以用元数据丰富响应,事件网格将使用这些元数据来授权后续的 MQTT 数据包,确保对主题访问和消息发布等操作进行精细控制。 此方法可实现与自定义身份验证系统、标识提供者和企业安全策略的无缝集成。