

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

# IDT 使用量指标
<a name="idt-usage-metrics"></a>

如果您提供具有所需权限的 AWS 证书，则 AWS IoT Device Tester 会收集使用情况指标并将其提交给 AWS。这是一项可选功能，用来改进 IDT 功能。IDT 将收集以下信息：
+ 用于运行 AWS 账户 IDT 的 ID
+  用于运行测试的 IDT AWS CLI 命令
+ 正在运行的测试套件
+ {{<device-tester-extract-location>}}文件夹中的测试套件
+ 设备池中配置的设备数量
+ 测试用例名称和运行时间
+ 测试结果信息，例如测试是通过、失败、遇到错误，还是已被跳过
+ 测试的产品功能
+ IDT 退出行为，例如意外退出或提前退出 

 IDT 发送的所有信息也会记录到 `{{<device-tester-extract-location>}}/results/{{<execution-id>}}/` 文件夹下的 `metrics.log` 文件中。您可以查看日志文件以检查在测试运行期间收集的信息。只有选择了收集使用量指标后，才会生成此文件。

要禁用指标收集，您无需采取其他操作。请不要存储您的 AWS 凭证，如果您确实存储了 AWS 凭据，也不要将`config.json`文件配置为访问它们。

## 配置您的 AWS 凭证
<a name="configure-aws-creds-for-metrics"></a>

