Konfigurieren Sie die IDT-Einstellungen, um die AWS IoT Greengrass Qualification Suite auszuführen - AWS IoT Greengrass

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Konfigurieren Sie die IDT-Einstellungen, um die AWS IoT Greengrass Qualification Suite auszuführen

Bevor Sie Tests ausführen, müssen Sie Einstellungen für AWS Anmeldeinformationen und Geräte auf Ihrem Hostcomputer konfigurieren.

Konfigurieren Sie die AWS Anmeldeinformationen in config.json

Sie müssen Ihre IAM-Benutzeranmeldedaten in der <device_tester_extract_location>/configs/config.json Datei konfigurieren. Verwenden Sie die Anmeldeinformationen für den IDT for AWS IoT Greengrass V2-Benutzer, der in erstellt wurde. Erstellen und konfigurieren Sie ein AWS-Konto Sie können Ihre Anmeldeinformationen auf zwei Arten angeben:

  • In einer Datei mit Anmeldeinformationen

  • Als Umgebungsvariablen

IDT verwendet die gleiche Anmeldeinformationsdatei wie das AWS CLI. Weitere Informationen finden Sie unter Konfigurations- und Anmeldeinformationsdateien.

Der Speicherort der Datei mit den Anmeldeinformationen variiert je nach verwendetem Betriebssystem:

  • macOS Linux: ~/.aws/credentials

  • Windows: C:\Users\UserName\.aws\credentials

Fügen Sie der credentials Datei Ihre AWS Anmeldeinformationen im folgenden Format hinzu:

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

Um IDT für AWS IoT Greengrass V2 so zu konfigurieren, dass AWS Anmeldeinformationen aus Ihrer credentials Datei verwendet werden, bearbeiten Sie Ihre config.json Datei wie folgt:

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

Wenn Sie das default AWS Profil nicht verwenden, ändern Sie unbedingt den Profilnamen in Ihrer config.json Datei. Weitere Informationen hierzu finden Sie unter Benannte Profile.

Umgebungsvariablen sind Variablen, die vom Betriebssystem gepflegt und von Systembefehlen verwendet werden. Sie werden nicht gespeichert, wenn Sie die SSH-Sitzung schließen. IDT für AWS IoT Greengrass V2 kann die AWS_SECRET_ACCESS_KEY Umgebungsvariablen AWS_ACCESS_KEY_ID und zum Speichern Ihrer AWS Anmeldeinformationen verwenden.

Um diese Variablen auf Linux, macOS oder Unix festzulegen, verwenden Sie export:

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

In Windows können Sie die Variablen mit set festlegen:

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

Um den IDT so zu konfigurieren, dass er die Umgebungsvariablen verwendet, bearbeiten Sie den Abschnitt auth in Ihrer Datei config.json. Ein Beispiel:

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

Konfigurieren von device.json

Anmerkung

IDT v4.9.3 unterstützt das Testen der Funktionenml, unddocker. streamManagement IDT v4.9.4 und spätere Versionen unterstützen Tests. docker Wenn Sie diese Funktionen nicht testen möchten, setzen Sie den entsprechenden Wert auf. no

Zusätzlich zu den AWS Anmeldeinformationen benötigt IDT für AWS IoT Greengrass V2 Informationen über die Geräte, auf denen die Tests ausgeführt werden. Beispielinformationen wären IP-Adresse, Anmeldeinformationen, Betriebssystem und CPU-Architektur.

Sie müssen diese Informationen mittels der Vorlage device.json in <device_tester_extract_location>/configs/device.json angeben:

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>" } } } } ] } ]
Anmerkung

Geben Sie privKeyPath nur an, wenn method auf pki gesetzt ist.

Geben Sie password nur an, wenn method auf password gesetzt ist.

Alle Eigenschaften, die Werte enthalten, sind erforderlich, wie hier beschrieben:

id

