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 Ihr Gerät für die Ausführung von IDT-Tests
Damit IDT Tests zur Gerätequalifizierung durchführen kann, müssen Sie Ihren Host-Computer für den Zugriff auf Ihr Gerät konfigurieren und Benutzerberechtigungen auf Ihrem Gerät konfigurieren.
Installieren Sie Java auf dem Host-Computer
Ab IDT v4.2.0 AWS IoT Greengrass erfordern die optionalen Qualifikationstests für die Ausführung von Java.
Sie können Java Version 8 oder höher verwenden. Wir empfehlen, dass Sie die Langzeit-Support-Versionen von Amazon Corretto
Konfigurieren des Host-Computers für den Zugriff auf das zu testende Gerät
IDT wird auf Ihrem Host-Computer ausgeführt und muss über SSH eine Verbindung mit Ihrem Gerät herstellen können. Es gibt zwei Möglichkeiten, IDT SSH-Zugriff auf Ihre zu testenden Geräte zu gewähren:
-
Befolgen Sie die Anweisungen hier, um ein SSH-Schlüsselpaar zu erstellen und Ihren Schlüssel zur Anmeldung bei Ihrem zu testenden Gerät ohne Angabe eines Passworts zu berechtigen.
-
Geben Sie einen Benutzernamen und ein Passwort für jedes Gerät in der Datei
device.json
an. Weitere Informationen finden Sie unter Konfigurieren von device.json.
Sie können eine beliebige SSL-Implementierung verwenden, um einen SSH-Schlüssel zu erstellen. Die folgenden Anweisungen zeigen, wie Sie SSH-KEYGEN
IDT verwendet SSH-Schlüssel, um sich bei Ihrem zu testenden Gerät zu authentifizieren.
So erstellen Sie einen SSH-Schlüssel mit SSH-KEYGEN
-
Erstellen Sie einen SSH-Schlüssel.
Sie können mit dem Open SSH-Befehl ssh-keygen ein SSH-Schlüsselpaar erstellen. Wenn Sie bereits ein SSH-Schlüsselpaar auf Ihrem Host-Computer haben, ist es eine bewährte Methode, ein SSH-Schlüsselpaar speziell für IDT zu erstellen. Auf diese Weise kann Ihr Host-Computer nach Abschluss des Tests keine Verbindung mehr zu Ihrem Gerät herstellen, ohne ein Passwort einzugeben. Außerdem können Sie den Zugriff auf das Remote-Gerät auf die Personen beschränken, die tatsächlich Zugriff benötigen.
Anmerkung
Windows verfügt nicht über einen installierten SSH-Client. Weitere Informationen zur Installation eines SSH-Clients unter Windows finden Sie unter Herunterladen der SSH-Client-Software
. Der Befehl ssh-keygen fordert Sie auf, einen Namen und Pfad zum Speichern des Schlüsselpaars einzugeben. Standardmäßig werden die Schlüsselpaardateien
id_rsa
(privater Schlüssel) undid_rsa.pub
(öffentlicher Schlüssel) genannt. Unter macOS und Linux ist der Standard-Speicherort dieser Dateien~/.ssh/
. Unter Windows ist der Standard-SpeicherortC:\Users\
.<user-name>\.ssh
Wenn Sie dazu aufgefordert werden, geben Sie eine Schlüsselphrase zum Schutz Ihres SSH-Schlüssels ein. Weitere Informationen finden Sie unter Generieren eines neuen SSH-Schlüssels
. -
Fügen Sie autorisierte SSH-Schlüssel zu Ihrem zu testenden Gerät hinzu.
IDT muss Ihren privaten SSH-Schlüssel für die Anmeldung bei Ihrem zu testenden Gerät verwenden. Um Ihren privaten SSH-Schlüssel für die Anmeldung bei Ihrem zu testenden Gerät zu autorisieren, verwenden Sie den Befehl ssh-copy-id von Ihrem Host-Computer. Dieser Befehl fügt Ihren öffentlichen Schlüssel zur Datei
~/.ssh/authorized_keys
auf dem zu testenden Gerät hinzu. Beispielsweise:$ ssh-copy-id
<remote-ssh-user>
@<remote-device-ip>
Wo
remote-ssh-user
wird der Benutzername verwendet, um sich bei Ihrem zu testenden Gerät anzumelden, undremote-device-ip
ist die IP-Adresse des zu testenden Geräts, mit dem Tests durchgeführt werden sollen. Beispielsweise:ssh-copy-id pi@192.168.1.5
Wenn Sie dazu aufgefordert werden, geben Sie das Passwort für den im Befehl ssh-copy-id angegebenen Benutzernamen ein.
ssh-copy-id geht davon aus, dass der öffentliche Schlüssel
id_rsa.pub
heißt und am Standard-Speicherort gespeichert ist (~/.ssh/
in macOS und Linux undC:\Users\
in Windows). Wenn Sie dem öffentlichen Schlüssel einen anderen Namen gegeben oder ihn an einem anderen Ort gespeichert haben, müssen Sie den vollqualifizierten Pfad zu Ihrem öffentlichen SSH-Schlüssel mit der Option -i zu ssh-copy-id (z. B. ssh-copy-id -i ~/my/path/myKey.pub) angeben. Weitere Informationen zum Erstellen von SSH-Schlüsseln und Kopieren von öffentlichen Schlüsseln finden Sie unter SSH-COPY-ID<user-name>\.ssh
.
So erstellen Sie einen SSH-Schlüssel mit PuTTYgen (nur Windows)
-
Stellen Sie sicher, dass der OpenSSH-Server und -Client auf Ihrem zu testenden Gerät installiert sind. Weitere Informationen finden Sie unter OpenSSH
. -
Installieren Sie PuTTYgen
auf Ihrem zu testenden Gerät. -
Öffnen Sie PuTTYgen.
-
Wählen Sie Generate (Generieren) aus und bewegen Sie den Mauszeiger in das Feld, um einen privaten Schlüssel zu generieren.
-
Wählen Sie im Menü Conversions (Konvertierungen) die Option Export OpenSSH key (OpenSSH-Schlüssel exportieren) aus und speichern Sie den privaten Schlüssel mit der Dateierweiterung
.pem
. -
Fügen Sie den öffentlichen Schlüssel der Datei
/home/
auf dem zu testenden Gerät hinzu.<user>
/.ssh/authorized_keys-
Kopieren Sie den Text für den öffentlichen Schlüssel aus dem PuTTYgen-Fenster.
-
Verwenden Sie PuTTY, um eine Sitzung auf Ihrem zu testenden Gerät zu erstellen.
-
Führen Sie in einer Eingabeaufforderung oder einem Windows Powershell-Fenster den folgenden Befehl aus:
C:/
<path-to-putty>
/putty.exe -ssh<user>
@<dut-ip-address>
-
Wenn Sie dazu aufgefordert werden, geben Sie das Passwort Ihres Geräts ein.
-
Verwenden Sie vi oder einen anderen Texteditor, um den öffentlichen Schlüssel an die Datei
/home/
auf Ihrem zu testenden Gerät anzuhängen.<user>
/.ssh/authorized_keys
-
-
-
Aktualisieren Sie die Datei
device.json
mit Ihrem Benutzernamen, der IP-Adresse und dem Pfad zur Datei mit dem privaten Schlüssel, die Sie gerade auf Ihrem Host-Computer für jedes zu testende Gerät gespeichert haben. Weitere Informationen finden Sie unter Konfigurieren von device.json. Stellen Sie sicher, dass Sie den vollständigen Pfad und Dateinamen für den privaten Schlüssel angeben und Schrägstriche ('/') verwenden. Verwenden Sie beispielsweise für den Windows-PfadC:\DT\privatekey.pem
die AngabeC:/DT/privatekey.pem
in der Dateidevice.json
.
Konfigurieren Sie Benutzeranmeldeinformationen für Windows-Geräte
Um ein Windows-basiertes Gerät zu qualifizieren, müssen Sie Benutzeranmeldeinformationen im LocalSystem Konto auf dem zu testenden Gerät für die folgenden Benutzer konfigurieren:
-
Der Standard-Greengrass-Benutzer (
ggc_user
). -
Der Benutzer, mit dem Sie eine Verbindung zu dem zu testenden Gerät herstellen. Sie konfigurieren diesen Benutzer in der device.jsonDatei.
Sie müssen jeden Benutzer im LocalSystem Konto auf dem zu testenden Gerät erstellen und dann den Benutzernamen und das Passwort für den Benutzer in der Credential Manager-Instanz für das LocalSystem Konto speichern.
Um Benutzer auf Windows-Geräten zu konfigurieren
-
Öffnen Sie die Windows-Eingabeaufforderung (
cmd.exe
) als Administrator. -
Erstellen Sie die Benutzer im LocalSystem Konto auf dem Windows-Gerät. Führen Sie den folgenden Befehl für jeden Benutzer aus, den Sie erstellen möchten. Ersetzen Sie für den Standardbenutzer von Greengrass den
Benutzernamen durch
.ggc_user
Ersetzen Siedas Passwort
durch ein sicheres Passwort.net user /add
user-name
password
-
Laden Sie das PsExecProgramm
von Microsoft herunter und installieren Sie es auf dem Gerät. -
Verwenden Sie das PsExec Hilfsprogramm, um den Benutzernamen und das Passwort für den Standardbenutzer in der Credential Manager-Instanz für das LocalSystem Konto zu speichern.
Führen Sie den folgenden Befehl für jeden Benutzer aus, den Sie in Credential Manager konfigurieren möchten. Ersetzen Sie für den Standardbenutzer von Greengrass den
Benutzernamen durch
.ggc_user
Ersetzen Siedas Passwort
durch das Passwort des Benutzers, das Sie zuvor festgelegt haben.psexec -s cmd /c cmdkey /generic:
user-name
/user:user-name
/pass:password
Wenn das PsExec License Agreementgeöffnet wird, stimmen Sie Acceptder Lizenz zu und führen Sie den Befehl aus.
Anmerkung
Auf Windows-Geräten wird auf dem LocalSystem Konto der Greengrass-Nucleus ausgeführt, und Sie müssen das PsExec Hilfsprogramm verwenden, um Benutzerinformationen im LocalSystem Konto zu speichern. Wenn Sie die Credential Manager-Anwendung verwenden, werden diese Informationen nicht im Konto, sondern im Windows-Konto des aktuell angemeldeten Benutzers gespeichert. LocalSystem
Konfigurieren von Benutzerberechtigungen auf Ihrem Gerät
IDT führt Operationen für verschiedene Verzeichnisse und Dateien auf einem zu testenden Gerät aus. Einige dieser Operationen erfordern höhere Berechtigungen (mit sudo). Um diese Vorgänge zu automatisieren, muss IDT für AWS IoT Greengrass V2 in der Lage sein, Befehle mit sudo auszuführen, ohne nach einem Passwort gefragt zu werden.
Führen Sie die folgenden Schritte auf dem zu testenden Gerät aus, um sudo den Zugriff ohne Aufforderung zur Eingabe eines Passworts zu erlauben.
Anmerkung
username
bezieht sich auf den SSH-Benutzer, der von IDT für den Zugriff auf das zu testende Gerät verwendet wird.
So fügen Sie den Benutzer der sudo-Gruppe hinzu
-
Führen Sie auf dem zu testenden Gerät
sudo usermod -aG sudo
aus.<username>
-
Melden Sie sich ab und melden Sie sich dann wieder an, damit die Änderungen wirksam werden.
-
Führen Sie sudo echo test aus, um zu überprüfen, ob der Benutzername erfolgreich hinzugefügt wurde. Wenn Sie nicht zur Eingabe eines Passworts aufgefordert werden, ist Ihr Benutzer korrekt konfiguriert.
-
Öffnen Sie die Datei
/etc/sudoers
und fügen Sie am Ende der Datei die folgende Zeile hinzu:<ssh-username>
ALL=(ALL) NOPASSWD: ALL
Konfigurieren Sie eine benutzerdefinierte Token-Austauschrolle
Sie können eine benutzerdefinierte IAM-Rolle als Token-Austauschrolle verwenden, die das getestete Gerät für die Interaktion mit AWS Ressourcen annimmt. Informationen zum Erstellen einer IAM-Rolle finden Sie unter Erstellen von IAM-Rollen im IAM-Benutzerhandbuch.
Sie müssen die folgenden Anforderungen erfüllen, damit IDT Ihre benutzerdefinierte IAM-Rolle verwenden kann. Wir empfehlen dringend, dieser Rolle nur die minimal erforderlichen Richtlinienaktionen hinzuzufügen.
-
Die Konfigurationsdatei userdata.json muss aktualisiert werden, um den
GreengrassV2TokenExchangeRole
Parameter auf zu setzen.true
-
Die benutzerdefinierte IAM-Rolle muss mit der folgenden Mindestvertrauensrichtlinie konfiguriert werden:
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":[ "credentials.iot.amazonaws.com", "lambda.amazonaws.com", "sagemaker.amazonaws.com" ] }, "Action":"sts:AssumeRole" } ] }
-
Die benutzerdefinierte IAM-Rolle muss mit der folgenden Mindestberechtigungsrichtlinie konfiguriert werden:
{ "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":"*" } ] }
-
Der Name der benutzerdefinierten IAM-Rolle muss mit der IAM-Rollenressource übereinstimmen, die Sie in den IAM-Berechtigungen für den Testbenutzer angeben. Standardmäßig ermöglicht die Testbenutzerrichtlinie den Zugriff auf IAM-Rollen, deren Rollennamen das
idt-
Präfix enthalten. Wenn Ihr IAM-Rollenname dieses Präfix nicht verwendet, fügen Sie diearn:aws:iam::*:role/
Ressource dercustom-iam-role-name
roleAliasResources
Anweisung und derpassRoleForResources
Anweisung in Ihrer Testbenutzerrichtlinie hinzu, wie in den folgenden Beispielen gezeigt:Beispiel
passRoleForResources
-Anweisung{ "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" ] } } }Beispiel
roleAliasResources
-Anweisung{ "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
" ] }
Konfigurieren Ihres Geräts zum Testen optionaler Funktionen
In diesem Abschnitt werden die Geräteanforderungen für die Ausführung von IDT-Tests für optionale Docker- und ML-Funktionen (Machine Learning) beschrieben. Die ML-Funktionen werden nur in IDT v4.9.3 unterstützt. Sie müssen sicherstellen, dass Ihr Gerät diese Anforderungen nur erfüllt, wenn Sie diese Funktionen testen möchten. Fahren Sie andernfalls mit dem Schritt Konfigurieren Sie die IDT-Einstellungen, um die AWS IoT Greengrass Qualification Suite auszuführen fort.
Themen
Anforderungen an die Docker-Qualifikation
IDT für AWS IoT Greengrass V2 bietet Docker-Qualifizierungstests, um zu überprüfen, ob Ihre Geräte die von Ihnen AWS bereitgestellte Docker-Anwendungsmanager-Komponente zum Herunterladen von Docker-Container-Images verwenden können, die Sie mit benutzerdefinierten Docker-Container-Komponenten ausführen können. Informationen zum Erstellen benutzerdefinierter Docker-Komponenten finden Sie unter. Führen Sie einen Docker-Container aus
Um Docker-Qualifizierungstests ausführen zu können, müssen Ihre getesteten Geräte die folgenden Anforderungen erfüllen, um die Docker Application Manager-Komponente bereitstellen zu können.
-
Docker Engine
1.9.1 oder höher ist auf dem Greengrass-Core-Gerät installiert. Version 20.10 ist die neueste Version, für die verifiziert wurde, dass sie mit der Core-Software funktioniert. AWS IoT Greengrass Sie müssen Docker direkt auf dem Kerngerät installieren, bevor Sie Komponenten bereitstellen, auf denen Docker-Container ausgeführt werden. -
Der Docker-Daemon wurde auf dem Kerngerät gestartet und ausgeführt, bevor Sie diese Komponente bereitstellen.
-
Der Systembenutzer, der eine Docker-Container-Komponente ausführt, muss über Root- oder Administratorrechte verfügen, oder Sie müssen Docker so konfigurieren, dass es als Benutzer ohne Root- oder Administratorrechte ausgeführt wird.
-
Auf Linux-Geräten können Sie der Gruppe einen Benutzer hinzufügen, um Befehle ohne Befehle
docker
aufzurufen.docker
sudo
-
Auf Windows-Geräten können Sie der
docker-users
Gruppe einen Benutzer hinzufügen, umdocker
Befehle ohne Administratorrechte aufzurufen.
-
Anforderungen an die ML-Qualifikation
Anmerkung
Die Funktion für maschinelles Lernen wird nur in IDT v4.9.3 unterstützt.
IDT for AWS IoT Greengrass V2 bietet ML-Qualifizierungstests, um zu überprüfen, ob Ihre Geräte die AWS bereitgestellten Komponenten für maschinelles Lernen verwenden können, um ML-Inferenzen lokal mithilfe der Deep Learning
Um ML-Qualifizierungstests durchführen zu können, müssen Ihre getesteten Geräte die folgenden Anforderungen erfüllen, um die Komponenten für maschinelles Lernen bereitstellen zu können.
-
Auf Greengrass-Core-Geräten, auf denen Amazon Linux 2 oder Ubuntu 18.04 ausgeführt wird, ist die GNU C Library
(Glibc) Version 2.27 oder höher auf dem Gerät installiert. -
Auf ARMv7L-Geräten wie Raspberry Pi sind Abhängigkeiten für OpenCV-Python auf dem Gerät installiert. Führen Sie den folgenden Befehl aus, um die Abhängigkeiten zu installieren.
sudo apt-get install libopenjp2-7 libilmbase23 libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgtk-3-0 libwebp-dev
-
Raspberry Pi-Geräte, auf denen Raspberry Pi OS Bullseye ausgeführt wird, müssen die folgenden Anforderungen erfüllen:
-
NumPy 1.22.4 oder höher auf dem Gerät installiert. Raspberry Pi OS Bullseye enthält eine frühere Version von NumPy, sodass Sie den folgenden Befehl ausführen können, um das Gerät zu aktualisieren NumPy .
pip3 install --upgrade numpy
-
Der ältere Kamerastack ist auf dem Gerät aktiviert. Raspberry Pi OS Bullseye enthält einen neuen Kamerastack, der standardmäßig aktiviert und nicht kompatibel ist. Sie müssen also den älteren Kamerastack aktivieren.
Um den Legacy-Kamerastack zu aktivieren
-
Führen Sie den folgenden Befehl aus, um das Raspberry Pi-Konfigurationstool zu öffnen.
sudo raspi-config
-
Wählen Sie Schnittstellenoptionen.
-
Wählen Sie Legacy-Kamera aus, um den Legacy-Kamerastack zu aktivieren.
-
Starten Sie den Raspberry Pi neu.
-
-
HSM-Qualifikationsanforderungen
AWS IoT Greengrass stellt die PKCS #11 -Anbieterkomponente zur Integration in das PKCS Hardware Security Module (HSM) auf dem Gerät bereit. Das HSM-Setup hängt von Ihrem Gerät und dem HSM-Modul ab, das Sie ausgewählt haben. Solange die erwartete HSM-Konfiguration, wie in den IDT-Konfigurationseinstellungen dokumentiert, bereitgestellt wird, verfügt IDT über die Informationen, die für die Durchführung dieses optionalen Feature-Qualifizierungstests erforderlich sind.