

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

# 配置 IDT 设置以运行 AWS IoT Greengrass 资格套件
<a name="set-config"></a>

在运行测试之前，您必须在主机上配置 AWS 凭据和设备的设置。

## 在 config.json 中配置 AWS 凭据
<a name="cfg-aws-gg"></a>

您必须在 `<device_tester_extract_location>/configs/config.json` 文件中配置 IAM 用户凭证。使用中创建的 AWS IoT Greengrass V2 版 IDT 用户的凭证。[创建和配置 AWS 账户](dev-tst-prereqs.md#config-aws-account-for-idt)您可以采用以下两种方法之一来指定凭证：
+ 在凭证文件中
+ 作为环境变量

### 使用 AWS 凭证文件配置凭证
<a name="config-cred-file"></a>

IDT 使用与 AWS CLI相同的凭证文件。有关更多信息，请参阅[配置和凭证文件](https://docs.aws.amazon.com/cli/latest/userguide/cli-config-files.html)。

凭证文件的位置因您使用的操作系统而异：
+ macOS、Linux：`~/.aws/credentials`
+ Windows：`C:\Users\UserName\.aws\credentials`

按以下格式将您的 AWS 凭证添加到`credentials`文件中：

```
[default]
aws_access_key_id = <your_access_key_id>
aws_secret_access_key = <your_secret_access_key>
```

要将 IDT f AWS IoT Greengrass or V2 配置为使用`credentials`文件中的 AWS 凭据，请按如下方式编辑您的`config.json`文件：

```
{
  "awsRegion": "region",
  "auth": {
    "method": "file",
    "credentials": {
      "profile": "default"
    }
  }
}
```

**注意**  
如果您不使用`default` AWS 配置文件，请务必更改文件中的配置`config.json`文件名称。有关更多信息，请参阅[命名配置文件](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html)。

### 使用环境变量配置 AWS 凭证
<a name="config-env-vars"></a>

环境变量是由操作系统维护且由系统命令使用的变量。如果您关闭 SSH 会话，则不会保存它们。适用于 AWS IoT Greengrass V2 的 IDT 可以使用`AWS_ACCESS_KEY_ID`和`AWS_SECRET_ACCESS_KEY`环境变量来存储您的 AWS 证书。

要在 Linux、macOS 或 Unix 上设置这些变量，请使用 **export**：

```
export AWS_ACCESS_KEY_ID=<your_access_key_id>
export AWS_SECRET_ACCESS_KEY=<your_secret_access_key>
```

要在 Windows 上设置这些变量，请使用 **set**：

```
set AWS_ACCESS_KEY_ID=<your_access_key_id>
set AWS_SECRET_ACCESS_KEY=<your_secret_access_key>
```

要配置 IDT 以使用环境变量，请编辑 `config.json` 文件中的 `auth` 部分。示例如下：

```
{
  "awsRegion": "region",
  "auth": {
    "method": "environment"
  }
}
```

## 配置 device.json
<a name="device-config"></a>

**注意**  
IDT v4.9.3 支持测试 `ml`、`docker` 和 `streamManagement` 功能。IDT v4.9.4 及更高版本支持测试 `docker`。如果您不希望测试这些功能，请将相应的值设置为 `no`。

除了 AWS 凭证外，IDT fo AWS IoT Greengrass r V2 还需要有关运行测试的设备的信息。示例信息包括 IP 地址、登录信息、操作系统和 CPU 架构。

您必须使用位于 ` <device_tester_extract_location>/configs/device.json` 中的 `device.json` 模板提供此信息：

------
#### [ IDT v4.9.3 ]

```
[
  {
    "id": "<pool-id>",
    "sku": "<sku>",
    "features": [
      {
        "name": "arch",
        "value": "x86_64 | armv6l | armv7l | aarch64"
      },
      {
        "name": "ml",
        "value": "dlr | tensorflowlite | dlr,tensorflowlite | no"
      },
      {
        "name": "docker",
        "value": "yes | no"
      },
      {
        "name": "streamManagement",
        "value": "yes | no"
      }, 
      {
        "name": "hsi", 
        "value": "hsm | no" 
      }
    ],
    "devices": [
      {
        "id": "<device-id>",
        "operatingSystem": "Linux | Windows",
        "connectivity": {
          "protocol": "ssh",
          "ip": "<ip-address>",
          "port": 22,
          "publicKeyPath": "<public-key-path>",
          "auth": {
            "method": "pki | password",
            "credentials": {
              "user": "<user-name>",
              "privKeyPath": "/path/to/private/key",
              "password": "<password>"
            }
          }
        }
      }
    ]
  }
]
```

**注意**  
只有当 `method` 设置为 `pki` 时才指定 `privKeyPath`。  
只有当 `method` 设置为 `password` 时才指定 `password`。

包含值的所有属性均为必填字段，如下所述：

`id`  
一个用户定义的字母数字 ID，用于唯一地标识称作*设备池*的设备集合。属于池的设备必须具有相同的硬件。运行一组测试时，池中的设备将用于对工作负载进行并行化处理。多个设备用于运行不同测试。

`sku`  
唯一标识所测试设备的字母数字值。该 SKU 用于跟踪符合条件的主板。  
如果您想在设备目录中列出您的 AWS Partner 设备，则在此处指定的 SKU 必须与您在发布过程中使用的 SKU 相匹配。

`features`  
包含设备支持的功能的数组。所有功能都是必需的。    
`arch`  
支持测试运行验证的操作系统架构。有效值为：  
+ `x86_64`
+ `armv6l`
+ `armv7l`
+ `aarch64`  
`ml`  
<a name="description-ml"></a>验证设备是否满足使用 AWS提供的机器学习 (ML) 组件所需的所有技术依赖项。  
启用此功能还可以验证<a name="description-ml-inference-phrase"></a>设备是否可以使用[深度学习运行时和 [TensorFlow Lite](https://www.tensorflow.org/lite/guide/python) ML 框架执行机器学习](https://github.com/neo-ai/neo-ai-dlr)推理。  
有效值是 `dlr` 和 `tensorflowlite` 或 `no` 的任意组合。  
`docker`  
<a name="description-docker"></a>验证设备是否满足使用 AWS提供的 Docker 应用程序管理器 () `aws.greengrass.DockerApplicationManager` 组件所需的所有技术依赖项。  
启用此功能还会验证<a name="description-docker-app-manager-qual-phrase"></a>设备是否可以从 Amazon ECR 下载 Docker 容器镜像。  
有效值是 `yes` 或 `no` 的任意组合。  
`streamManagement`  
<a name="description-sm"></a>验证设备是否可以下载、安装和运行 [AWS IoT Greengrass 流管理器](manage-data-streams.md)。  
有效值是 `yes` 或 `no` 的任意组合。  
`hsi`  
<a name="description-hsi"></a>验证设备是否可以使用存储在硬件安全模块 (HSM) 中的私钥和证书对与和 AWS IoT Greengrass 服务的连接进行身份验证。 AWS IoT 该测试还验证了提供的 [PKCS \$111 AWS提供者组件是否可以使用供应商提供](pkcs11-provider-component.md)的 PKCS \$111 库与 HSM 接口。有关更多信息，请参阅 [硬件安全性集成](hardware-security.md)。  
有效值为 `hsm` 或 `no`。
测试 `hsi` 仅在 IDT v4.9.3 及更高版本中可用。

`devices.id`  
用户定义的测试的设备的唯一标识符。

`devices.operatingSystem`  
设备操作系统。支持的值为 `Linux` 和 `Windows`。

`connectivity.protocol`  
用于与此设备通信的通信协议。目前，物理设备唯一支持的值是 `ssh`。

`connectivity.ip`  
测试的设备 IP 地址。  
<a name="connectivity-protocol-ssh-only"></a>此属性仅在 `connectivity.protocol` 设置为 `ssh` 时适用。

`connectivity.port`  
可选。用于 SSH 连接的端口号。  
默认值为 22。  
此属性仅在 `connectivity.protocol` 设置为 `ssh` 时适用。

`connectivity.publicKeyPath`  
可选。用于验证待测设备连接的公有密钥的完整路径。  
如果指定 `publicKeyPath`，IDT 会在与待测设备建立 SSH 连接时验证设备的公有密钥。如果未指定此值，IDT 将创建 SSH 连接，但不验证设备的公有密钥。  
我们强烈建议您指定公有密钥的路径，并使用安全的方法来获取此公有密钥。对于基于标准命令行的 SSH 客户端，`known_hosts` 文件中提供了公有密钥。如果您指定单独的公有密钥文件，则该文件必须使用与 `known_hosts` 文件相同的格式，即 ` ip-address key-type public-key`。如果有多个条目具有相同 IP 地址，则 IDT 所用密钥类型的条目必须位于文件中的其它条目之前。

`connectivity.auth`  
连接的身份验证信息。  
<a name="connectivity-protocol-ssh-only"></a>此属性仅在 `connectivity.protocol` 设置为 `ssh` 时适用。    
`connectivity.auth.method`  
用于通过给定的连接协议访问设备的身份验证方法。  
支持的值为：  
+ `pki`
+ `password`  
`connectivity.auth.credentials`  
用于身份验证的凭证。    
`connectivity.auth.credentials.password`  
该密码用于登录到正在测试的设备。  
此值仅在 `connectivity.auth.method` 设置为 `password` 时适用。  
`connectivity.auth.credentials.privKeyPath`  
用于登录所测试设备的私有密钥的完整路径。  
此值仅在 `connectivity.auth.method` 设置为 `pki` 时适用。  
`connectivity.auth.credentials.user`  
用于登录所测试设备的用户名。

------
#### [ IDT v4.9.4 ]

```
[
  {
    "id": "<pool-id>",
    "sku": "<sku>",
    "features": [
      {
        "name": "arch",
        "value": "x86_64 | armv6l | armv7l | aarch64"
      },
      {
        "name": "docker",
        "value": "yes | no"
      }, 
      {
        "name": "hsi", 
        "value": "hsm | no" 
      }
    ],
    "devices": [
      {
        "id": "<device-id>",
        "operatingSystem": "Linux | Windows",
        "connectivity": {
          "protocol": "ssh",
          "ip": "<ip-address>",
          "port": 22,
          "publicKeyPath": "<public-key-path>",
          "auth": {
            "method": "pki | password",
            "credentials": {
              "user": "<user-name>",
              "privKeyPath": "/path/to/private/key",
              "password": "<password>"
            }
          }
        }
      }
    ]
  }
]
```

**注意**  
只有当 `method` 设置为 `pki` 时才指定 `privKeyPath`。  
只有当 `method` 设置为 `password` 时才指定 `password`。

包含值的所有属性均为必填字段，如下所述：

`id`  
一个用户定义的字母数字 ID，用于唯一地标识称作*设备池*的设备集合。属于池的设备必须具有相同的硬件。运行一组测试时，池中的设备将用于对工作负载进行并行化处理。多个设备用于运行不同测试。

`sku`  
唯一标识所测试设备的字母数字值。该 SKU 用于跟踪符合条件的主板。  
如果您想在设备目录中列出您的 AWS Partner 设备，则在此处指定的 SKU 必须与您在发布过程中使用的 SKU 相匹配。

`features`  
包含设备支持的功能的数组。所有功能都是必需的。    
`arch`  
支持测试运行验证的操作系统架构。有效值为：  
+ `x86_64`
+ `armv6l`
+ `armv7l`
+ `aarch64`  
`docker`  
<a name="description-docker"></a>验证设备是否满足使用 AWS提供的 Docker 应用程序管理器 () `aws.greengrass.DockerApplicationManager` 组件所需的所有技术依赖项。  
启用此功能还会验证<a name="description-docker-app-manager-qual-phrase"></a>设备是否可以从 Amazon ECR 下载 Docker 容器镜像。  
有效值是 `yes` 或 `no` 的任意组合。  
`hsi`  
<a name="description-hsi"></a>验证设备是否可以使用存储在硬件安全模块 (HSM) 中的私钥和证书对与和 AWS IoT Greengrass 服务的连接进行身份验证。 AWS IoT 该测试还验证了提供的 [PKCS \$111 AWS提供者组件是否可以使用供应商提供](pkcs11-provider-component.md)的 PKCS \$111 库与 HSM 接口。有关更多信息，请参阅 [硬件安全性集成](hardware-security.md)。  
有效值为 `hsm` 或 `no`。
测试 `hsi` 仅在 IDT v4.9.3 及更高版本中可用。

`devices.id`  
用户定义的测试的设备的唯一标识符。

`devices.operatingSystem`  
设备操作系统。支持的值为 `Linux` 和 `Windows`。

`connectivity.protocol`  
用于与此设备通信的通信协议。目前，物理设备唯一支持的值是 `ssh`。

`connectivity.ip`  
测试的设备 IP 地址。  
<a name="connectivity-protocol-ssh-only"></a>此属性仅在 `connectivity.protocol` 设置为 `ssh` 时适用。

`connectivity.port`  
可选。用于 SSH 连接的端口号。  
默认值为 22。  
此属性仅在 `connectivity.protocol` 设置为 `ssh` 时适用。

`connectivity.publicKeyPath`  
可选。用于验证待测设备连接的公有密钥的完整路径。  
如果指定 `publicKeyPath`，IDT 会在与待测设备建立 SSH 连接时验证设备的公有密钥。如果未指定此值，IDT 将创建 SSH 连接，但不验证设备的公有密钥。  
我们强烈建议您指定公有密钥的路径，并使用安全的方法来获取此公有密钥。对于基于标准命令行的 SSH 客户端，`known_hosts` 文件中提供了公有密钥。如果您指定单独的公有密钥文件，则该文件必须使用与 `known_hosts` 文件相同的格式，即 ` ip-address key-type public-key`。如果有多个条目具有相同 IP 地址，则 IDT 所用密钥类型的条目必须位于文件中的其它条目之前。

`connectivity.auth`  
连接的身份验证信息。  
<a name="connectivity-protocol-ssh-only"></a>此属性仅在 `connectivity.protocol` 设置为 `ssh` 时适用。    
`connectivity.auth.method`  
用于通过给定的连接协议访问设备的身份验证方法。  
支持的值为：  
+ `pki`
+ `password`  
`connectivity.auth.credentials`  
用于身份验证的凭证。    
`connectivity.auth.credentials.password`  
该密码用于登录到正在测试的设备。  
此值仅在 `connectivity.auth.method` 设置为 `password` 时适用。  
`connectivity.auth.credentials.privKeyPath`  
用于登录所测试设备的私有密钥的完整路径。  
此值仅在 `connectivity.auth.method` 设置为 `pki` 时适用。  
`connectivity.auth.credentials.user`  
用于登录所测试设备的用户名。

------

## 配置 userdata.json
<a name="userdata-config"></a>

IDT fo AWS IoT Greengrass r V2 还需要有关测试工件和 AWS IoT Greengrass 软件位置的更多信息。

您必须使用位于 ` <device_tester_extract_location>/configs/userdata.json` 中的 `userdata.json` 模板提供此信息：

```
{
    "TempResourcesDirOnDevice": "/path/to/temp/folder",
    "InstallationDirRootOnDevice": "/path/to/installation/folder",
    "GreengrassNucleusZip": "/path/to/aws.greengrass.nucleus.zip",
    "PreInstalled": "yes/no",
    "GreengrassV2TokenExchangeRole": "custom-iam-role-name",
	"hsm": {
        "greengrassPkcsPluginJar": "/path/to/aws.greengrass.crypto.Pkcs11Provider-latest.jar",
        "pkcs11ProviderLibrary": "/path/to/pkcs11-vendor-library",
        "slotId": "slot-id",
        "slotLabel": "slot-label",
        "slotUserPin": "slot-pin",
        "keyLabel": "key-label",
        "preloadedCertificateArn": "certificate-arn"
        "rootCA": "path/to/root-ca"
    }
}
```

包含值的所有属性均为必填字段，如下所述：

`TempResourcesDirOnDevice`  
被测试设备上用于存储测试构件的临时文件夹的完整路径。确保不需要 sudo 权限即可写入此目录。  
IDT 会在完成测试运行后删除该文件夹的内容。

`InstallationDirRootOnDevice`  
设备上要安装 AWS IoT Greengrass的文件夹的完整路径。对于 PreInstalled Greengrass 来说，这是 Greengrass 安装目录的路径。  
您必须为该文件夹设置必要的文件权限。对安装路径中的每个文件夹运行以下命令。  

```
sudo chmod 755 folder-name
```

`GreengrassNucleusZip`  
主机上 Greengrass Nucleus ZIP (`greengrass-nucleus-latest.zip`) 文件的完整路径。使用 PreInstalled Greengrass 进行测试时不需要此字段。  
有关适用于 IDT 的 Greengrass nucleus 支持版本的信息，请参阅。 AWS IoT Greengrass[适用 AWS IoT Greengrass 于 V2 的最新 IDT 版本](dev-test-versions.md#idt-latest-version)[要下载最新的 Greengrass 软件，请参阅下载该软件。 AWS IoT Greengrass](https://docs.aws.amazon.com/greengrass/v2/developerguide/dev-tst-prereqs.html#config-gg)

`PreInstalled`  
此功能仅适用于 Linux 设备上的 IDT v4.5.8 及更高版本。  
（可选）当值为时*yes*，IDT 将假设中`InstallationDirRootOnDevice`提到的路径是安装 Greengrass 的目录。  
有关如何在设备上安装 Greengrass 的更多信息，请参阅 [安装具有自动资源配置功能的 AWS IoT Greengrass Core 软件](quick-installation.md)。如果[使用手动配置进行安装](https://docs.aws.amazon.com/greengrass/v2/developerguide/manual-installation.html)，请在手动创建 AWS IoT 事物时包含 “将事物添加到新的或现有[AWS IoT 的事物](https://docs.aws.amazon.com/greengrass/v2/developerguide/manual-installation.html#create-iot-thing)组” 步骤。IDT 假设事物和事物组是在安装设置期间创建的。确保这些值反映在 `effectiveConfig.yaml` 文件中。IDT 检查 `<InstallationDirRootOnDevice>/config/effectiveConfig.yaml` 下的文件 `effectiveConfig.yaml`。  
要使用 HSM 运行测试，请确保在 `effectiveConfig.yaml` 中更新了 `aws.greengrass.crypto.Pkcs11Provider` 字段。

  `GreengrassV2TokenExchangeRole`  
（可选）您要用作令牌交换角色的自定义 IAM 角色，被测试设备会担任该角色以与 AWS 资源交互。  
IDT 将在测试运行期间使用此自定义 IAM 角色，而非创建默认的令牌交换角色。如果您使用自定义角色，则可以更新[测试用户的 IAM 权限](dev-tst-prereqs.md#configure-idt-permissions)，以排除允许该用户创建和删除 IAM 角色和策略的 `iamResourcesUpdate` 语句。
有关创建自定义 IAM 角色作为令牌交换角色的更多信息，请参阅[配置自定义令牌交换角色](device-config-setup.md#configure-custom-tes-role-for-idt)。

`hsm`  
此功能适用于 IDT v4.5.1 及更高版本。  
（可选）用于通过 AWS IoT Greengrass 硬件安全模块（HSM）进行测试的配置信息。否则，应忽略 `hsm` 属性。有关更多信息，请参阅 [硬件安全性集成](hardware-security.md)。  
<a name="connectivity-protocol-ssh-only"></a>此属性仅在 `connectivity.protocol` 设置为 `ssh` 时适用。  
如果硬件安全模块在 IDT 与其他系统间共享，则 HSM 配置可能被视为敏感数据。在这种情况下，您可以通过将这些配置值存储在 Paramet AWS er Stor SecureString e 参数中并配置 IDT 使其在测试执行期间获取它们，从而避免以明文形式保护这些配置值。有关更多信息，请参阅 [从 AWS 参数存储中获取配置](#fetch-config)。  
`hsm.greengrassPkcsPluginJar`  
您下载到 IDT 主机的 [PKCS\$111 提供程序组件](pkcs11-provider-component.md)的完整路径。 AWS IoT Greengrass 将此组件作为 JAR 文件提供，您可以下载该文件以在安装过程中将其指定为预置插件。您可以通过以下 URL 下载该组件 JAR 文件的最新版本：[https://d2s8p88vqu9w66.cloudfront。 net/releases/Pkcs11Provider/aws.greengrass.crypto.pkcs11Provider](https://d2s8p88vqu9w66.cloudfront.net/releases/Pkcs11Provider/aws.greengrass.crypto.Pkcs11Provider-latest.jar)-latest.jar。  
`hsm.pkcs11ProviderLibrary`  
硬件安全模块（HSM）供应商提供的 PKCS\$111 库的完整路径，用于与 HSM 交互。  
`hsm.slotId`  
用于识别要加载密钥和证书的 HSM 槽的槽 ID。  
`hsm.slotLabel`  
用于识别要加载密钥和证书的 HSM 槽的槽标签。  
`hsm.slotUserPin`  
IDT 用来向 HSM 验证 AWS IoT Greengrass 核心软件的用户 PIN。  
作为安全最佳实践，请勿在生产设备上使用同一用户 PIN。  
`hsm.keyLabel`  
用于标识硬件模块中的键的标签。密钥和证书必须使用相同密钥标签。  
`hsm.preloadedCertificateArn`  
 AWS IoT 云中上传的设备证书的 Amazon 资源名称（ARN）。  
您之前必须使用 HSM 中的密钥生成此证书，将其导入您的 HSM，然后将其上传到云端。 AWS IoT 有关生成和导入证书的信息，请参阅您的 HSM 文档。  
您必须将证书上传到您在 [config.json](#cfg-aws-gg) 中提供的同一个账户和区域。有关将证书上传到的更多信息 AWS IoT，请参阅*《AWS IoT 开发人员指南》*中的[手动注册客户端证书](https://docs.aws.amazon.com/iot/latest/developerguide/manual-cert-registration.html)。  
`hsm.rootCAPath`  
（可选）IDT 主机上指向签署证书的根证书颁发机构（CA）的完整路径。如果您在 HSM 中创建的证书并非由 Amazon 根 CA 签名，则这是必需的。

## 从 AWS 参数存储中获取配置
<a name="fetch-config"></a>

AWS IoT 设备测试器 (IDT) 包含一项可选功能，用于从 S [AWS ystems Manager 参数存储](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html)区获取配置值。 AWS Parameter Store 允许对配置进行安全和加密的存储。配置后，IDT 可以从 Paramet AWS er Store 获取参数，而不是将参数以纯文本形式存储在文件中。`userdata.json`这对于任何应加密存储的敏感数据都很有用，例如密码、PIN 和其他密钥。

1. 要使用此功能，您必须更新创建 [IDT 用户](https://docs.aws.amazon.com/greengrass/v2/developerguide/dev-tst-prereqs.html)时使用的权限，以允许对 IDT 配置为使用的参数进行 GetParameter 操作。以下是可以添加到 IDT 用户的权限语句示例。有关更多信息，请参阅[《AWS Systems Manager 用户指南》](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-access.html)。

   ```
   {
          "Sid":"parameterStoreResources",
          "Effect": "Allow",
           "Action": [
               "ssm:GetParameter"
           ],
           "Resource": "arn:aws:ssm:*:*:parameter/IDT*"
   }
   ```

   配置以上权限是为了允许使用通配符 `*` 获取名称以 `IDT` 开头的所有参数。您应该根据自己的需要进行自定义，以便 IDT 可以根据您正在使用的参数的命名来获取任何已配置的参数。

1. 你需要将配置值存储在 P AWS aramater Store 中。这可以通过 AWS 控制台或 AWS CLI 完成。 AWS Parameter Store 允许您选择加密或未加密的存储。要存储机密、密码和 PIN 等敏感值，应使用加密选项，该选项的参数类型为 SecureString。要使用 AWS CLI 上传参数，可以使用以下命令：

   ```
   aws ssm put-parameter --name IDT-example-name --value IDT-example-value --type SecureString
   ```

   您可以使用以下命令验证是否已存储参数。（可选）使用该`--with-decryption`标志获取解密后的参数。SecureString 

   ```
   aws ssm get-parameter --name IDT-example-name
   ```

   使用 AWS CLI 将上传当前 CLI 用户 AWS 所在区域中的参数，IDT 将从中`config.json`配置的区域获取参数。要通过 AWS CLI 查看您所在的区域，请使用以下命令：

   ```
   aws configure get region
   ```

1. 在 AWS 云端拥有配置值后，您可以更新 IDT 配置中的任何值以从 AWS 云端获取。为此，您可以在表单`{{AWS.Parameter.parameter_name}}`的 IDT 配置中使用占位符从 Parameter Store 中按该名称获取 AWS 参数。

   例如，假设您要在 HSM 配置中使用步骤 2 中的 `IDT-example-name` 参数作为 HSM keyLabel。为此，可以按以下方式更新 `userdata.json`：

   ```
   "hsm": {
           "keyLabel": "{{AWS.Parameter.IDT-example-name}}",
           [...]
       }
   ```

   IDT 将在运行时获取步骤 2 中设置为 `IDT-example-value` 的此参数的值。此配置与设置类似，`"keyLabel": "IDT-example-value"`但相反，该值以加密形式存储在 AWS 云中。