Eine benutzerdefinierte alphanumerische ID, die eine Sammlung von Geräten, den sogenannten Gerätepool, eindeutig identifiziert. Geräte, die zu einem Pool gehören, müssen über identische Hardware verfügen. Bei der Ausführung einer Reihe von Tests werden Geräte im Pool verwendet, um die Workload zu parallelisieren. Mehrere Geräte werden verwendet, um verschiedene Tests auszuführen.

sku

Ein alphanumerischer Wert, durch den das zu testende Gerät eindeutig identifiziert wird. Die SKU wird verwendet, um qualifizierte Boards nachzuverfolgen.

Anmerkung

Wenn Sie Ihr Gerät im AWS Partner Gerätekatalog anbieten möchten, muss die hier angegebene SKU mit der SKU übereinstimmen, die Sie bei der Angebotserstellung verwenden.

features

Ein Array, das die Funktionen enthält, die das Gerät unterstützt. Alle Funktionen sind erforderlich.

arch

Die unterstützten Betriebssystemarchitekturen, die durch den Testlauf validiert werden. Gültige Werte für sind:

  • x86_64

  • armv6l

  • armv7l

  • aarch64

ml

Überprüft, ob das Gerät alle erforderlichen technischen Abhängigkeiten erfüllt, um die AWS bereitgestellten Komponenten für maschinelles Lernen (ML) verwenden zu können.

Durch die Aktivierung dieser Funktion wird auch überprüft, ob das Gerät ML-Inferenz mithilfe der Frameworks Deep Learning Runtime und TensorFlow Lite ML durchführen kann.

Gültige Werte sind eine beliebige Kombination aus dlr und tensorflowlite oder. no

docker

Überprüft, ob das Gerät alle erforderlichen technischen Abhängigkeiten erfüllt, um die von AWS-bereitgestellte Docker-Anwendungsmanager () aws.greengrass.DockerApplicationManager -Komponente verwenden zu können.

Durch die Aktivierung dieser Funktion wird auch bestätigt, dass das Gerät ein Docker-Container-Image von Amazon ECR herunterladen kann.

Gültige Werte sind eine beliebige Kombination von oder. yes no

streamManagement

Überprüft, ob das Gerät den AWS IoT Greengrass Stream-Manager herunterladen, installieren und ausführen kann.

Gültige Werte sind eine beliebige Kombination von yes oderno.

hsi

Überprüft, ob das Gerät Verbindungen zu den AWS IoT und AWS IoT Greengrass Diensten mithilfe eines privaten Schlüssels und Zertifikats authentifizieren kann, die in einem Hardware-Sicherheitsmodul (HSM) gespeichert sind. Mit diesem Test wird auch überprüft, ob die vom Hersteller AWS bereitgestellte PKCS #11 -Anbieterkomponente über eine vom Hersteller bereitgestellte PKCS #11 -Bibliothek eine Schnittstelle zum HSM herstellen kann. Weitere Informationen finden Sie unter Integration von Hardware-Sicherheit.

Gültige Werte sind hsm oder no.

Anmerkung

Das Testen von hsi ist nur mit IDT v4.9.3 und späteren Versionen verfügbar.

devices.id

Eine benutzerdefinierte eindeutige Kennung für das zu testende Gerät.

devices.operatingSystem

Das Betriebssystem des Geräts. Unterstützte Werte sind Linux und Windows.

connectivity.protocol

Das Kommunikationsprotokoll, das für die Kommunikation mit diesem Gerät verwendet wird. Derzeit gilt der einzige unterstützte Wert ssh für physische Geräte.

connectivity.ip

Die IP-Adresse des zu testenden Geräts.

Diese Eigenschaft gilt nur, wenn connectivity.protocol auf ssh festgelegt ist.

connectivity.port

Optional. Die Portnummer, die für SSH-Verbindungen verwendet werden soll.

Der Standardwert ist 22.

Diese Eigenschaft gilt nur, wenn connectivity.protocol auf ssh festgelegt ist.

connectivity.publicKeyPath

Optional. Der vollständige Pfad zum öffentlichen Schlüssel, der zur Authentifizierung von Verbindungen mit dem zu testenden Gerät verwendet wird.

