本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定
第一次使用 Device Advisor 之前,請先完成以下任務:
建立 IoT 物件
首先,建立 IoT 物件並將憑證連接至該物件。如需如何建立物件的教學課程,請參閱建立物件。
建立IAM角色以用作您的裝置角色
注意
您可以使用 Device Advisor 主控台快速建立裝置角色。若要了解如何使用 Device Advisor 主控台設定裝置角色,請參閱在主控台中開始使用 Device Advisor。
-
前往AWS Identity and Access Management 主控台
,並登入 AWS 帳戶 您用於 Device Advisor 測試的 。 -
在左側導覽窗格上,選擇 Policies (政策)。
-
選擇 Create policy (建立政策)。
-
在 Create policy (建立政策) 下,執行下列操作:
-
針對 Service (服務),選擇 IoT。
-
在動作下,執行下列其中一個動作:
-
(建議) 根據連接至您在上一節中建立之 IoT 物件或憑證的政策選取動作。
-
在篩選動作方塊中搜尋下列動作,並選取它們:
-
Connect
-
Publish
-
Subscribe
-
Receive
-
RetainPublish
-
-
-
在資源下,限制用戶端、主題和主題資源。限制這些資源是安全最佳實務。若要限制資源,請執行下列動作:
-
選擇指定 Connect 動作 ARN 的用戶端資源。
-
選擇新增 ARN,然後執行下列任一動作:
注意
clientId 是您的裝置用來與 Device Advisor 互動的MQTT用戶端 ID。
-
在視覺效果ARN編輯器中指定區域 、 accountID和 clientID。
-
手動輸入您要執行測試案例的 IoT 主題的 Amazon Resource Names (ARNs)。
-
-
選擇新增。
-
選擇指定接收和另一個動作 ARN 的主題資源。
-
選擇新增 ARN,然後執行下列任一動作:
注意
主題名稱是您的裝置發佈訊息MQTT的主題。
-
在視覺效果ARN編輯器中指定區域 、 accountID和主題名稱。
-
手動輸入您要用來執行測試案例ARNs的 IoT 主題。
-
-
選擇新增。
-
選擇ARN為訂閱動作 指定 topicFilter 資源。
-
選擇新增 ARN,然後執行下列任一動作:
注意
主題名稱是您的裝置訂閱MQTT的主題。
-
在視覺效果ARN編輯器中指定區域 、 accountID和主題名稱。
-
手動輸入您要用來執行測試案例ARNs的 IoT 主題。
-
-
選擇新增。
-
-
-
選擇下一步:標籤。
-
選擇下一步:檢閱。
-
在檢閱政策下,針對您的政策輸入一個名稱。
-
選擇 Create policy (建立政策)。
-
在左側導覽窗格上,選擇 Roles (角色)。
-
選擇建立角色。
-
在選取信任的實體下,選擇自訂信任政策。
-
在自訂信任政策方塊中輸入下列信任政策。建議您新增全域條件內容金鑰
aws:SourceArn
和aws:SourceAccount
至政策,保護自己免受混淆代理人問題的困擾。重要
您的
aws:SourceArn
必須與format: arn:aws:iotdeviceadvisor:
相符。請確認region:account-id
:*.
與您的 AWS IoT 區域符合,且region
與您的客戶帳戶 ID 相符。如需詳細資訊,請參閱預防跨服務混淆代理人。account-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/*" } } } ] }
-
選擇 Next (下一步)。
-
選擇您在步驟 4 所建立的政策。
-
(選用) 在設定許可界限下,選擇使用許可界限來控制角色許可上限,然後選取您已建立的政策。
-
選擇 Next (下一步)。
-
輸入 Role name (角色名稱) 和 Role description (角色描述)。
-
選擇 Create Role (建立角色)。
建立自訂受管政策,IAM讓使用者使用 Device Advisor
-
在 導覽至IAM主控台https://console.aws.amazon.com/iam/
。若出現提示,請輸入 AWS 憑證以進行登入。 -
在左側導覽窗格中選擇 Policies (政策)。
-
選擇建立政策 ,然後選擇 JSON 索引標籤。
-
新增必要的許可以使用 Device Advisor。政策文件可在安全最佳實務主題中找到。
-
選擇檢閱政策。
-
輸入 Name (名稱) 和 Description (描述)。
-
選擇 建立政策 。
建立IAM使用者以使用 Device Advisor
注意
我們建議您建立IAM使用者,以便在執行 Device Advisor 測試時使用。從管理員使用者執行 Device Advisor 測試可能會造成安全風險,因此不建議此操作。
-
導覽至IAM主控台,網址為 。https://console.aws.amazon.com/iam/
如果出現提示,請輸入您的 AWS 憑證以登入。 -
在左側導覽窗格中,選擇 Users (使用者)。
-
選擇 Add User (新增使用者)。
-
輸入 User name (使用者名稱)。
-
如果使用者想要與 AWS 外部互動,則需要程式設計存取權 AWS Management Console。授予程式設計存取權的方式取決於存取 的使用者類型 AWS。
若要授與使用者程式設計存取權,請選擇下列其中一個選項。
哪個使用者需要程式設計存取權? 到 By 人力身分
(在 IAM Identity Center 中管理的使用者)
使用暫時憑證簽署對 AWS CLI AWS SDKs、 或 的程式設計請求 AWS APIs。 請依照您要使用的介面所提供的指示操作。
-
對於 AWS CLI,請參閱 使用者指南 中的設定 AWS CLI 要使用 AWS IAM Identity Center的 。 AWS Command Line Interface
-
如需 AWS SDKs、工具和 AWS APIs,請參閱 AWS SDKs和 工具參考指南 中的IAM身分中心身分驗證。
IAM 使用暫時憑證簽署對 AWS CLI AWS SDKs、 或 的程式設計請求 AWS APIs。 請遵循 IAM 使用者指南 中的將臨時憑證與 AWS 資源搭配使用的指示。 IAM (不建議使用)
使用長期憑證簽署對 AWS CLI AWS SDKs、 或 的程式設計請求 AWS APIs。請依照您要使用的介面所提供的指示操作。
-
對於 AWS CLI,請參閱 AWS Command Line Interface 使用者指南 中的使用IAM使用者憑證進行驗證。
-
如需 AWS SDKs 和 工具,請參閱 AWS SDKs和 工具參考指南 中的使用長期憑證進行驗證。
-
對於 AWS APIs,請參閱 IAM 使用者指南 中的管理IAM使用者的存取金鑰。
-
-
選擇下一步:許可。
-
若要提供存取權,請新增權限至您的使用者、群組或角色:
-
中的使用者和群組 AWS IAM Identity Center:
建立權限合集。請按照 AWS IAM Identity Center 使用者指南 中的 建立權限合集 說明進行操作。
-
IAM 透過身分提供者在 中管理的使用者:
建立聯合身分的角色。請遵循 IAM 使用者指南 中為第三方身分提供者 (聯合) 建立角色的指示。
-
IAM 使用者:
-
建立您的使用者可擔任的角色。請遵循 IAM 使用者指南 中為IAM使用者建立角色的指示。
-
(不建議) 將政策直接附加至使用者,或將使用者新增至使用者群組。請遵循 IAM 使用者指南 中的將許可新增至使用者 (主控台) 中的指示。
-
-
-
在搜尋方塊中,輸入您已建立之客戶管理政策的名稱。然後,選取政策名稱的核取方塊。
-
選擇下一步:標籤。
-
選擇 Next:Review (下一步:檢閱)。
-
選擇 Create user (建立使用者)。
-
選擇關閉。
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