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 su dispositivo para ejecutar pruebas de IDT
Para permitir que IDT ejecute pruebas de calificación del dispositivo, debe configurar su computadora host para acceder a su dispositivo y configurar los permisos de usuario en su dispositivo.
Instalación de Java en la computadora host
A partir de la versión 4.2.0 de IDT, las pruebas de calificación opcionales para AWS IoT Greengrass requieren la ejecución de Java.
Puede utilizar la versión 8 o posterior de Java. Le recomendamos que utilice las versiones de compatibilidad a largo plazo de Amazon Corretto
Configuración del equipo host para acceder a un dispositivo en pruebas
IDT se ejecuta en su equipo host y debe poder utilizar SSH para conectarse a su dispositivo. Existen dos opciones para permitir que IDT obtenga acceso SSH a los dispositivos sometidos a la prueba:
-
Siga las instrucciones que se indican aquí para crear un par de claves SSH y autorizar su clave para iniciar sesión en su dispositivo en proceso de prueba sin especificar una contraseña.
-
Proporcione un nombre de usuario y una contraseña para cada dispositivo en el archivo
device.json
. Para obtener más información, consulte Configurar device.json.
Puede utilizar cualquier implementación SSL para crear una clave SSH. Las siguientes instrucciones muestran cómo utilizar SSH-KEYGEN
IDT utiliza claves SSH para autenticar con su dispositivo bajo prueba.
Para crear una clave SSH con SSH-KEYGEN, realice el siguiente procedimiento:
-
Cree una clave de SSH.
Puede utilizar el comando ssh-keygen de Open SSH para crear un par de claves SSH. Si ya tiene un par de claves SSH en su equipo host, es una práctica recomendada crear un par de claves SSH específicamente para IDT. De esta forma, una vez completadas las pruebas, el equipo host ya no podrá conectarse a su dispositivo sin introducir una contraseña. También le permite restringir el acceso al dispositivo remoto únicamente a aquellos que lo necesiten.
nota
Windows no tiene instalado un cliente SSH. Para obtener más información sobre la instalación de un cliente SSH en Windows, consulte Download SSH Client Software
. El comando ssh-keygen le solicita un nombre y la ruta para almacenar el par de claves. De forma predeterminada, los archivos de par de claves se denominan
id_rsa
(clave privada) yid_rsa.pub
(clave pública). En macOS y Linux, la ubicación predeterminada de estos archivos es~/.ssh/
. En Windows, la ubicación predeterminada esC:\Users\
.<user-name>\.ssh
Cuando se le solicite, introduzca una frase clave para proteger la clave SSH. Para obtener más información, consulte la sección acerca de cómo generar una nueva clave SSH
. -
Añada claves SSH autorizadas a su dispositivo en proceso de prueba.
IDT debe utilizar su clave privada de SSH para iniciar sesión en el dispositivo a prueba. Para autorizar que su clave privada de SSH inicie sesión en el dispositivo a prueba, use el comando ssh-copy-id en su equipo host. Este comando añade su clave pública al archivo
~/.ssh/authorized_keys
que se encuentra en su dispositivo a prueba. Por ejemplo:$ ssh-copy-id
<remote-ssh-user>
@<remote-device-ip>
Donde
usuario-ssh-remoto
es el nombre de usuario utilizado para iniciar sesión en su dispositivo sometido a ensayo eip-dispositivo-remoto
es la dirección IP del dispositivo sometido a ensayo para ejecutar pruebas. Por ejemplo:ssh-copy-id pi@192.168.1.5
Cuando se le solicite, introduzca la contraseña para el nombre de usuario que ha especificado en el comando ssh-copy-id.
ssh-copy-id presupone que la clave pública se denomina
id_rsa.pub
y se almacena en la ubicación predeterminada (en macOS y Linux,~/.ssh/
y en Windows,C:\Users\
). Si asignó a la clave pública un nombre diferente o la almacenó en otra ubicación, debe especificar la ruta completa a su clave pública SSH utilizando la opción -i para ssh-copy-id (por ejemplo: ssh-copy-id -i ~/my/path/myKey.pub). Para obtener más información acerca de la creación de claves de SSH y la copia de las claves públicas, consulte SSH-COPY-ID<user-name>\.ssh
.
Para crear una clave SSH con PuTTYgen (solo Windows), realice el siguiente procedimiento:
-
Asegúrese de que tiene el servidor y el cliente de OpenSSH instalados en su dispositivo en proceso de prueba. Para obtener más información, consulte OpenSSH
. -
Instale PuTTYgen
en su dispositivo en proceso de prueba. -
Abra PuTTYgen.
-
Elija Generate (Generar) y mueva el cursor del ratón dentro del cuadro para generar una clave privada.
-
En el menú Conversions (Conversiones), elija Export OpenSSH key (Exportar clave OpenSSH) y guarde la clave privada con una extensión de archivo
.pem
. -
Añada la clave pública al archivo
/home/
en el dispositivo en proceso de prueba.<user>
/.ssh/authorized_keys-
Copie el texto de la clave pública de la ventana PuTTYgen.
-
Utilice PuTTY para crear una sesión en su dispositivo en proceso de prueba.
-
En un símbolo del sistema o en una ventana de Windows PowerShell, ejecute el siguiente comando:
C:/
<path-to-putty>
/putty.exe -ssh<user>
@<dut-ip-address>
-
Cuando se le solicite, escriba la contraseña de su dispositivo.
-
Utilice vi u otro editor de texto para añadir la clave pública al archivo
/home/
en su dispositivo en proceso de prueba.<user>
/.ssh/authorized_keys
-
-
-
Actualice el archivo
device.json
con su nombre de usuario, la dirección IP y la ruta al archivo de clave privada que acaba de guardar en el equipo host para cada dispositivo en proceso de prueba. Para obtener más información, consulte Configurar device.json. Asegúrese de proporcionar la ruta completa y el nombre de archivo a la clave privada y utilizar barras diagonales (“/”). Por ejemplo, para la ruta de WindowsC:\DT\privatekey.pem
, utiliceC:/DT/privatekey.pem
en el archivodevice.json
.
Configuración de las credenciales de usuario para los dispositivos Windows
Para calificar un dispositivo basado en Windows, debe configurar las credenciales de usuario en la cuenta LocalSystem del dispositivo que se está probando para los siguientes usuarios:
-
El usuario predeterminado de Greengrass (
ggc_user
). -
El usuario que utiliza para conectarse al dispositivo que se está probando. Este usuario se configura en el archivo device.json.
Debe crear cada usuario en la cuenta de LocalSystem del dispositivo que se está probando y, a continuación, almacenar el nombre de usuario y la contraseña del usuario en la instancia del administrador de credenciales de la cuenta de LocalSystem.
Configuración de los usuarios en dispositivos Windows
-
Abra el símbolo del sistema de Windows (
cmd.exe
) como administrador. -
Cree los usuarios en la cuenta LocalSystem del dispositivo Windows. Ejecute el siguiente comando para cada usuario que desee crear. Para el usuario predeterminado de Greengrass, reemplace
user-name
porggc_user
. Reemplacepassword
por una contraseña segura.net user /add
user-name
password
-
Descargue e instale la utilidad PsExec
de Microsoft en el dispositivo. -
Use la utilidad PsExec para almacenar el nombre de usuario y la contraseña del usuario predeterminado en la instancia del administrador de credenciales de la cuenta de LocalSystem.
Ejecute el siguiente comando para cada usuario que desee configurar en el administrador de credenciales. Para el usuario predeterminado de Greengrass, reemplace
user-name
porggc_user
. Reemplacepassword
por la contraseña del usuario que configuró anteriormente.psexec -s cmd /c cmdkey /generic:
user-name
/user:user-name
/pass:password
Si PsExec License Agreement se abre, elija Accept para aceptar la licencia y ejecute el comando.
nota
En los dispositivos Windows, la cuenta LocalSystem ejecuta el núcleo de Greengrass y debe utilizar la utilidad PsExec para almacenar la información del usuario en la cuenta LocalSystem. El uso de la aplicación del administrador de credenciales almacena esta información en la cuenta de Windows del usuario que ha iniciado sesión actualmente, en lugar de en la cuenta de LocalSystem.
Configuración de los permisos de usuario en el dispositivo
IDT realiza operaciones en diversos directorios y archivos en un dispositivo que se está probando. Algunas de estas operaciones requieren permisos elevados (usando sudo). Para automatizar estas operaciones, IDT para la versión 2 de AWS IoT Greengrass debe ser capaz de ejecutar comandos con sudo sin que se le pida una contraseña.
Siga estos pasos en el dispositivo a prueba para permitir acceso a sudo sin que se le solicite una contraseña.
nota
username
hace referencia al usuario de SSH que utiliza IDT para obtener acceso al dispositivo bajo prueba.
Para añadir el usuario al grupo sudo
-
En el dispositivo bajo prueba, ejecute
sudo usermod -aG sudo
.<username>
-
Cierre la sesión y, a continuación, vuelva a iniciar sesión para que los cambios surtan efecto.
-
Para comprobar que su nombre de usuario se haya añadido correctamente, ejecute sudo echo test. Si no se le solicita una contraseña, el usuario se ha configurado correctamente.
-
Añada el archivo
/etc/sudoers
y agregue la siguiente línea al final del archivo:<ssh-username>
ALL=(ALL) NOPASSWD: ALL
Configuración de un rol de intercambio de token personalizado
Puede optar por utilizar un rol de IAM personalizado como rol de intercambio de token que el dispositivo objeto de prueba asume para interactuar con los recursos de AWS. Para obtener información sobre la creación de un rol de IAM, consulte Creación de roles de IAM en la Guía del usuario de IAM.
Debe cumplir con los siguientes requisitos para permitir que IDT utilice su rol de IAM personalizado. Le recomendamos encarecidamente que agregue a este rol solo las acciones de política mínimas requeridas.
-
El archivo de configuración userdata.json debe actualizarse para establecer el parámetro
GreengrassV2TokenExchangeRole
entrue
. -
El rol de IAM personalizado debe configurarse con la siguiente política de confianza mínima:
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":[ "credentials.iot.amazonaws.com", "lambda.amazonaws.com", "sagemaker.amazonaws.com" ] }, "Action":"sts:AssumeRole" } ] }
-
El rol de IAM personalizado debe configurarse con la siguiente política de permisos mínimos:
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "iot:DescribeCertificate", "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams", "iot:Connect", "iot:Publish", "iot:Subscribe", "iot:Receive", "iot:ListThingPrincipals", "iot:GetThingShadow", "iot:UpdateThingShadow", "s3:GetBucketLocation", "s3:GetObject", "s3:PutObject", "s3:AbortMultipartUpload", "s3:ListMultipartUploadParts" ], "Resource":"*" } ] }
-
El nombre del rol de IAM personalizado debe coincidir con el recurso del rol de IAM que especifique en los permisos de IAM para el usuario de prueba. De forma predeterminada, la política de usuarios de prueba permite el acceso a los roles de IAM que tienen el prefijo
idt-
en sus nombres de rol. Si el nombre de su rol de IAM no usa este prefijo, agregue el recursoarn:aws:iam::*:role/
a la declaracióncustom-iam-role-name
roleAliasResources
y la declaraciónpassRoleForResources
a su política de usuarios de prueba, como se muestra en los siguientes ejemplos:ejemplo
passRoleForResources
instrucción{ "Sid":"passRoleForResources", "Effect":"Allow", "Action":"iam:PassRole", "Resource":"arn:aws:iam::*:role/
custom-iam-role-name
", "Condition":{ "StringEquals":{ "iam:PassedToService":[ "iot.amazonaws.com", "lambda.amazonaws.com", "greengrass.amazonaws.com" ] } } }ejemplo
roleAliasResources
instrucción{ "Sid":"roleAliasResources", "Effect":"Allow", "Action":[ "iot:CreateRoleAlias", "iot:DescribeRoleAlias", "iot:DeleteRoleAlias", "iot:TagResource", "iam:GetRole" ], "Resource":[ "arn:aws:iot:*:*:rolealias/idt-*", "arn:aws:iam::*:role/
custom-iam-role-name
" ] }
Configurar el dispositivo para probar características opcionales
En esta sección, se describen los requisitos del dispositivo para ejecutar pruebas IDT para las características opcionales de Docker y machine learning (ML). Las características de ML solo son compatibles con la versión 4.9.3 de IDT. Debe asegurarse de que su dispositivo cumpla estos requisitos solo si desea probar estas características. De lo contrario, siga en Configuración de los ajustes de IDT para ejecutar el conjunto de cualificación de AWS IoT Greengrass.
Temas
Requisitos de calificación de Docker
IDT para la versión 2 de AWS IoT Greengrass ofrece pruebas de calificación de Docker para validar que sus dispositivos pueden usar el componente administrador de aplicaciones de Docker proporcionado por AWS para descargar imágenes de contenedores de Docker que usted puede ejecutar con componentes de contenedores de Docker personalizados. Para obtener más información acerca de la creación de componentes de Docker, consulte Ejecución de un contenedor de Docker.
Para ejecutar las pruebas de calificación de Docker, los dispositivos que se estén probando deben cumplir los siguientes requisitos para implementar el componente administrador de aplicaciones de Docker.
-
Versión 1.9.1 o posterior de Docker Engine
instalada en el dispositivo principal de Greengrass. La versión 20.10 es la última versión cuyo funcionamiento se ha verificado con el software AWS IoT Greengrass Core. Debe instalar Docker directamente en el dispositivo principal antes de implementar componentes que ejecuten contenedores de Docker. -
El daemon de Docker se inició y se ejecutó en el dispositivo principal antes de implementar este componente.
-
El usuario del sistema que ejecute un componente contenedor de Docker debe tener permisos de raíz o administrador, o bien debe configurar Docker para que se ejecute como un usuario no de raíz o no administrador.
-
En los dispositivos Linux, debe agregar un usuario al grupo de
docker
para llamar comandosdocker
sinsudo
. -
En los dispositivos Windows, puede agregar un usuario al grupo de
docker-users
para llamar comandosdocker
sin privilegios de administrador.
-
Requisitos de calificación de ML
nota
La característica de machine learning solo es compatible con la versión 4.9.3 de IDT.
IDT para la versión 2 de AWS IoT Greengrass ofrece pruebas de calificación de ML para validar que sus dispositivos puedan usar los componentes de machine learning proporcionados por AWS para realizar inferencias de ML de forma local mediante los marcos de ML del tiempo de ejecución de aprendizaje profundo
Para ejecutar las pruebas de calificación de ML, los dispositivos que se estén probando deben cumplir los siguientes requisitos para implementar los componentes de machine learning.
-
En los dispositivos principales de Greengrass que ejecutan Amazon Linux 2 o Ubuntu 18.04, se instala en el dispositivo la versión 2.27 o posterior de la Biblioteca C GNU
(glibc). -
En los dispositivos ARMv7L, como Raspberry Pi, las dependencias para OpenCV-Python están instaladas en el dispositivo. Ejecute el siguiente comando para instalar las dependencias.
sudo apt-get install libopenjp2-7 libilmbase23 libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgtk-3-0 libwebp-dev
-
Los dispositivos Raspberry Pi que ejecutan el sistema operativo Bullseye de Raspberry Pi deben cumplir los siguientes requisitos:
-
NumPy 1.22.4 o posterior instalado en el dispositivo. El sistema operativo Bullseye de Raspberry Pi incluye una versión anterior de NumPy, por lo que puede ejecutar el siguiente comando para actualizar NumPy en el dispositivo.
pip3 install --upgrade numpy
-
La pila de cámara antigua habilitada en el dispositivo. El sistema operativo Bullseye de Raspberry Pi incluye una nueva pila de cámara que está habilitada de forma predeterminada y no es compatible, por lo que debe activar la pila de cámara antigua.
Cómo activar la pila de cámara antigua
-
Ejecute el siguiente comando para abrir la herramienta de configuración de Raspberry Pi.
sudo raspi-config
-
Seleccione Opciones de interfaz.
-
Seleccione Cámara antigua para activar la pila de cámara antigua.
-
Reinicie el Raspberry Pi.
-
-
Requisitos de calificación de HSM
AWS IoT Greengrass proporciona el componente del proveedor PKCS#11 para integrarlo con el módulo de seguridad de hardware (HSM) en el PKCS del dispositivo. La configuración del HSM depende del dispositivo y del módulo HSM que haya elegido. Siempre que se proporcione la configuración de HSM esperada, tal como se documenta en los ajustes de configuración de IDT, IDT dispondrá de la información necesaria para realizar esta prueba de calificación de característica opcional.