Wenn Sie das angebenpublicKeyPath, validiert IDT den öffentlichen Schlüssel des Geräts, wenn es eine SSH-Verbindung zu dem zu testenden Gerät herstellt. Wenn dieser Wert nicht angegeben ist, stellt IDT eine SSH-Verbindung her, validiert aber nicht den öffentlichen Schlüssel des Geräts.

Wir empfehlen dringend, dass Sie den Pfad zum öffentlichen Schlüssel angeben und eine sichere Methode verwenden, um diesen öffentlichen Schlüssel abzurufen. Für standardmäßige SSH-Clients, die auf der Befehlszeile basieren, wird der öffentliche Schlüssel in der Datei bereitgestellt. known_hosts Wenn Sie eine separate öffentliche Schlüsseldatei angeben, muss diese Datei dasselbe Format wie die known_hosts Datei verwenden, d. h.. ip-address key-type public-key Wenn es mehrere Einträge mit derselben IP-Adresse gibt, muss der Eintrag für den von IDT verwendeten Schlüsseltyp vor den anderen Einträgen in der Datei stehen.

connectivity.auth

Authentifizierungsinformationen für die Verbindung.

Diese Eigenschaft gilt nur, wenn connectivity.protocol auf ssh festgelegt ist.

connectivity.auth.method

Die Authentifizierungsmethode, die für den Zugriff über ein bestimmtes Verbindungsprotokoll auf ein Gerät verwendet wird.

Unterstützte Werte sind:

  • pki

  • password

connectivity.auth.credentials

Die für die Authentifizierung verwendeten Anmeldeinformationen.

connectivity.auth.credentials.password

Das Passwort für die Anmeldung am Gerät wird überprüft.

Dieser Wert gilt nur, wenn connectivity.auth.method auf password festgelegt ist.

connectivity.auth.credentials.privKeyPath

Der vollständige Pfad zum privaten Schlüssel, der für die Anmeldung bei dem zu testenden Gerät verwendet wird.

Dieser Wert gilt nur, wenn connectivity.auth.method auf pki festgelegt ist.

connectivity.auth.credentials.user

Der Benutzername für die Anmeldung bei dem zu testenden Gerät.

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>" } } } } ] } ]
Anmerkung

Geben Sie privKeyPath nur an, wenn method auf pki gesetzt ist.

Geben Sie password nur an, wenn method auf password gesetzt ist.

Alle Eigenschaften, die Werte enthalten, sind erforderlich, wie hier beschrieben:

id

Eine benutzerdefinierte alphanumerische ID, die eine Sammlung von Geräten, den sogenannten Gerätepool, eindeutig identifiziert. Geräte, die zu einem Pool gehören, müssen über identische Hardware verfügen. Bei der Ausführung einer Reihe von Tests werden Geräte im Pool verwendet, um die Workload zu parallelisieren. Mehrere Geräte werden verwendet, um verschiedene Tests auszuführen.

sku

Ein alphanumerischer Wert, durch den das zu testende Gerät eindeutig identifiziert wird. Die SKU wird verwendet, um qualifizierte Boards nachzuverfolgen.

Anmerkung

Wenn Sie Ihr Gerät im AWS Partner Gerätekatalog anbieten möchten, muss die hier angegebene SKU mit der SKU übereinstimmen, die Sie bei der Angebotserstellung verwenden.

features

Ein Array, das die Funktionen enthält, die das Gerät unterstützt. Alle Funktionen sind erforderlich.

arch

Die unterstützten Betriebssystemarchitekturen, die durch den Testlauf validiert werden. Gültige Werte für sind:

  • x86_64

  • armv6l

  • armv7l

  • aarch64

docker

Überprüft, ob das Gerät alle erforderlichen technischen Abhängigkeiten erfüllt, um die von ihm AWS bereitgestellte Komponente Docker Application Manager () zu verwenden. aws.greengrass.DockerApplicationManager

Durch die Aktivierung dieser Funktion wird auch bestätigt, dass das Gerät ein Docker-Container-Image von Amazon ECR herunterladen kann.

