搭配界面 VPC 端點使用AWS IoT Device Management安全通道 - AWS IoT Core

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

搭配界面 VPC 端點使用AWS IoT Device Management安全通道

AWS IoT Device Management安全通道支援介面 VPC 端點。您可以使用 VPC 端點來保留 VPC 與AWS網路AWS IoT Secure Tunneling之間的流量,而不需要網際網路閘道、NAT 裝置、VPN 連接或AWS Direct Connect連線。

介面 VPC 端點採用 AWS PrivateLink技術,這項技術可讓您使用私有 IP 地址來私下存取 服務。如需詳細資訊,請參閱《 AWS PrivateLink指南》中的使用介面 VPC 端點存取 AWS服務

先決條件

為 建立 VPC 端點之前AWS IoT Secure Tunneling,請確認您有下列項目:

  • 具有建立 VPC 端點必要許可AWS的帳戶。

  • 您AWS帳戶中的 VPC。

  • 了解AWS IoT Device Management安全通道概念。

  • 熟悉 VPC 端點政策和 AWS Identity and Access Management(IAM)

透過 VPC 端點接收通道通知

若要透過 VPC 端點接收通道通知,您的裝置可以透過 VPC 端點連線至AWS IoT Core資料平面,並訂閱安全通道預留 MQTT 主題。

如需如何在AWS IoT Core資料平面中建立和設定 VPC 端點的說明,請參閱《 AWS IoT開發人員指南》中的使用 AWS 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> 取代為您的 AWS 區域。例如 us-east-1

  3. 根據您的網路需求,完成 VPC 端點建立程序中剩餘的步驟。

在 Proxy 伺服器上設定 VPC 端點政策

除了用來授權通道連線的用戶端存取字符型授權之外,您還可以使用 VPC 端點政策進一步限制裝置如何使用 VPC 端點連線到安全通道 Proxy Server。VPC 端點政策遵循類似 IAM 的語法,並在 VPC 端點本身上設定。

請注意,代理伺服器 VPC 端點政策唯一支援的 IAM 動作是 iot:ConnectToTunnel

以下是不同 VPC 端點政策的範例。

Proxy 伺服器 VPC 端點政策範例

下列範例顯示常見使用案例的 Proxy Server VPC 端點政策組態。

範例 - 預設政策

此政策允許 VPC 中的裝置連線到任何帳戶中建立AWS端點AWS 區域的相同 中的任何通道。

{ "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "*", "Resource": "*" } ] }
範例 - 限制存取特定AWS帳戶

此政策允許 VPC 端點僅連線到特定AWS帳戶中的通道。

{ "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" } } } ] }
範例 - 合併政策條件

此政策示範結合多個政策元素。它允許連線到特定AWS帳戶中的任何通道,但前提是通道已標記為 AllowConnectionsThroughPrivateLinktrue用戶端未連線到通道的目的地端。

{ "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 端點之後AWS IoT Secure Tunneling,請考慮下列事項:

  • 透過端點連線裝置,以測試您的 VPC 端點組態。

  • 透過Amazon CloudWatch指標監控 VPC 端點用量。

  • 根據您的安全需求,視需要檢閱和更新 VPC 端點政策。

如需AWS IoT Device Management安全通道的詳細資訊,請參閱 AWS IoT Secure Tunneling