自定义身份验证 - AWS IoT
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

自定义身份验证

AWS IoT 允许您定义自定义授权方,以便您管理自己的客户端身份验证和授权。为此,您可以使用 AWS Lambda 函数将客户端凭证发送到身份验证服务。

在建立 HTTP 连接(可以选择升级到 WebSocket 连接)且签名版本 4 标头不存在时,AWS IoT 设备网关将检查是否为终端节点配置了自定义授权方。如果已配置,AWS IoT 设备网关将使用自定义授权方对连接进行身份验证并授权设备。自定义授权方可以实施各种身份验证策略(例如,JWT 验证、OAuth 提供程序调用等等),并且必须返回由设备网关授权 MQTT 操作所使用的策略文档。

有两种方法可以实施自定义身份验证:

  • 自定义身份验证 – 使用 HTTP 发布操作或 WSS 上的 MQTT 连接,接收 HTTP 标头内持有者令牌(如 JSON Web 令牌 (JWT) 或 OAuth 令牌)中的客户端凭证。

  • 增强的自定义身份验证 – 扩展自定义身份验证,以启用通过 MQTT CONNECT 消息(在 usernamepassword 字段中)传递客户端凭证,或作为 HTTP 发布或升级请求中的查询参数(使用 WSS 上的 MQTT 时)传递。此功能还允许您删除自定义授权方的令牌签名要求。此功能是测试版。

注意

您最多可以定义 10 个自定义授权方。