Gültige Werte sind eine beliebige Kombination von oder. yes no

hsi

Überprüft, ob das Gerät Verbindungen zu den AWS IoT und AWS IoT Greengrass Diensten mithilfe eines privaten Schlüssels und Zertifikats authentifizieren kann, die in einem Hardware-Sicherheitsmodul (HSM) gespeichert sind. Mit diesem Test wird auch überprüft, ob die vom Hersteller AWS bereitgestellte PKCS #11 -Anbieterkomponente über eine vom Hersteller bereitgestellte PKCS #11 -Bibliothek eine Schnittstelle zum HSM herstellen kann. Weitere Informationen finden Sie unter Integration von Hardware-Sicherheit.

Gültige Werte sind hsm oder no.

Anmerkung

Das Testen von hsi ist nur mit IDT v4.9.3 und späteren Versionen verfügbar.

devices.id

Eine benutzerdefinierte eindeutige Kennung für das zu testende Gerät.

devices.operatingSystem

Das Betriebssystem des Geräts. Unterstützte Werte sind Linux und Windows.

connectivity.protocol

Das Kommunikationsprotokoll, das für die Kommunikation mit diesem Gerät verwendet wird. Derzeit gilt der einzige unterstützte Wert ssh für physische Geräte.

connectivity.ip

Die IP-Adresse des zu testenden Geräts.

Diese Eigenschaft gilt nur, wenn connectivity.protocol auf ssh festgelegt ist.

connectivity.port

Optional. Die Portnummer, die für SSH-Verbindungen verwendet werden soll.

Der Standardwert ist 22.

Diese Eigenschaft gilt nur, wenn connectivity.protocol auf ssh festgelegt ist.

connectivity.publicKeyPath

Optional. Der vollständige Pfad zum öffentlichen Schlüssel, der zur Authentifizierung von Verbindungen mit dem zu testenden Gerät verwendet wird.

Wenn Sie das angebenpublicKeyPath, validiert IDT den öffentlichen Schlüssel des Geräts, wenn es eine SSH-Verbindung zu dem zu testenden Gerät herstellt. Wenn dieser Wert nicht angegeben ist, stellt IDT eine SSH-Verbindung her, validiert aber nicht den öffentlichen Schlüssel des Geräts.

Wir empfehlen dringend, dass Sie den Pfad zum öffentlichen Schlüssel angeben und eine sichere Methode verwenden, um diesen öffentlichen Schlüssel abzurufen. Für standardmäßige SSH-Clients, die auf der Befehlszeile basieren, wird der öffentliche Schlüssel in der Datei bereitgestellt. known_hosts Wenn Sie eine separate öffentliche Schlüsseldatei angeben, muss diese Datei dasselbe Format wie die known_hosts Datei verwenden, d. h.. ip-address key-type public-key Wenn es mehrere Einträge mit derselben IP-Adresse gibt, muss der Eintrag für den von IDT verwendeten Schlüsseltyp vor den anderen Einträgen in der Datei stehen.

connectivity.auth

Authentifizierungsinformationen für die Verbindung.

Diese Eigenschaft gilt nur, wenn connectivity.protocol auf ssh festgelegt ist.

connectivity.auth.method

Die Authentifizierungsmethode, die für den Zugriff über ein bestimmtes Verbindungsprotokoll auf ein Gerät verwendet wird.

Unterstützte Werte sind:

  • pki

  • password

connectivity.auth.credentials

Die für die Authentifizierung verwendeten Anmeldeinformationen.

connectivity.auth.credentials.password

Das Passwort für die Anmeldung am Gerät wird überprüft.

Dieser Wert gilt nur, wenn connectivity.auth.method auf password festgelegt ist.

connectivity.auth.credentials.privKeyPath

Der vollständige Pfad zum privaten Schlüssel, der für die Anmeldung bei dem zu testenden Gerät verwendet wird.

Dieser Wert gilt nur, wenn connectivity.auth.method auf pki festgelegt ist.

connectivity.auth.credentials.user

Der Benutzername für die Anmeldung bei dem zu testenden Gerät.

