設定 - AWS IoT Core

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

設定

第一次使用 Device Advisor 之前,請先完成以下任務:

建立 IoT 物件

首先,建立 IoT 物件並將憑證連接至該物件。如需如何建立物件的教學課程,請參閱建立物件

建立IAM角色以用作您的裝置角色

注意

您可以使用 Device Advisor 主控台快速建立裝置角色。若要了解如何使用 Device Advisor 主控台設定裝置角色,請參閱在主控台中開始使用 Device Advisor

  1. 前往AWS Identity and Access Management 主控台,並登入 AWS 帳戶 您用於 Device Advisor 測試的 。

  2. 在左側導覽窗格上,選擇 Policies (政策)。

  3. 選擇 Create policy (建立政策)

  4. Create policy (建立政策) 下,執行下列操作:

    1. 針對 Service (服務),選擇 IoT

    2. 動作下,執行下列其中一個動作:

      • (建議) 根據連接至您在上一節中建立之 IoT 物件或憑證的政策選取動作。

      • 篩選動作方塊中搜尋下列動作,並選取它們:

        • Connect

        • Publish

        • Subscribe

        • Receive

        • RetainPublish

    3. 資源下,限制用戶端、主題和主題資源。限制這些資源是安全最佳實務。若要限制資源,請執行下列動作:

      1. 選擇指定 Connect 動作 ARN 的用戶端資源

      2. 選擇新增 ARN,然後執行下列任一動作:

        注意

        clientId 是您的裝置用來與 Device Advisor 互動的MQTT用戶端 ID。

        • 在視覺效果ARN編輯器中指定區域 accountIDclientID

        • 手動輸入您要執行測試案例的 IoT 主題的 Amazon Resource Names (ARNs)。

      3. 選擇新增

      4. 選擇指定接收和另一個動作 ARN 的主題資源

      5. 選擇新增 ARN,然後執行下列任一動作:

        注意

        主題名稱是您的裝置發佈訊息MQTT的主題。

        • 在視覺效果ARN編輯器中指定區域 accountID主題名稱

        • 手動輸入您要用來執行測試案例ARNs的 IoT 主題。

      6. 選擇新增

      7. 選擇ARN為訂閱動作 指定 topicFilter 資源

      8. 選擇新增 ARN,然後執行下列任一動作:

        注意

        主題名稱是您的裝置訂閱MQTT的主題。

        • 在視覺效果ARN編輯器中指定區域 accountID主題名稱

        • 手動輸入您要用來執行測試案例ARNs的 IoT 主題。

      9. 選擇新增

  5. 選擇下一步:標籤

  6. 選擇下一步:檢閱

  7. 檢閱政策下,針對您的政策輸入一個名稱

  8. 選擇 Create policy (建立政策)

  9. 在左側導覽窗格上,選擇 Roles (角色)。

  10. 選擇建立角色

  11. 選取信任的實體下,選擇自訂信任政策

  12. 自訂信任政策方塊中輸入下列信任政策。建議您新增全域條件內容金鑰 aws:SourceArnaws:SourceAccount 至政策,保護自己免受混淆代理人問題的困擾。

    重要

    您的 aws:SourceArn 必須與 format: arn:aws:iotdeviceadvisor:region:account-id:*. 相符。請確認 region 與您的  AWS IoT  區域符合,且 account-id 與您的客戶帳戶 ID 相符。如需詳細資訊,請參閱預防跨服務混淆代理人

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAwsIoTCoreDeviceAdvisor", "Effect": "Allow", "Principal": { "Service": "iotdeviceadvisor.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "ArnLike": { "aws:SourceArn": "arn:aws:iotdeviceadvisor:*:111122223333:suitedefinition/*" } } } ] }
  13. 選擇 Next (下一步)

  14. 選擇您在步驟 4 所建立的政策。

  15. (選用) 在設定許可界限下,選擇使用許可界限來控制角色許可上限,然後選取您已建立的政策。

  16. 選擇 Next (下一步)

  17. 輸入 Role name (角色名稱) 和 Role description (角色描述)。

  18. 選擇 Create Role (建立角色)。

