选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

了解自定义身份验证工作流

聚焦模式
了解自定义身份验证工作流 - AWS IoT Core

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

自定义身份验证使您能够定义如何通过使用授权方资源对客户端进行身份验证和授权。  每个授权方都包含对客户托管的 Lambda 函数的引用、用于验证设备凭证的可选公有密钥以及其它配置信息。下图说明了 AWS IoT Core中自定义身份验证的授权工作流。

AWS IoT Core中的自定义身份验证的自定义授权工作流。

AWS IoT Core 自定义身份验证和授权工作流程

下面的列表说明了自定义身份验证和授权工作流中的每个步骤。

  1. 设备使用支持的终端连接到客户 AWS IoT Core 的数据端点设备通信协议。设备在请求的标头字段或查询参数(针对基于协议的 HTTP 发布或 MQTT),或者在 MQTT CONNECT 消息的用户名和密码字段(适用于 WebSockets 协议上的 MQTT 和 MQTT)中传递凭证。 WebSockets

  2. AWS IoT Core 检查以下两个条件之一:

    • 传入的请求指定授权方。

    • 接收请求 AWS IoT Core 的数据端点已为其配置了默认授权方。

    如果通过上述任一方式 AWS IoT Core 找到授权方,则 AWS IoT Core 会触发与授权方关联的 Lambda 函数。

  3. (可选)如果您已启用令牌签名,则在触发 Lambda 函数之前,使用存储在授权方中的公钥来 AWS IoT Core 验证请求签名。如果验证失败, AWS IoT Core 将停止请求而不调用 Lambda 函数。 

  4. Lambda 函数接收请求中的凭证和连接元数据,并做出身份验证决策。

  5. Lambda 函数返回身份验证决策的结果和一份 AWS IoT Core 策略文档,其中指定了连接中允许的操作。 Lambda 函数还会返回信息,指定通过调用 Lambda 函数 AWS IoT Core 重新验证请求中的证书的频率。

  6. AWS IoT Core 根据连接从 Lambda 函数收到的策略评估连接上的活动。

  7. 在建立连接并首次调用您的自定义授权方 Lambda 之后,空闲连接上的下一次调用可能会延迟最多 5 分钟,且不执行任何 MQTT 操作。之后,后续调用将遵循您的自定义授权方 Lambda 中的刷新间隔。这种方法可以防止可能超过您的 Lambda 并发限制的过度调用。 AWS 账户

扩展注意事项

由于 Lambda 函数为您的授权方处理身份验证和授权,因此该函数受 Lambda 定价和服务限制的约束,例如并发执行率。有关 Lambda 定价的更多信息,请参阅 Lambda 定价。您可以通过调整 Lambda 函数响应中的 refreshAfterInSecondsdisconnectAfterInSeconds 参数管理您 Lambda 函数上的负载。有关 Lambda 函数响应内容的更多信息,请参阅 定义您的 Lambda 函数

注意

如果启用签名,则可以防止无法识别的客户端过度触发 Lambda。在禁用授权方的签名之前,请考虑这一点。

注意

自定义授权方的 Lambda 函数超时限制为 5 秒。

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。