Konfigurieren Sie userdata.json

IDT für AWS IoT Greengrass V2 benötigt außerdem zusätzliche Informationen zum Speicherort von Testartefakten und Software. AWS IoT Greengrass

Sie müssen diese Informationen mittels der Vorlage userdata.json in <device_tester_extract_location>/configs/userdata.json angeben:

{ "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" } }

Alle Eigenschaften, die Werte enthalten, sind wie hier beschrieben erforderlich:

TempResourcesDirOnDevice

Der vollständige Pfad zu einem temporären Ordner auf dem zu testenden Gerät, in dem Testartefakte gespeichert werden sollen. Stellen Sie sicher, dass keine Sudo-Berechtigungen erforderlich sind, um in dieses Verzeichnis zu schreiben.

Anmerkung

IDT löscht den Inhalt dieses Ordners, wenn die Ausführung eines Tests abgeschlossen ist.

InstallationDirRootOnDevice

Der vollständige Pfad zu einem Ordner auf dem Gerät, in dem die Installation durchgeführt werden soll. AWS IoT Greengrass Für PreInstalled Greengrass ist dies der Pfad zum Greengrass-Installationsverzeichnis.

Sie müssen die erforderlichen Dateiberechtigungen für diesen Ordner festlegen. Führen Sie den folgenden Befehl für jeden Ordner im Installationspfad aus.

sudo chmod 755 folder-name
GreengrassNucleusZip

Der vollständige Pfad zur Greengrass Nucleus-ZIP-Datei (greengrass-nucleus-latest.zip) auf Ihrem Host-Computer. Dieses Feld ist für Tests mit PreInstalled Greengrass nicht erforderlich.

Anmerkung

Informationen zu den unterstützten Versionen von Greengrass Nucleus for IDT für AWS IoT Greengrass finden Sie unter. Aktuelle IDT-Version für V2 AWS IoT Greengrass Informationen zum Herunterladen der neuesten Greengrass-Software finden Sie unter AWS IoT Greengrass Software herunterladen.

PreInstalled

Diese Funktion ist nur für IDT v4.5.8 und spätere Versionen auf Linux-Geräten verfügbar.

(Optional) Wenn der Wert ja ist, geht IDT davon aus, dass der angegebene Pfad das Verzeichnis istInstallationDirRootOnDevice, in dem Greengrass installiert ist.

Weitere Informationen zur Installation von Greengrass auf Ihrem Gerät finden Sie unterInstallieren von AWS IoT Greengrass Core-Software mit automatischer Ressourcenbereitstellung. Wenn Sie die Installation mit manueller Bereitstellung durchführen, schließen Sie den Schritt „Das AWS IoT Ding zu einer neuen oder vorhandenen Dinggruppe hinzufügen“ ein, wenn Sie ein AWS IoT Ding manuell erstellen. IDT geht davon aus, dass das Ding und die Dinggruppe während der Installation erstellt wurden. Stellen Sie sicher, dass diese Werte in der effectiveConfig.yaml Datei wiedergegeben werden. IDT sucht nach der Datei effectiveConfig.yaml unter<InstallationDirRootOnDevice>/config/effectiveConfig.yaml.

Stellen Sie beim Ausführen von Tests mit HSM sicher, dass das aws.greengrass.crypto.Pkcs11Provider Feld in aktualisiert ist. effectiveConfig.yaml

GreengrassV2TokenExchangeRole

(Optional) Die benutzerdefinierte IAM-Rolle, die Sie als Token-Austauschrolle verwenden möchten, von der das zu testende Gerät annimmt, um mit AWS Ressourcen zu interagieren.

Anmerkung

IDT verwendet diese benutzerdefinierte IAM-Rolle, anstatt während des Testlaufs die standardmäßige Token-Austauschrolle zu erstellen. Wenn Sie eine benutzerdefinierte Rolle verwenden, können Sie die IAM-Berechtigungen für den Testbenutzer aktualisieren, um die iamResourcesUpdate Anweisung auszuschließen, die es dem Benutzer ermöglicht, IAM-Rollen und -Richtlinien zu erstellen und zu löschen.

