Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Configurer les paramètres IDT pour exécuter la suite de AWS IoT Greengrass qualification
Avant d'exécuter les tests, vous devez configurer les paramètres des AWS informations d'identification et des périphériques sur votre ordinateur hôte.
Configurer les AWS informations d'identification dans config.json
Vous devez configurer vos informations d'identification d'utilisateur IAM dans le
fichier. Utilisez les informations d'identification de l'utilisateur IDT pour AWS IoT Greengrass V2 créé dansCréez et configurez un Compte AWS. Vous pouvez spécifier vos informations d'identification de deux manières :<device_tester_extract_location>
/configs/config.json
-
Dans un fichier d'informations d'identification
-
En tant que variables d'environnement
IDT utilise le même fichier d'informations d'identification que l' AWS CLI. Pour de plus amples informations, veuillez consulter Fichiers de configuration et d'informations d'identification.
L'emplacement du fichier d'informations d'identification varie en fonction du système d'exploitation que vous utilisez :
-
macOS, Linux :
~/.aws/credentials
-
Windows:
C:\Users\
UserName
\.aws\credentials
Ajoutez vos AWS informations d'identification au credentials
fichier au format suivant :
[default] aws_access_key_id =
<your_access_key_id>
aws_secret_access_key =<your_secret_access_key>
Pour configurer IDT pour AWS IoT Greengrass V2 afin AWS d'utiliser les informations d'identification de votre credentials
fichier, modifiez votre config.json
fichier comme suit :
{ "awsRegion": "
region
", "auth": { "method": "file", "credentials": { "profile": "default" } } }
Note
Si vous n'utilisez pas le default
AWS profil, veillez à modifier le nom du profil dans votre config.json
fichier. Pour de plus amples informations, veuillez consulter Profils nommés.
Les variables d'environnement sont des variables gérées par le système d'exploitation et utilisées par les commandes du système. Elles ne sont pas enregistrées si vous fermez la session SSH. IDT pour AWS IoT Greengrass V2 peut utiliser les variables d'AWS_SECRET_ACCESS_KEY
environnement AWS_ACCESS_KEY_ID
et pour stocker vos AWS informations d'identification.
Pour définir ces variables sous Linux, macOS ou Unix, utilisez export:
export AWS_ACCESS_KEY_ID=
<your_access_key_id>
export AWS_SECRET_ACCESS_KEY=<your_secret_access_key>
Pour définir ces variables sous Windows, utilisez set :
set AWS_ACCESS_KEY_ID=
<your_access_key_id>
set AWS_SECRET_ACCESS_KEY=<your_secret_access_key>
Pour configurer l'IDT afin que l'outil utilise les variables d'environnement, modifiez la section auth
dans votre fichier config.json
. Voici un exemple :
{ "awsRegion": "
region
", "auth": { "method": "environment" } }
Configurer device.json
Note
IDT v4.9.3 permet de tester les fonctionnalités ml
docker
, et. streamManagement
IDT v4.9.4 et versions ultérieures prennent en charge les tests. docker
Si vous ne souhaitez pas tester ces fonctionnalités, définissez la valeur correspondante surno
.
Outre les AWS informations d'identification, IDT pour AWS IoT Greengrass V2 a besoin d'informations sur les appareils sur lesquels les tests sont exécutés. Des exemples d'informations pourraient être l'adresse IP, les informations de connexion, le système d'exploitation et l'architecture du processeur.
Vous pouvez fournir ces informations à l'aide du modèle device.json
situé dans
:
<device_tester_extract_location>
/configs/device.json
Configurer userdata.json
IDT for AWS IoT Greengrass V2 a également besoin d'informations supplémentaires sur l'emplacement des artefacts de test et des AWS IoT Greengrass logiciels.
Vous pouvez fournir ces informations à l'aide du modèle userdata.json
situé dans
:
<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
" } }
Toutes les propriétés contenant des valeurs sont obligatoires, comme décrit ici :
TempResourcesDirOnDevice
-
Le chemin complet vers un dossier temporaire sur le périphérique testé dans lequel stocker les artefacts de test. Assurez-vous que les autorisations sudo ne sont pas requises pour écrire dans ce répertoire.
Note
IDT supprime le contenu de ce dossier une fois le test terminé.
InstallationDirRootOnDevice
-
Le chemin complet vers un dossier de l'appareil dans lequel effectuer l'installation AWS IoT Greengrass. Pour PreInstalled Greengrass, il s'agit du chemin d'accès au répertoire d'installation de Greengrass.
Vous devez définir les autorisations de fichier requises pour ce dossier. Exécutez la commande suivante pour chaque dossier du chemin d'installation.
sudo chmod 755
folder-name
GreengrassNucleusZip
-
Le chemin complet vers le fichier ZIP (
greengrass-nucleus-latest.zip
) du noyau de Greengrass sur votre ordinateur hôte. Ce champ n'est pas obligatoire pour les tests avec PreInstalled Greengrass.Note
Pour plus d'informations sur les versions prises en charge du noyau Greengrass pour IDT, consultez. AWS IoT GreengrassDernière version IDT pour V2 AWS IoT Greengrass Pour télécharger la dernière version du logiciel Greengrass, voir Télécharger le AWS IoT Greengrass logiciel.
PreInstalled
-
Cette fonctionnalité est disponible pour IDT v4.5.8 et versions ultérieures uniquement sur les appareils Linux.
(Facultatif) Lorsque la valeur est
oui
, IDT considère que le chemin indiqué est le répertoire dansInstallationDirRootOnDevice
lequel Greengrass est installé.Pour plus d'informations sur l'installation de Greengrass sur votre appareil, consultez. Installation AWS IoT Greengrass du logiciel Core avec provisionnement automatique des ressources En cas d'installation avec provisionnement manuel, incluez l'étape « Ajouter l' AWS IoT objet à un nouveau groupe d'objets ou à un groupe d'objets existant » lors de la création manuelle d'un AWS IoT objet. IDT part du principe que l'objet et le groupe d'objets sont créés lors de la configuration de l'installation. Assurez-vous que ces valeurs sont reflétées dans le
effectiveConfig.yaml
fichier. IDT vérifie la présence du fichier ci-dessouseffectiveConfig.yaml
.<InstallationDirRootOnDevice>/config/effectiveConfig.yaml
Pour exécuter des tests avec HSM, assurez-vous que le
aws.greengrass.crypto.Pkcs11Provider
champ est mis à jour danseffectiveConfig.yaml
. -
GreengrassV2TokenExchangeRole
-
(Facultatif) Le rôle IAM personnalisé que vous souhaitez utiliser comme rôle d'échange de jetons que le périphérique testé suppose d'interagir avec les AWS ressources.
Note
IDT utilise ce rôle IAM personnalisé au lieu de créer le rôle d'échange de jetons par défaut lors du test. Si vous utilisez un rôle personnalisé, vous pouvez mettre à jour les autorisations IAM pour l'utilisateur de test afin d'exclure l'
iamResourcesUpdate
instruction qui permet à l'utilisateur de créer et de supprimer des rôles et des politiques IAM.Pour plus d'informations sur la création d'un rôle IAM personnalisé en tant que rôle d'échange de jetons, consultezConfigurer un rôle d'échange de jetons personnalisé.
hsm
-
Cette fonctionnalité est disponible pour IDT v4.5.1 et versions ultérieures.
(Facultatif) Les informations de configuration pour les tests avec un module de sécurité AWS IoT Greengrass matériel (HSM). Sinon, la propriété
hsm
doit être omise. Pour plus d’informations, consultez Intégration de sécurité matérielle.Cette propriété s'applique uniquement si
connectivity.protocol
est défini surssh
.Avertissement
La configuration HSM peut être considérée comme une donnée sensible si le module de sécurité matériel est partagé entre IDT et un autre système. Dans ce cas, vous pouvez éviter de sécuriser ces valeurs de configuration en texte brut en les stockant dans un AWS paramètre Parameter Store SecureString et en configurant IDT pour qu'il les récupère pendant l'exécution du test. Pour plus d’informations, consultez Extraire la configuration depuis le magasin de AWS paramètres.
hsm.greengrassPkcsPluginJar
-
Le chemin complet vers le composant fournisseur PKCS #11 que vous téléchargez sur la machine hôte IDT. AWS IoT Greengrass fournit ce composant sous forme de fichier JAR que vous pouvez télécharger pour le spécifier en tant que plugin de provisionnement lors de l'installation. Vous pouvez télécharger la dernière version du fichier JAR du composant à l'adresse suivante : https://d2s8p88vqu9w66.cloudfront.net/releases/Pkcs11Provider/aws.greengrass.crypto.Pkcs11Provider-latest.jar
. hsm.pkcs11ProviderLibrary
-
Le chemin complet vers la bibliothèque PKCS #11 fournie par le fournisseur du module de sécurité matérielle (HSM) pour interagir avec le HSM.
hsm.slotId
-
ID de slot utilisé pour identifier le slot HSM dans lequel vous chargez la clé et le certificat.
hsm.slotLabel
-
L'étiquette d'emplacement utilisée pour identifier l'emplacement HSM dans lequel vous chargez la clé et le certificat.
hsm.slotUserPin
-
Le code PIN utilisateur utilisé par IDT pour authentifier le logiciel AWS IoT Greengrass Core auprès du HSM.
Note
Pour des raisons de sécurité, n'utilisez pas le même code PIN utilisateur sur les appareils de production.
hsm.keyLabel
-
Étiquette utilisée pour identifier la clé dans le module matériel. La clé et le certificat doivent utiliser la même étiquette de clé.
hsm.preloadedCertificateArn
-
Le nom de ressource Amazon (ARN) du certificat d'appareil téléchargé dans le AWS IoT cloud.
Vous devez avoir préalablement généré ce certificat à l'aide de la clé du HSM, l'avoir importé dans votre HSM et l'avoir chargé dans le AWS IoT cloud. Pour plus d'informations sur la génération et l'importation du certificat, consultez la documentation de votre HSM.
Vous devez télécharger le certificat sur le même compte et dans la même région que ceux que vous avez fournis dans config.json. . Pour plus d'informations sur le téléchargement de votre certificat vers AWS IoT, voir Enregistrer un certificat client manuellement dans le Guide du AWS IoT développeur.
hsm.rootCAPath
-
(Facultatif) Le chemin complet sur la machine hôte IDT vers l'autorité de certification racine (CA) qui a signé votre certificat. Cela est nécessaire si le certificat de votre HSM créé n'est pas signé par l'autorité de certification racine Amazon.
Extraire la configuration depuis le magasin de AWS paramètres
AWS IoT Device Tester (IDT) inclut une fonctionnalité optionnelle permettant de récupérer les valeurs de configuration depuis le magasin de paramètres de AWS Systems Manager. AWS Parameter Store permet le stockage sécurisé et crypté des configurations. Une fois configuré, IDT peut récupérer les paramètres depuis le AWS Parameter Store au lieu de les stocker en texte brut dans le fichier. userdata.json
Cela est utile pour toutes les données sensibles qui doivent être stockées cryptées, telles que les mots de passe, les codes PIN et autres secrets.
-
Pour utiliser cette fonctionnalité, vous devez mettre à jour les autorisations utilisées lors de la création de votre utilisateur IDT afin d'autoriser l' GetParameter action sur les paramètres pour lesquels IDT est configuré pour utiliser. Vous trouverez ci-dessous un exemple de déclaration d'autorisation qui peut être ajoutée à l'utilisateur IDT. Pour plus d'informations, consultez le AWS Systems Manager guide de l'utilisateur.
{ "Sid":"parameterStoreResources", "Effect": "Allow", "Action": [ "ssm:GetParameter" ], "Resource": "arn:aws:ssm:*:*:parameter/IDT*" }
L'autorisation ci-dessus est configurée pour permettre de récupérer tous les paramètres dont le nom commence par
IDT
, en utilisant le caractère générique.*
Vous devez le personnaliser en fonction de vos besoins afin qu'IDT ait accès à tous les paramètres configurés en fonction du nom des paramètres que vous utilisez. -
Vous devez stocker vos valeurs de configuration dans AWS Paramater Store. Cela peut être fait à partir de la AWS console ou de la AWS CLI. AWS Parameter Store vous permet de choisir un stockage crypté ou non chiffré. Pour le stockage de valeurs sensibles telles que les secrets, les mots de passe et les codes PIN, vous devez utiliser l'option cryptée qui est un type de paramètre de SecureString. Pour télécharger un paramètre à l'aide de la AWS CLI, vous pouvez utiliser la commande suivante :
aws ssm put-parameter --name IDT-example-name --value IDT-example-value --type SecureString
Vous pouvez vérifier qu'un paramètre est enregistré à l'aide de la commande suivante. (Facultatif) Utilisez l'
--with-decryption
indicateur pour récupérer un paramètre SecureString déchiffré.aws ssm get-parameter --name IDT-example-name
L'utilisation de la AWS CLI téléchargera le paramètre dans la AWS région de l'utilisateur CLI actuel et IDT récupérera les paramètres de la région configurée dans.
config.json
Pour vérifier votre région à partir de la AWS CLI, utilisez ce qui suit :aws configure get region
-
Une fois que vous avez une valeur de configuration dans le AWS cloud, vous pouvez mettre à jour n'importe quelle valeur dans la configuration IDT pour la récupérer depuis le AWS cloud. Pour ce faire, vous utilisez un espace réservé dans votre configuration IDT du formulaire
{{AWS.Parameter.parameter_name}}
pour récupérer le paramètre portant ce nom dans le Parameter Store. AWSSupposons, par exemple, que vous souhaitiez utiliser le
IDT-example-name
paramètre de l'étape 2 en tant que KeyLabel HSM dans votre configuration HSM. Pour ce faire, vous pouvez mettre à jour votreuserdata.json
compte comme suit :"hsm": { "keyLabel": "{{AWS.Parameter.IDT-example-name}}", [...] }
IDT récupérera la valeur de ce paramètre au moment de l'exécution qui a été définie
IDT-example-value
à l'étape 2. Cette configuration est similaire au paramètre,"keyLabel": "IDT-example-value"
mais cette valeur est stockée sous forme cryptée dans le AWS Cloud.