如果您还没有 AWS 账户，则必须[创建一个](#idt-metrics-aws-account)。如果您已经拥有 AWS 账户，则只需为您的账户[配置所需的权限](#idt-metrics-permissions)，以允许 IDT 代表您向其发送使用量指标。 AWS 

### 步骤 1：创建一个 AWS 账户
<a name="idt-metrics-aws-account"></a>

在此步骤中，将创建并配置 AWS 账户。如果您已有 AWS 账户，请跳至 [步骤 2：为 IDT 配置权限](#idt-metrics-permissions)。

如果您没有 AWS 账户，请完成以下步骤来创建一个。

**报名参加 AWS 账户**

1. 打开[https://portal.aws.amazon.com/billing/注册。](https://portal.aws.amazon.com/billing/signup)

1. 按照屏幕上的说明操作。

   在注册时，将接到电话或收到短信，要求使用电话键盘输入一个验证码。

   当您注册时 AWS 账户，就会创建*AWS 账户根用户*一个。根用户有权访问该账户中的所有 AWS 服务 和资源。作为最佳安全实践，请为用户分配管理访问权限，并且只使用根用户来执行[需要根用户访问权限的任务](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)。

要创建管理员用户，请选择以下选项之一。


****  

| 选择一种方法来管理您的管理员 | 目标 | 方式 | 您也可以 | 
| --- | --- | --- | --- | 
| 在 IAM Identity Center 中 （推荐） | 使用短期凭证访问 AWS。这符合安全最佳实操。有关最佳实践的信息，请参阅《IAM 用户指南》**中的 [IAM 中的安全最佳实践](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp)。 | 有关说明，请参阅《AWS IAM Identity Center 用户指南》中的[入门](https://docs.aws.amazon.com//singlesignon/latest/userguide/getting-started.html)。 | 通过在《AWS Command Line Interface 用户指南[》 AWS IAM Identity Center中配置 AWS CLI 要使用的来](https://docs.aws.amazon.com//cli/latest/userguide/cli-configure-sso.html)配置编程访问权限。 | 
| 在 IAM 中 （不推荐使用） | 使用长期凭证访问 AWS。 | 按照《IAM 用户指南》中的[创建用于紧急访问的 IAM 用户](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started-emergency-iam-user.html)中的说明进行操作。 | 按照《IAM 用户指南》中的[管理 IAM 用户的访问密钥](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_credentials_access-keys.html)，配置编程式访问。 | 

### 步骤 2：为 IDT 配置权限
<a name="idt-metrics-permissions"></a>

在此步骤中，将配置 IDT 运行测试和收集 IDT 使用情况数据所需的权限。您可以使用 AWS 管理控制台 或 AWS Command Line Interface (AWS CLI) 为 IDT 创建 IAM 策略和用户，然后将策略附加到该用户。
+ [为 IDT 配置权限（控制台）](#idt-metrics-permissions-console)
+ [为 IDT 配置权限 (AWS CLI)](#idt-metrics-permissions-cli)<a name="idt-metrics-permissions-console"></a>

**为 IDT 配置权限（控制台）**

请按照以下步骤使用控制台为 IDT for AWS IoT Greengrass配置权限。

1. 登录 [IAM 控制台](https://console.aws.amazon.com/iam)。

1. 创建客户托管策略，该策略授权创建具有特定权限的角色。

   1. 在导航窗格中，选择 **策略**，然后选择 **创建策略**。

   1. 在 **JSON** 选项卡中，将占位符内容替换为以下策略。

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "iot-device-tester:SendMetrics"
                  ],
                  "Resource": "*"
              }
          ]
      }
      ```

------

   1. 选择**查看策略**。

   1. 对于 **Name (名称)**，请输入 **IDTUsageMetricsIAMPermissions**。在 **Summary (摘要)** 下，查看策略授予的权限。

   1. 选择**创建策略**。

1. 创建 IAM 用户并将权限附加到该用户。

   1. 创建 IAM 用户。按照 *IAM 用户指南*的[创建 IAM 用户（控制台）](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html#id_users_create_console)中的步骤 1 到 5 操作。如果您已创建 IAM 用户，请跳到下一步。

   1. 将权限附加到您的 IAM 用户：

      1. 在 **Set permissions (设置权限)** 页面上，选择 **Attach existing policies to user directly (直接附加现有策略到用户)**。

      1. 搜索您在上一步中创建的**IDTUsage指标IAMPermissions**策略。选中复选框。

   1. 选择**下一步：标签**。

   1. 选择 **Next: Review (下一步：审核)** 以查看您的选择摘要。

   1. 选择**创建用户**。

   1. 要查看用户的访问密钥（访问密钥 IDs 和私有访问密钥），请选择密码和访问密钥旁边的**显示**。要保存访问密钥，请选择**Download.csv (下载 .csv)**，然后将文件保存到安全位置。稍后您将使用此信息来配置您的 AWS 凭据文件。

 <a name="idt-metrics-permissions-cli"></a>

**为 IDT 配置权限 (AWS CLI)**

按照以下步骤 AWS CLI 使用配置 IDT 的 AWS IoT Greengrass权限。

1.  AWS CLI 如果尚未安装，请在您的计算机上进行安装和配置。按照《AWS Command Line Interface 用户指南》**中[安装 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) 的步骤来操作。
**注意**  
 AWS CLI 是一个开源工具，可用于通过命令行 shell 与 AWS 服务进行交互。

1. 创建以下客户托管策略，授予管理 IDT 和 AWS IoT Greengrass 角色的权限。

------
#### [ Linux or Unix ]

   ```
   aws iam create-policy --policy-name IDTUsageMetricsIAMPermissions --policy-document '{
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "iot-device-tester:SendMetrics"
               ],
               "Resource": "*"
           }
       ]
   }'
   ```

------
#### [ Windows command prompt ]

   ```
   aws iam create-policy --policy-name IDTUsageMetricsIAMPermissions --policy-document
                                           '{\"Version\": \"2012-10-17\",		 	 	  \"Statement\": [{\"Effect\": \"Allow\", \"Action\": [\"iot-device-tester:SendMetrics\"], \"Resource": \"*\"}]}'
   ```

**注意**  
此步骤包含一个 Windows 命令提示符示例，因为它使用的 JSON 语法与 Linux、macOS 或 Unix 终端命令不同。

------
#### [ PowerShell ]

   ```
   aws iam create-policy --policy-name IDTUsageMetricsIAMPermissions --policy-document '{
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "iot-device-tester:SendMetrics"
               ],
               "Resource": "*"
           }
       ]
   }'
   ```

------

1. 创建 IAM 用户并附加适用于 AWS IoT Greengrass的 IDT 所需的权限。

   1. 创建 IAM 用户。

      ```
      aws iam create-user --user-name {{user-name}}
      ```

   1. 将您创建的 `IDTUsageMetricsIAMPermissions` 策略附加到 IAM 用户。{{user-name}}替换为您的 IAM 用户名，{{<account-id>}}在命令中替换为您的 ID AWS 账户。

      ```
      aws iam attach-user-policy --user-name {{user-name}} --policy-arn arn:aws:iam::{{<account-id>}}:policy/IDTGreengrassIAMPermissions
      ```

1. 为用户创建私密访问密钥。

   ```
   aws iam create-access-key --user-name {{user-name}}
   ```

   将输出存储在安全位置。稍后您将使用此信息来配置您的 AWS 凭据文件。

## 向 ID AWS T 提供凭证
<a name="idt-metrics-creds"></a>

要允许 IDT 访问您的 AWS 凭证并向其提交指标 AWS，请执行以下操作：

1. 将您的 IAM 用户的 AWS 证书存储为环境变量或存储在证书文件中：

   1. 要使用环境变量，请运行以下命令。

------
#### [ Linux or Unix ]

      ```
      export AWS_ACCESS_KEY_ID={{access-key}}
      export AWS_SECRET_ACCESS_KEY={{secret-access-key}}
      ```

------
#### [ Windows Command Prompt (CMD) ]

      ```
      set AWS_ACCESS_KEY_ID={{access-key}}
      set AWS_SECRET_ACCESS_KEY={{secret-access-key}}
      ```

------
#### [ PowerShell ]

      ```
      $env:AWS_ACCESS_KEY_ID="{{access-key}}"
      $env:AWS_SECRET_ACCESS_KEY="{{secret-access-key}}"
      ```

------

   1. 要使用凭证文件，请将以下信息添加到 `~/.aws/credentials` 文件。

      ```
      [profile-name]
      aws_access_key_id={{access-key}}
      aws_secret_access_key={{secret-access-key}}
      ```

1. 配置 `config.json` 文件的 `auth` 部分。有关更多信息，请参阅 [（可选）配置 config.json](set-custom-idt-config.md#config-json-custom)。