Weitere Informationen zum Erstellen einer benutzerdefinierten IAM-Rolle als Token-Exchange-Rolle finden Sie unter. Konfigurieren Sie eine benutzerdefinierte Token-Austauschrolle

hsm

Diese Funktion ist für IDT v4.5.1 und höher verfügbar.

(Optional) Die Konfigurationsinformationen für Tests mit einem AWS IoT Greengrass Hardware Security Module (HSM). Andernfalls sollte die hsm-Eigenschaft weggelassen werden. Weitere Informationen finden Sie unter Integration von Hardware-Sicherheit.

Diese Eigenschaft gilt nur, wenn connectivity.protocol auf ssh festgelegt ist.

Warnung

Die HSM-Konfiguration kann als sensible Daten betrachtet werden, wenn das Hardware-Sicherheitsmodul von IDT und einem anderen System gemeinsam genutzt wird. In diesem Fall können Sie die Sicherung dieser Konfigurationswerte im Klartext vermeiden, indem Sie sie in einem AWS Parameter SecureString Store-Parameter speichern und IDT so konfigurieren, dass sie während der Testausführung abgerufen werden. Weitere Informationen finden Sie unter Rufen Sie die Konfiguration aus dem Parameter Store ab AWS.

hsm.greengrassPkcsPluginJar

Der vollständige Pfad zur PKCS #11 -Anbieterkomponente, die Sie auf den IDT-Hostcomputer herunterladen. AWS IoT Greengrass stellt diese Komponente als JAR-Datei bereit, die Sie herunterladen können, um sie während der Installation als Provisioning-Plugin anzugeben. Sie können die neueste Version der JAR-Datei der Komponente unter der folgenden URL herunterladen: https://d2s8p88vqu9w66.cloudfront.net/releases/Pkcs11Provider/aws.greengrass.crypto.Pkcs11Provider-latest.jar.

hsm.pkcs11ProviderLibrary

Der vollständige Pfad zur PKCS #11 -Bibliothek, die vom Hersteller des Hardware-Sicherheitsmoduls (HSM) für die Interaktion mit dem HSM bereitgestellt wird.

hsm.slotId

Die Steckplatz-ID, anhand derer der HSM-Steckplatz identifiziert wird, in den Sie den Schlüssel und das Zertifikat laden.

hsm.slotLabel

Die Steckplatzbezeichnung, anhand derer der HSM-Steckplatz identifiziert wird, in den Sie den Schlüssel und das Zertifikat laden.

hsm.slotUserPin

Die Benutzer-PIN, die IDT verwendet, um die AWS IoT Greengrass Core-Software gegenüber dem HSM zu authentifizieren.

Anmerkung

Verwenden Sie aus Sicherheitsgründen nicht dieselbe Benutzer-PIN auf Produktionsgeräten.

hsm.keyLabel

Das Label zur Identifizierung des Schlüssels im Hardwaremodul. Sowohl der Schlüssel als auch das Zertifikat müssen dieselbe Schlüsselbezeichnung verwenden.

hsm.preloadedCertificateArn

Der Amazon-Ressourcenname (ARN) des hochgeladenen Gerätezertifikats in der AWS IoT Cloud.

Sie müssen dieses Zertifikat zuvor mit dem Schlüssel im HSM generiert, in Ihr HSM importiert und in die AWS IoT Cloud hochgeladen haben. Informationen zum Generieren und Importieren des Zertifikats finden Sie in der Dokumentation zu Ihrem HSM.

Sie müssen das Zertifikat in dasselbe Konto und dieselbe Region hochladen, die Sie in config.json angeben. . Weitere Informationen zum Hochladen Ihres Zertifikats auf AWS IoT finden Sie unter Manuelles Registrieren eines Client-Zertifikats im AWS IoT Entwicklerhandbuch.

hsm.rootCAPath

