AWS IoT
开发人员指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

授权

策略确定经身份验证的身份可执行的操作。经身份验证的身份由设备、移动应用程序、Web 应用程序和桌面应用程序使用。经身份验证的身份甚至可以是键入 AWS IoT CLI 命令的用户。仅当身份具有向其授予权限的策略时,才能执行 AWS IoT 操作。

AWS IoT 策略和 IAM 策略均可用于 AWS IoT,以控制身份 (也称为委托人) 可以执行的操作。您使用的策略类型取决于向 AWS IoT 进行身份验证时使用的身份类型。下表显示了身份类型、它们使用的协议和可用于授权的策略类型。

AWS IoT 操作分为两组:

  • 控制层面 API 允许您执行诸如创建或更新证书、事物、规则等管理任务。

  • 数据层面 API 允许您向 AWS IoT 发送数据以及从其接收数据。

您使用的策略类型取决于您使用的是控制层面 API 还是数据层面 API。

AWS IoT 数据层面 API 和策略类型

协议和身份验证机制 开发工具包 身份类型 策略类型
基于双向身份验证的 MQTT (端口 8883) AWS IoT 设备软件开发工具包 X.509 证书 AWS IoT 策略
基于 WebSocket 的 MQTT (端口 443) AWS 移动软件开发工具包 Amazon Cognito、IAM 或联合身份

用于 Amazon Cognito 身份的 AWS IoT 策略

用于其他身份的 IAM 策略

基于服务器身份验证的 HTTP (端口 443) AWS CLI Amazon Cognito、IAM 或联合身份

用于 Amazon Cognito 身份的 AWS IoT 策略

用于其他身份的 IAM 策略

基于双向身份验证的 HTTP (端口 8443) 不支持软件开发工具包 X.509 证书 AWS IoT 策略

AWS IoT 控制层面 API 和策略类型

协议和身份验证机制 开发工具包 身份类型 策略类型
基于服务器身份验证的 HTTP (端口 443) AWS CLI Amazon Cognito、IAM 或联合身份

用于 Amazon Cognito 身份的 AWS IoT 策略

用于其他身份的 IAM 策略

AWS IoT 策略附加到 X.509 证书或 Amazon Cognito 身份。IAM 策略附加到 IAM 用户、组或角色。如果您使用 AWS IoT 控制台或 AWS IoT CLI 附加策略 (附加到证书或 Amazon Cognito 身份),则应使用 AWS IoT 策略。否则,应使用 IAM 策略。

基于策略的授权是一种功能强大的工具。它让您能够完全控制设备、用户或应用程序在 AWS IoT 中可以执行的操作。例如,以使用证书连接到 AWS IoT 的设备为例。您可以允许设备访问所有 MQTT 主题,也可以限制它的访问权限,只允许它访问一个主题。在另一个示例中,假设用户在命令行中键入 CLI 命令。通过使用策略,您可以允许或拒绝用户访问任何命令或 AWS IoT 资源。还可以控制应用程序对 AWS IoT 资源的访问。