对接口 VPC 端点使用 Amazon IoT Device Management 安全隧道 - Amazon IoT Core
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

对接口 VPC 端点使用 Amazon IoT Device Management 安全隧道

Amazon IoT Device Management 安全隧道支持接口 VPC 端点。您可以使用 VPC 终端节点保持 VPC 之间和 Amazon 网络 Amazon IoT Secure Tunneling 内部的流量,而无需互联网网关、NAT 设备、VPN Amazon Direct Connect 连接或连接。

接口 VPC 终端节点由Amazon PrivateLink一项技术提供支持,该技术使您能够使用私有 IP 地址私密访问服务。有关更多信息,请参阅 Amazon PrivateLink 指南中的使用接口 VPC 终端节点访问 Amazon 服务

前提条件

在为创建 VPC 终端节点之前 Amazon IoT Secure Tunneling,请确认您已具备以下条件:

  • 具有创建 VPC 终端节点所需权限的 Amazon 账户。

  • 您 Amazon 账户中的 VPC。

  • 了解 Amazon IoT Device Management 安全隧道的概念。

  • 熟悉 VPC 终端节点策略和 Amazon Identity and Access Management (IAM)

通过 VPC 终端节点接收隧道通知

要通过 VPC 终端节点接收隧道通知,您的设备可以通过 VPC 终端节点连接到 Amazon IoT Core 数据平面并订阅安全隧道预留 MQTT 主题。

有关如何在 Amazon IoT Core 数据平面中创建和配置 VPC 终端节点的说明,请参阅 Amazon IoT 开发人员指南中的Amazon IoT Core 与接口 VPC 终端节点一起使用

为安全隧道传输创建 VPC 终端节点

您可以为安全隧道控制平面和代理服务器创建 VPC 终端节点。

创建用于安全隧道的 VPC 终端节点
  1. 按照 Amazon VPC 开发人员指南中创建接口终端节点中的步骤进行操作

  2. 对于服务名称,请根据您的终端节点类型选择以下选项之一:

    控制面板
    • 标准:com.amazonaws.<region>.iot.tunneling.api

    • FIPS(在 FIPS 地区可用):com.amazonaws.<region>.iot-fips.tunneling.api

    代理服务器
    • 标准:com.amazonaws.<region>.iot.tunneling.data

    • FIPS(在 FIPS 地区可用):com.amazonaws.<region>.iot-fips.tunneling.data

    替换<region>为你的 Amazon Web Services 区域。例如 us-east-1

  3. 根据您的网络要求完成 VPC 终端节点创建过程中的其余步骤。

在代理服务器上配置 VPC 终端节点策略

除了用于授权隧道连接的基于客户端访问令牌的授权外,您还可以使用 VPC 终端节点策略进一步限制设备如何使用 VPC 终端节点连接到安全隧道代理服务器。VPC 终端节点策略遵循类似 IAM 的语法,并在 VPC 终端节点本身上进行配置。

请注意,代理服务器 VPC 终端节点策略唯一支持的 IAM 操作是iot:ConnectToTunnel

以下是不同的 VPC 终端节点策略的示例。

代理服务器 VPC 终端节点策略示例

以下示例显示了常见用例的代理服务器 VPC 终端节点策略配置。

例 -默认策略

此策略允许您的 VPC 内的设备通过任何 Amazon 账户连接到创建终端节点 Amazon Web Services 区域 所在地的任何隧道。

{ "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "*", "Resource": "*" } ] }
例 -限制对特定 Amazon 账户的访问权限

此策略仅允许 VPC 终端节点连接到特定 Amazon 账户中的隧道。

{ "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "iot:ConnectToTunnel", "Resource": [ "arn:aws:iot:us-east-1:111122223333:tunnel/*", "arn:aws:iot:us-east-1:444455556666:tunnel/*" ] } ] }
例 -通过隧道端点限制连接

您可以将 VPC 终端节点访问限制为仅允许设备连接到隧道的源端或目标端。

仅限来源:

{ "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "iot:ConnectToTunnel", "Resource": "*", "Condition": { "StringEquals": { "iot:ClientMode": "source" } } } ] }

仅限目的地:

{ "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "iot:ConnectToTunnel", "Resource": "*", "Condition": { "StringEquals": { "iot:ClientMode": "destination" } } } ] }
例 -根据资源标签限制访问权限

此策略仅允许 VPC 终端节点连接到标有特定键值对的隧道。

{ "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "iot:ConnectToTunnel", "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/Environment": "Production" } } } ] }
例 -综合保单条件

此策略演示了如何组合多个策略元素。它允许连接到特定 Amazon 账户中的任何隧道,但前提是隧道标记AllowConnectionsThroughPrivateLink为设置为,true并且客户端未连接到隧道的目标端。

{ "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "iot:ConnectToTunnel", "Resource": [ "arn:aws:iot:us-east-1:111122223333:tunnel/*" ], "Condition": { "StringEquals": { "aws:ResourceTag/AllowConnectionsThroughPrivateLink": "true" } } }, { "Effect": "Deny", "Principal": "*", "Action": "iot:ConnectToTunnel", "Resource": [ "arn:aws:iot:us-east-1:111122223333:tunnel/*" ], "Condition": { "StringEquals": { "iot:ClientMode": "destination" } } } ] }

后续步骤

在为创建和配置您的 VPC 终端节点后 Amazon IoT Secure Tunneling,请考虑以下事项:

  • 通过终端节点连接设备,测试您的 VPC 终端节点配置。

  • 通过 Amazon CloudWatch 指标监控 VPC 终端节点的使用情况。

  • 根据您的安全要求,根据需要查看和更新您的 VPC 终端节点策略。

有关 Amazon IoT Device Management 安全隧道的更多信息,请参阅。Amazon IoT Secure Tunneling