Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Configuración de los ajustes de IDT para ejecutar el conjunto de cualificación de AWS IoT Greengrass
Antes de ejecutar las pruebas, debe ajustar la configuración de las credenciales de AWS y los dispositivos en su equipo host.
Cómo configurar las credenciales de AWS en config.json
Debe configurar sus credenciales de usuario de IAM en el archivo
. Utilice las credenciales de IDT para el usuario de AWS IoT Greengrass V2 creado en Cree y configure un Cuenta de AWS. Puede especificar sus credenciales de una de las dos formas siguientes:<device_tester_extract_location>
/configs/config.json
-
En un archivo de credenciales
-
Como variables de entorno.
IDT utiliza el mismo archivo de credenciales que la AWS CLI. Para obtener más información, consulte Configuración y archivos de credenciales.
La ubicación del archivo de credenciales varía en función del sistema operativo que utilice:
-
macOS, Linux:
~/.aws/credentials
-
Windows:
C:\Users\
UserName
\.aws\credentials
Añada sus credenciales de AWS al archivo de credentials
con el siguiente formato:
[default] aws_access_key_id =
<your_access_key_id>
aws_secret_access_key =<your_secret_access_key>
Para configurar IDT para AWS IoT Greengrass V2 con el fin de usar las credenciales de AWS desde su archivo de credentials
, edite su archivo config.json
tal y como se indica a continuación:
{ "awsRegion": "
region
", "auth": { "method": "file", "credentials": { "profile": "default" } } }
nota
Si no utiliza el perfil default
de AWS asegúrese de cambiar el nombre de perfil en su archivo config.json
. Para obtener más información, consulte Perfiles con nombre.
Las variables de entorno son las variables que mantiene el sistema operativo y utilizan los comandos del sistema. No se guardan si cierra la sesión de SSH. IDT para AWS IoT Greengrass V2 puede utilizar las variables de entorno AWS_ACCESS_KEY_ID
y AWS_SECRET_ACCESS_KEY
para almacenar sus credenciales de AWS.
Para establecer estas variables en Linux, MacOS, o Unix, utilice export:
export AWS_ACCESS_KEY_ID=
<your_access_key_id>
export AWS_SECRET_ACCESS_KEY=<your_secret_access_key>
Para establecer estas variables en Windows, utilice set:
set AWS_ACCESS_KEY_ID=
<your_access_key_id>
set AWS_SECRET_ACCESS_KEY=<your_secret_access_key>
Para configurar IDT para utilizar las variables de entorno, edite la sección auth
de su archivo config.json
. A continuación se muestra un ejemplo:
{ "awsRegion": "
region
", "auth": { "method": "environment" } }
Configurar device.json
nota
La versión 4.9.3 de IDT permite probar las características ml
, docker
y streamManagement
. La versión 4.9.4 de IDT y las versiones posteriores admiten las pruebas de docker
. Si no desea probar estas características, defina el valor correspondiente en no
.
Además de las credenciales AWS, IDT para AWS IoT Greengrass V2 requiere información acerca de los dispositivos en los que se ejecutan pruebas. Algunos ejemplos de información serían la dirección IP, la información de inicio de sesión, el sistema operativo y la arquitectura de la CPU.
Debe proporcionar esta información utilizando la plantilla device.json
ubicada en
:
<device_tester_extract_location>
/configs/device.json
Configuración de userdata.json
IDT para AWS IoT Greengrass V2 también necesita información adicional sobre la ubicación de los artefactos y el software de prueba de AWS IoT Greengrass.
Debe proporcionar esta información utilizando la plantilla userdata.json
ubicada en
:
<device_tester_extract_location>
/configs/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
" } }
Todas las propiedades que contienen valores son obligatorios tal y como se describe aquí:
TempResourcesDirOnDevice
-
La ruta completa a una carpeta temporal del dispositivo que se está probando en la que se almacenan los artefactos de prueba. Asegúrese de que no se requieren permisos de sudo para escribir en este directorio.
nota
IDT borra el contenido de esta carpeta cuando termina de ejecutar una prueba.
InstallationDirRootOnDevice
-
La ruta completa a la carpeta del dispositivo en la que se va a instalar AWS IoT Greengrass. En el caso de Greengrass preinstalado, esta es la ruta al directorio de instalación de Greengrass.
Debe establecer los permisos de archivo necesarios para esta carpeta. Ejecute el siguiente comando para cada carpeta de la ruta de instalación.
sudo chmod 755
folder-name
GreengrassNucleusZip
-
La ruta completa al archivo ZIP (
greengrass-nucleus-latest.zip
) del núcleo de Greengrass en el equipo host. Este campo no es obligatorio para realizar pruebas con Greengrass preinstalado.nota
Para obtener información sobre las versiones compatibles del núcleo de Greengrass para IDT para AWS IoT Greengrass, consulte Versión más reciente de IDT para la versión 2 de AWS IoT Greengrass. Para descargar el software de Greengrass más reciente, consulte Descargar el software de AWS IoT Greengrass.
PreInstalled
-
Esta característica solo está disponible para la versión 4.5.8 de IDT y versiones posteriores en dispositivos Linux.
(Opcional) Si el valor es
sí
, IDT asumirá que la ruta mencionada enInstallationDirRootOnDevice
es el directorio en el que está instalado Greengrass.Para obtener más información acerca de cómo instalar Greengrass en el dispositivo, consulte Instale el software AWS IoT Greengrass principal con aprovisionamiento automático de recursos. Si la instalación se realiza con aprovisionamiento manual, incluya el paso “Agregar el elemento AWS IoT a un grupo de elementos nuevo o existente” al crear un elemento AWS IoT manualmente. IDT supone que el elemento y el grupo de elementos se crean durante la configuración de la instalación. Asegúrese de que estos valores se reflejen en el archivo
effectiveConfig.yaml
. IDT busca el archivoeffectiveConfig.yaml
que aparece en<InstallationDirRootOnDevice>/config/effectiveConfig.yaml
.Para ejecutar pruebas con HSM, asegúrese de que el campo
aws.greengrass.crypto.Pkcs11Provider
esté actualizado eneffectiveConfig.yaml
. -
GreengrassV2TokenExchangeRole
-
(Opcional) El rol de IAM personalizado que desea utilizar como rol de intercambio de token que el dispositivo objeto de prueba asume para interactuar con los recursos de AWS.
nota
IDT utiliza este rol de IAM personalizado en lugar de crear el rol de intercambio de token predeterminado durante la ejecución de la prueba. Si usa un rol personalizado, puede actualizar los permisos de IAM del usuario de prueba para excluir la declaración
iamResourcesUpdate
que permite al usuario crear y eliminar roles y políticas de IAM.Para obtener más información sobre cómo crear un rol de IAM personalizado como rol de intercambio de tokens, consulte Configuración de un rol de intercambio de token personalizado.
hsm
-
Esta característica está disponible para la versión 4.5.1 de IDT y versiones posteriores.
(Opcional) La información de configuración para realizar pruebas con un módulo de seguridad de hardware (HSM) de AWS IoT Greengrass. De lo contrario, la propiedad
hsm
debe omitirse. Para obtener más información, consulte Integración de la seguridad de hardware.Esta propiedad solo se aplica si
connectivity.protocol
está establecido enssh
.aviso
La configuración del HSM puede considerarse información confidencial si IDT y otro sistema comparten el módulo de seguridad de hardware. En esta situación, puede evitar proteger estos valores de configuración en texto sin formato almacenándolos en un parámetro SecureString de AWS Parameter Store y configurando IDT para obtenerlos durante la ejecución de la prueba. Para obtener más información, consulte Obtenga la configuración del AWS Parameter Store
hsm.greengrassPkcsPluginJar
-
La ruta completa al componente del proveedor PKCS #11 que se descarga en la máquina host de IDT. AWS IoT Greengrass proporciona este componente como un archivo JAR que puede descargar para especificarlo como complemento de aprovisionamiento durante la instalación. Puede descargar la última versión del archivo JAR del componente en la siguiente URL: https://d2s8p88vqu9w66.cloudfront.net/releases/Pkcs11Provider/aws.greengrass.crypto.Pkcs11Provider-latest.jar
. hsm.pkcs11ProviderLibrary
-
La ruta completa a la biblioteca PKCS #11 que proporciona el proveedor del módulo de seguridad de hardware (HSM) para interactuar con el HSM.
hsm.slotId
-
El identificador de ranura que se utiliza para identificar la ranura del HSM en la que se cargan la clave y el certificado.
hsm.slotLabel
-
La etiqueta de ranura que se utiliza para identificar la ranura del HSM en la que se cargan la clave y el certificado.
hsm.slotUserPin
-
El PIN de usuario que IDT utiliza para autenticar el software AWS IoT Greengrass Core en el HSM.
nota
La práctica recomendada de seguridad es no utilizar el mismo PIN de usuario en dispositivos de producción.
hsm.keyLabel
-
Es la etiqueta que se utiliza para identificar la clave en el módulo de hardware. Tanto la clave como el certificado deben usar la misma etiqueta de clave.
hsm.preloadedCertificateArn
-
El nombre de recurso de Amazon (ARN) del certificado del dispositivo cargado en la nube de AWS IoT.
Debe haber generado previamente este certificado con la clave del HSM, importarlo a su HSM y subirlo a la nube de AWS IoT. Para obtener información sobre cómo generar e importar el certificado, consulte la documentación de su HSM.
Debe cargar el certificado en la misma cuenta y región que proporcionó en config.json. . Para obtener más información sobre cómo cargar su certificado en AWS IoT, consulte Register a client certificate manually en la Guía para desarrolladores de AWS IoT.
hsm.rootCAPath
-
(Opcional) La ruta completa de la máquina host de IDT a la entidad de certificación (CA) raíz que firmó el certificado. Esto es obligatorio si el certificado creado en el HSM no está firmado por la CA raíz de Amazon.
Obtenga la configuración del AWS Parameter Store
AWS IoT Device Tester (IDT) incluye una característica opcional para obtener los valores de configuración de AWS Systems Manager Parameter Store. AWS Parameter Store permite el almacenamiento seguro y cifrado de las configuraciones. Cuando está configurado, IDT puede recuperar los parámetros de AWS Parameter Store en lugar de almacenarlos en texto sin formato dentro del archivo userdata.json
. Esto resulta útil para cualquier dato confidencial que deba almacenarse cifrado, como contraseñas, números PIN y otros datos secretos.
-
Para utilizar esta característica, debe actualizar los permisos utilizados al crear su usuario de IDT para permitir la acción GetParameter en los parámetros para los que IDT está configurado. El siguiente es un ejemplo de una declaración de permiso que se puede agregar al usuario de IDT. Para obtener más información, consulte la Guía del usuario de AWS Systems Manager.
{ "Sid":"parameterStoreResources", "Effect": "Allow", "Action": [ "ssm:GetParameter" ], "Resource": "arn:aws:ssm:*:*:parameter/IDT*" }
El permiso anterior está configurado para permitir la obtención de todos los parámetros cuyo nombre comience por
IDT
, mediante el carácter comodín*
. Debe personalizarlo según sus necesidades para que IDT tenga acceso a cualquier parámetro configurado en función del nombre de los parámetros que esté utilizando. -
Debe almacenar los valores de configuración en AWS Paramater Store. Puede hacerlo desde la consola de AWS o desde la CLI de AWS. AWS Parameter Store le permite elegir un almacenamiento cifrado o no cifrado. Para almacenar valores confidenciales como secretos, contraseñas y números PIN, debe usar la opción cifrada, que es un tipo de parámetro de SecureString. Puede usar el siguiente comando para cargar un parámetro mediante la CLI de AWS:
aws ssm put-parameter --name IDT-example-name --value IDT-example-value --type SecureString
Puede confirmar que un parámetro está almacenado mediante el siguiente comando. (Opcional) Utilice el indicador
--with-decryption
para obtener un parámetro SecureString descifrado.aws ssm get-parameter --name IDT-example-name
El uso de la CLI de AWS cargará el parámetro en la región de AWS del usuario de la CLI actual e IDT obtendrá los parámetros de la región configurada en
config.json
. Para comprobar su región desde la CLI de AWS, utilice lo siguiente:aws configure get region
-
Una vez que tenga un valor de configuración en la nube de AWS, puede actualizar cualquier valor de la configuración de IDT para obtenerlo de la nube de AWS. Para ello, utilice un marcador de posición en la configuración de IDT con el formato
{{AWS.Parameter.parameter_name}}
para buscar el parámetro con ese nombre en el AWS Parameter Store.Por ejemplo, supongamos que quiere usar el parámetro
IDT-example-name
del paso 2 como HSM keyLabel en su configuración de HSM. Para ello, puede actualizar suuserdata.json
de la siguiente manera:"hsm": { "keyLabel": "{{AWS.Parameter.IDT-example-name}}", [...] }
IDT obtendrá el valor de este parámetro en el tiempo de ejecución que se configuró como
IDT-example-value
en el paso 2. Esta configuración es similar a la configuración"keyLabel": "IDT-example-value"
pero, en cambio, ese valor se almacena cifrado en la nube de AWS.