建立自訂受管政策,IAM讓使用者使用 Device Advisor

  1. 在 導覽至IAM主控台https://console.aws.amazon.com/iam/。若出現提示,請輸入 AWS 憑證以進行登入。

  2. 在左側導覽窗格中選擇 Policies (政策)。

  3. 選擇建立政策 ,然後選擇 JSON 索引標籤。

  4. 新增必要的許可以使用 Device Advisor。政策文件可在安全最佳實務主題中找到。

  5. 選擇檢閱政策

  6. 輸入 Name (名稱)Description (描述)

  7. 選擇 建立政策

建立IAM使用者以使用 Device Advisor

注意

我們建議您建立IAM使用者,以便在執行 Device Advisor 測試時使用。從管理員使用者執行 Device Advisor 測試可能會造成安全風險,因此不建議此操作。

  1. 導覽至IAM主控台,網址為 。https://console.aws.amazon.com/iam/如果出現提示,請輸入您的 AWS 憑證以登入。

  2. 在左側導覽窗格中,選擇 Users (使用者)。

  3. 選擇 Add User (新增使用者)。

  4. 輸入 User name (使用者名稱)。

  5. 如果使用者想要與 AWS 外部互動,則需要程式設計存取權 AWS Management Console。授予程式設計存取權的方式取決於存取 的使用者類型 AWS。

    若要授與使用者程式設計存取權,請選擇下列其中一個選項。

    哪個使用者需要程式設計存取權? By

    人力身分

    (在 IAM Identity Center 中管理的使用者)

    使用暫時憑證簽署對 AWS CLI AWS SDKs、 或 的程式設計請求 AWS APIs。

    請依照您要使用的介面所提供的指示操作。

    IAM 使用暫時憑證簽署對 AWS CLI AWS SDKs、 或 的程式設計請求 AWS APIs。 請遵循 IAM 使用者指南 中的將臨時憑證與 AWS 資源搭配使用的指示。
    IAM

    (不建議使用)

    使用長期憑證簽署對 AWS CLI AWS SDKs、 或 的程式設計請求 AWS APIs。

    請依照您要使用的介面所提供的指示操作。

  6. 選擇下一步:許可

  7. 若要提供存取權,請新增權限至您的使用者、群組或角色:

  8. 在搜尋方塊中,輸入您已建立之客戶管理政策的名稱。然後,選取政策名稱的核取方塊。

  9. 選擇下一步:標籤

  10. 選擇 Next:Review (下一步:檢閱)

  11. 選擇 Create user (建立使用者)。

  12. 選擇關閉

Device Advisor 需要代表您存取您的 AWS 資源 (物件、憑證和端點)。您的IAM使用者必須具有必要的許可。 CloudWatch 如果您將必要的許可政策連接至IAM使用者,Device Advisor 也會將日誌發佈至 Amazon。

設定您的裝置

Device Advisor 會使用伺服器名稱指示 (SNI) TLS延伸模組來套用TLS組態。在裝置連線並傳遞與 Device Advisor 測試端點相同的伺服器名稱時,它們必須使用此延伸。

Device Advisor 允許測試處於 Running 狀態時的TLS連線。它會在每次測試執行前後拒絕TLS連線。基於這個原因,我們建議您使用裝置連線重試機制,以取得 Device Advisor 的全自動化測試體驗。您可以執行包含多個測試案例的測試套件,例如TLS連線、MQTT連線和MQTT發佈。如果您執行多個測試案例,我們建議您的裝置每五秒嘗試連線到我們的測試端點。然後,您可以使多個測試案例依序自動執行。

注意

若要準備好測試您的裝置軟體,建議您使用可連線至 SDK的 AWS IoT Core。然後,您應該SDK使用為 提供的 Device Advisor 測試端點來更新 AWS 帳戶。

Device Advisor 支援兩種類型的端點:帳戶層級和裝置層級端點。選擇最適合您使用案例的端點。若要針對不同裝置同時執行多個測試套件,請使用裝置層級端點。

請執行下列命令來取得裝置層級端點:

對於使用 X.509 用戶端憑證MQTT的客戶:

aws iotdeviceadvisor get-endpoint --thing-arn your-thing-arn

aws iotdeviceadvisor get-endpoint --certificate-arn your-certificate-arn

對於使用 Signature 第 4 版的MQTT超過 位 WebSocket 客戶:

aws iotdeviceadvisor get-endpoint --device-role-arn your-device-role-arn --authentication-method SignatureVersion4

若要一次執行一個測試套件,請選擇 Account-level endpoint (帳戶層級端點)。請執行下列命令來取得帳戶層級端點:

aws iotdeviceadvisor get-endpoint