授权 - AWS IoT Core

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

授权

授权是向经过身份验证的身份授予权限的过程。您授予 AWS IoT Core 使用 AWS IoT Core 和IAM策略的权限。本主题介绍了 AWS IoT Core 策略。有关IAM策略的更多信息,请参阅的身份和访问管理 AWS IoTAWS IoT 如何使用 IAM

AWS IoT Core 策略决定了经过身份验证的身份可以做什么。经身份验证的身份由设备、移动应用程序、Web 应用程序和桌面应用程序使用。经过身份验证的身份甚至可以是用户键入 AWS IoT Core CLI命令。只有当身份拥有向其授予 AWS IoT Core 操作权限的策略时,该身份才能执行这些操作。

AWS IoT Core 策略和IAM策略均用于控制身份(也称为委托人)可以执行的操作。 AWS IoT Core 您使用的策略类型取决于您用来进行身份验证的身份类型 AWS IoT Core。

AWS IoT Core 操作分为两组:

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

  • 数据平面API允许您向数据发送和接收数据 AWS IoT Core。

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

下表显示了身份类型、它们使用的协议和可用于授权的策略类型。

AWS IoT Core 数据平面API和策略类型
协议和身份验证机制 SDK 身份类型 策略类型
MQTT通过TLS/TCP,TLS双向身份验证(端口 8883 或 443)†) AWS IoT 设备 SDK X.509 证书 AWS IoT Core 政策
MQTT通过HTTPS/WebSocket, AWS sigV4 身份验证(端口 443) AWS 移动 SDK 经过身份验证的 Amazon Cognito 身份 IAM和 AWS IoT Core 政策
未经身份验证的 Amazon Cognito 身份 IAM政策
IAM 或联合身份 IAM政策
HTTPS, AWS 签名版本 4 身份验证(端口 443) AWS CLI 亚马逊 Cognito 或IAM联合身份 IAM政策
HTTPS,TLS相互认证(端口 8443) 不SDK支持 X.509 证书 AWS IoT Core 政策
HTTPS通过自定义身份验证(端口 443) AWS IoT 设备 SDK 自定义授权方 自定义授权方策略
AWS IoT Core 控制平面API和策略类型
协议和身份验证机制 SDK 身份类型 策略类型
HTTPS AWS 签名版本 4 身份验证(端口 443) AWS CLI Amazon Cognito 身份 IAM政策
IAM 或联合身份 IAM政策

AWS IoT Core 策略附加到 X.509 证书、Amazon Cognito 身份或事物组。IAM策略附加到IAM用户、组或角色。如果您使用 AWS IoT 控制台或将策略附加 AWS IoT Core CLI到证书、Amazon Cognito Identity 或事物组),则 AWS IoT Core 使用策略。否则,您将使用IAM策略。 AWS IoT Core 附加到事物组的策略适用于该事物组中的任何事物。要使 AWS IoT Core 策略生效,clientId和事物名称必须匹配。

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

对策略所做的更改可能需要几分钟才能生效,具体取决于 AWS IoT 缓存策略文档的方式。也就是说,访问最近被授予访问权限的资源可能需要几分钟时间,并且资源可能在撤销访问权限后几分钟内仍可访问。

AWS 培训和认证

有关授权的信息 AWS IoT Core,请参加 AWS 培训和认证网站上的 “深入了解 AWS IoT Core 身份验证和授权” 课程。