(Optional) Der vollständige Pfad auf dem IDT-Hostcomputer zur Stammzertifizierungsstelle (CA), die Ihr Zertifikat signiert hat. Dies ist erforderlich, wenn das Zertifikat in Ihrem erstellten HSM nicht von der Amazon-Stammzertifizierungsstelle signiert ist.

Rufen Sie die Konfiguration aus dem Parameter Store ab AWS

AWS IoT Device Tester (IDT) enthält eine optionale Funktion zum Abrufen von Konfigurationswerten aus dem AWS Systems Manager Parameter Store. AWS Der Parameter Store ermöglicht die sichere und verschlüsselte Speicherung von Konfigurationen. Nach der Konfiguration kann IDT Parameter aus dem AWS Parameterspeicher abrufen, anstatt Parameter im Klartext in der Datei zu speichern. userdata.json Dies ist nützlich für alle sensiblen Daten, die verschlüsselt gespeichert werden sollten, z. B.: Passwörter, Pins und andere geheime Daten.

  1. Um diese Funktion nutzen zu können, müssen Sie die bei der Erstellung Ihres IDT-Benutzers verwendeten Berechtigungen aktualisieren, um die GetParameter Aktion mit den Parametern zu ermöglichen, für deren Verwendung IDT konfiguriert ist. Im Folgenden finden Sie ein Beispiel für eine Berechtigungserklärung, die dem IDT-Benutzer hinzugefügt werden kann. Weitere Informationen finden Sie im AWS Systems Manager Benutzerhandbuch.

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

    Die obige Berechtigung ist so konfiguriert, dass alle Parameter abgerufen werden können, deren Name mit, beginntIDT, unter Verwendung des Platzhalterzeichens. * Sie sollten dies an Ihre Bedürfnisse anpassen, damit IDT Zugriff darauf hat, alle konfigurierten Parameter auf der Grundlage der Benennung der von Ihnen verwendeten Parameter abzurufen.

  2. Sie müssen Ihre Konfigurationswerte im AWS Paramater Store speichern. Dies kann über die AWS Konsole oder über die AWS CLI erfolgen. AWS Mit Parameter Store können Sie zwischen verschlüsseltem und unverschlüsseltem Speicher wählen. Für die Speicherung sensibler Werte wie Geheimnisse, Passwörter und Pins sollten Sie die verschlüsselte Option verwenden, bei der es sich um einen Parametertyp von SecureString handelt. Um einen Parameter mit der AWS CLI hochzuladen, können Sie den folgenden Befehl verwenden:

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

    Mit dem folgenden Befehl können Sie überprüfen, ob ein Parameter gespeichert ist. (Optional) Verwenden Sie das --with-decryption Flag, um einen entschlüsselten SecureString Parameter abzurufen.

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

    Bei Verwendung der AWS CLI wird der Parameter in die AWS Region des aktuellen CLI-Benutzers hochgeladen, und IDT ruft Parameter aus der Region ab, in der konfiguriert ist. config.json Verwenden Sie Folgendes, um Ihre Region AWS über die CLI zu überprüfen:

    aws configure get region
  3. Sobald Sie einen Konfigurationswert in der AWS Cloud haben, können Sie jeden Wert in der IDT-Konfiguration aktualisieren, um ihn aus der AWS Cloud abzurufen. Dazu verwenden Sie einen Platzhalter in Ihrer IDT-Konfiguration des Formulars, {{AWS.Parameter.parameter_name}} um den Parameter mit diesem Namen aus dem Parameterspeicher abzurufen. AWS

    Nehmen wir beispielsweise an, Sie möchten den IDT-example-name Parameter aus Schritt 2 als HSM-KeyLabel in Ihrer HSM-Konfiguration verwenden. Um dies zu tun, können Sie Ihre userdata.json wie folgt aktualisieren:

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

    IDT ruft zur Laufzeit den Wert dieses Parameters ab, auf den IDT-example-value in Schritt 2 gesetzt wurde. Diese Konfiguration ähnelt der Einstellung, "keyLabel": "IDT-example-value" aber stattdessen wird dieser Wert verschlüsselt in der AWS Cloud gespeichert.