設定 - AWS IoT Core

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

設定

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

建立 IoT 物件

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

建立要用作裝置角色的 IAM 角色

注意

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

  1. 移至AWS Identity and Access Management 主控台,然後登入 AWS 帳戶 您用於「裝置建議程式」測試的。

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

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

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

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

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

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

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

        • Connect

        • Publish

        • Subscribe

        • Receive

        • RetainPublish

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

      1. 選擇 Specify client resource ARN for the Connect action (指定 Connect 動作的用戶端資源 ARN)。

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

        注意

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

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

        • 手動輸入您想要透過其執行測試案例之 IoT 主題的 Amazon Resource Name (ARN)。

      3. 選擇新增

      4. 選擇指定 Receive 動作和另外 1 個動作的主題資源 ARN

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

        注意

        主題名稱是您裝置將訊息發佈至其中的 MQTT 主題。

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

        • 手動輸入您想要透過其執行測試案例之 IoT 主題的 ARN。

      6. 選擇 Add (新增)

      7. 選擇指定 Subscribe 動作的 topicFilter 資源 ARN

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

        注意

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

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

        • 手動輸入您想要透過其執行測試案例之 IoT 主題的 ARN。

      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. 選擇下一步

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

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

  16. 選擇下一步

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

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

為要使用 Device Advisor 的 IAM 使用者建立自訂受管政策

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

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

  3. 選擇 Create Policy (建立政策),然後選擇 JSON 標籤。

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

  5. 選擇檢閱政策

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

  7. 選擇 Create Policy (建立政策)。

建立要使用 Device Advisor 的 IAM 使用者

注意

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

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

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

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

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

  5. 如果使用者想要與 AWS 之外的 AWS Management Console. 授與程式設計存 AWS取權的方式取決於正在存取的使用者類型。

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

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

    人力身分

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

    使用臨時登入資料來簽署對 AWS CLI、 AWS SDK 或 AWS API 的程式設計要求。

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

    IAM 使用臨時登入資料來簽署對 AWS CLI、 AWS SDK 或 AWS API 的程式設計要求。 遵循《IAM 使用者指南》中的〈將臨時登入資料搭配 AWS 資源使用〉中的指
    IAM

    (不建議使用)

    使用長期認證簽署對 AWS CLI、 AWS SDK 或 AWS API 的程式設計要求。

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

  6. 選擇下一步:許可

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

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

  9. 選擇下一步:標籤

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

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

  12. 選擇關閉

裝置顧問需要代表您存取您的 AWS 資源 (物件、憑證和端點)。您的 IAM 使用者必須擁有必要的許可。 CloudWatch 如果您將必要的許可政策附加到 IAM 使用者,裝置顧問也會將日誌發佈到 Amazon。

設定您的裝置

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

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

注意

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

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

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

若為使用 X.509 用戶端憑證的 MQTT 客戶:

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

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

對於使用「簽名版本 4」的 WebSocket 客戶的 MQTT:

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

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

aws iotdeviceadvisor get-endpoint