AWS IoT Greengrass Version 1 trat am 30. Juni 2023 in die erweiterte Lebensphase ein. Weitere Informationen finden Sie in der AWS IoT Greengrass V1 Wartungsrichtlinie. Nach diesem Datum AWS IoT Greengrass V1 werden keine Updates mehr veröffentlicht, die Funktionen, Verbesserungen, Bugfixes oder Sicherheitspatches bieten. Geräte, die auf laufen, werden AWS IoT Greengrass V1 nicht gestört und funktionieren weiterhin und stellen eine Verbindung zur Cloud her. Wir empfehlen Ihnen dringend, zu migrieren AWS IoT Greengrass Version 2, da dies wichtige neue Funktionen und Unterstützung für zusätzliche Plattformen bietet.
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.
Setzen Sie Geheimnisse bis ins AWS IoT Greengrass Mark ein
Diese Funktion ist für AWS IoT Greengrass Core v1.7 und höher verfügbar.
AWS IoT Greengrass ermöglicht es Ihnen, sich mit Diensten und Anwendungen von Greengrass-Geräten aus zu authentifizieren, ohne Passwörter, Token oder andere Geheimnisse fest codieren zu müssen.
AWS Secrets Manager ist ein Dienst, mit dem Sie Ihre Geheimnisse sicher in der Cloud speichern und verwalten können. AWS IoT Greengrass erweitert Secrets Manager auf Greengrass-Kerngeräte, sodass Ihre Konnektoren und Lambda-Funktionen lokale Geheimnisse verwenden können, um mit Diensten und Anwendungen zu interagieren. Beispielsweise verwendet der Twilio Notifications-Konnektor ein lokal gespeichertes Authentifizierungstoken.
Um ein Secret in eine Greengrass-Gruppe zu integrieren, erstellen Sie eine Gruppen-Ressource, die auf das Secrets Manager-Secret verweist. Diese geheime Ressource verweist über ARN auf das Cloud-Secret. Weitere Informationen zum Erstellen, Verwalten und Verwenden von Secret-Ressourcen finden Sie unter Arbeiten mit geheimen Ressourcen.
AWS IoT Greengrass verschlüsselt Ihre Geheimnisse während der Übertragung und im Ruhezustand. Ruft während der AWS IoT Greengrass Gruppenbereitstellung das Geheimnis aus Secrets Manager ab und erstellt eine lokale, verschlüsselte Kopie auf dem Greengrass-Core. Nachdem Sie Ihre Cloud-Geheimnisse in Secrets Manager rotiert haben, stellen Sie die Gruppe erneut bereit, um die aktualisierten Werte an den Core weiterzugeben.
Das folgende Diagramm zeigt den High-Level-Prozess der Bereitstellung eines Secrets im Kern. Secrets werden während der Übertragung und im Ruhezustand verschlüsselt.

Die Verwendung AWS IoT Greengrass zur lokalen Speicherung Ihrer Geheimnisse bietet folgende Vorteile:
-
Entkoppelung vom Code (nicht fest programmiert). Dies unterstützt zentral verwaltete Anmeldeinformationen und schützt sensible Daten vor dem Risiko der Kompromittierung.
-
Verfügbar für Offline-Szenarien. Konnektoren und Funktionen können bei fehlender Verbindung zum Internet sicher auf lokale Services und Software zugreifen.
-
Kontrollierter Zugriff auf Secrets. Nur autorisierte Konnektoren und Funktionen in der Gruppe können auf Ihre Secrets zugreifen. AWS IoT Greengrass verwendet Verschlüsselung für private Schlüssel, um Ihre Secrets zu schützen. Secrets werden während der Übertragung und im Ruhezustand verschlüsselt. Weitere Informationen finden Sie unter Secrets-Verschlüsselung.
-
Kontrollierte Rotation. Nachdem Sie Ihre Secrets im Secrets Manager rotiert haben, stellen Sie die Greengrass-Gruppe erneut bereit, um die lokalen Kopien Ihrer Secrets zu aktualisieren. Weitere Informationen finden Sie unter Erstellen und Verwalten von Secrets.
Wichtig
AWS IoT Greengrass aktualisiert die Werte lokaler Geheimnisse nicht automatisch, nachdem die Cloud-Versionen rotiert wurden. Um lokale Werte zu aktualisieren, müssen Sie die Gruppe erneut bereitstellen.
Secrets-Verschlüsselung
AWS IoT Greengrass verschlüsselt Geheimnisse bei der Übertragung und im Ruhezustand.
Wichtig
Stellen Sie sicher, dass Ihre benutzerdefinierten Lambda-Funktionen Secrets sicher behandeln und keine sensiblen Daten protokollieren, die in dem Secret gespeichert sind. Weitere Informationen finden Sie im Benutzerhandbuch unter Minimierung der Risiken beim Protokollieren und Debuggen Ihrer Lambda-Funktion.AWS Secrets Manager Obwohl sich diese Dokumentation speziell auf Rotationsfunktionen bezieht, gilt die Empfehlung auch für Greengrass Lambda-Funktionen.
- Verschlüsselung während der Übertragung
-
AWS IoT Greengrass verwendet Transport Layer Security (TLS), um die gesamte Kommunikation über das Internet und das lokale Netzwerk zu verschlüsseln. Dadurch werden Geheimnisse während der Übertragung geschützt, was passiert, wenn Geheimnisse aus Secrets Manager abgerufen und im Core bereitgestellt werden. Unterstützte TLS-Cipher-Suites finden Sie unter Support für TLS-Verschlüsselungs-Suites.
- Verschlüsselung im Ruhezustand
-
AWS IoT Greengrass verwendet den in angegebenen privaten Schlüssel config.jsonfür die Verschlüsselung der auf dem Core gespeicherten Geheimnisse. Aus diesem Grund ist die sichere Speicherung des privaten Schlüssels für den Schutz lokaler Secrets entscheidend. Beim Modell der AWS geteilten Verantwortung liegt
es in der Verantwortung des Kunden, die sichere Speicherung des privaten Schlüssels auf dem Kerngerät zu gewährleisten. AWS IoT Greengrass unterstützt zwei Arten der Speicherung von privaten Schlüsseln:
-
Die Verwendung von Hardware-Sicherheitsmodulen. Weitere Informationen finden Sie unter Integration von Hardware-Sicherheit.
Anmerkung
AWS IoT Greengrass Unterstützt derzeit nur den PKCS #1 v1.5-Padding-Mechanismus
für die Verschlüsselung und Entschlüsselung von lokalen Geheimnissen bei der Verwendung von hardwarebasierten privaten Schlüsseln. Wenn Sie die vom Hersteller bereitgestellten Anweisungen zur manuellen Generierung hardwarebasierter privater Schlüssel befolgen, stellen Sie sicher, dass Sie PKCS #1 v1.5 wählen. AWS IoT Greengrass unterstützt Optimal Asymmetric Encryption Padding (OAEP) nicht. -
Die Verwendung von Dateisystemberechtigungen (Standard).
Der private Schlüssel wird zur Sicherung des Datenschlüssels verwendet, mit dem lokale Secrets verschlüsselt werden. Der Datenschlüssel wird bei jedem Gruppeneinsatz rotiert.
Der AWS IoT Greengrass Kern ist die einzige Entität, die Zugriff auf den privaten Schlüssel hat. Greengrass-Konnektoren oder Lambda-Funktionen, die mit einer geheimen Ressource verknüpft sind, erhalten den Wert des Geheimnisses vom Kern.
-
Voraussetzungen
Dies sind die Anforderungen für den lokalen Secret-Support:
-
Sie müssen AWS IoT Greengrass Core v1.7 oder höher verwenden.
-
Um die Werte lokaler Geheimnisse abzurufen, müssen Ihre benutzerdefinierten Lambda-Funktionen das AWS IoT Greengrass Core SDK v1.3.0 oder höher verwenden.
-
Der private Schlüssel, der für die Verschlüsselung lokaler Secrets verwendet wird, muss in der Greengrass-Konfigurationsdatei angegeben sein. AWS IoT Greengrass Verwendet standardmäßig den privaten Kernschlüssel, der im Dateisystem gespeichert ist. Informationen zur Bereitstellung Ihres eigenen privaten Schlüssels finden Sie unter Angeben des privaten Schlüssels für die Verschlüsselung von Secrets. Nur der RSA-Schlüsseltyp wird unterstützt.
Anmerkung
AWS IoT Greengrass Unterstützt derzeit nur den PKCS #1 v1.5-Padding-Mechanismus
für die Verschlüsselung und Entschlüsselung von lokalen Geheimnissen bei der Verwendung von hardwarebasierten privaten Schlüsseln. Wenn Sie die vom Hersteller bereitgestellten Anweisungen zur manuellen Generierung hardwarebasierter privater Schlüssel befolgen, stellen Sie sicher, dass Sie PKCS #1 v1.5 wählen. AWS IoT Greengrass unterstützt Optimal Asymmetric Encryption Padding (OAEP) nicht. -
AWS IoT Greengrass Ihnen muss die Erlaubnis erteilt werden, Ihre geheimen Werte abzurufen. Dies ermöglicht AWS IoT Greengrass das Abrufen der Werte während der Gruppenbereitstellung. Wenn Sie die standardmäßige Greengrass-Servicerolle verwenden, AWS IoT Greengrass haben Sie bereits Zugriff auf Secrets mit Namen, die mit greengrass - beginnen. Informationen zum Anpassen des Zugriffs finden Sie unter Erlaubt das Abrufen geheimer Werte AWS IoT Greengrass.
Anmerkung
Wir empfehlen Ihnen, diese Benennungskonvention zu verwenden, um die Geheimnisse zu identifizieren, AWS IoT Greengrass auf die zugegriffen werden darf, auch wenn Sie die Berechtigungen anpassen. Die Konsole verwendet unterschiedliche Berechtigungen, um Ihre Geheimnisse zu lesen. Es ist also möglich, dass Sie in der Konsole Geheimnisse auswählen können, für die Sie AWS IoT Greengrass keine Zugriffsberechtigung haben. Die Verwendung einer Namenskonvention kann dazu beitragen, einen Berechtigungskonflikt zu vermeiden, der zu einem Bereitstellungsfehler führt.
Angeben des privaten Schlüssels für die Verschlüsselung von Secrets
In diesem Verfahren geben Sie den Pfad zu einem privaten Schlüssel an, der für die lokale geheime Verschlüsselung verwendet wird. Dabei muss es sich um einen RSA-Schlüssel mit einer Mindestlänge von 2048 Bits handeln. Weitere Hinweise zu privaten Schlüsseln, die auf dem AWS IoT Greengrass Core verwendet werden, finden Sie unterAWS IoT Greengrass zentrale Sicherheitsprinzipale.
AWS IoT Greengrass unterstützt zwei Modi der Speicherung privater Schlüssel: hardwarebasiert oder dateisystembasiert (Standard). Weitere Informationen finden Sie unter Secrets-Verschlüsselung.
Führen Sie diese Vorgehensweise nur dann aus, wenn Sie die Standardkonfiguration ändern möchten, die den privaten Core-Schlüssel im Dateisystem verwendet. Diese Schritte gelten unter der Annahme, dass Sie Ihre Gruppe und Ihren Kern wie in Modul 2 des Tutorials Erste Schritte beschrieben erstellt haben.
-
Öffnen Sie die Datei config.json, die sich im Verzeichnis
/
befindet.greengrass-root
/configAnmerkung
greengrass-root
steht für den Pfad, in dem die AWS IoT Greengrass Core-Software auf Ihrem Gerät installiert ist. Normalerweise ist dies das Verzeichnis/greengrass
. -
Geben Sie im Objekt
crypto.principals.SecretsManager
für die EigenschaftprivateKeyPath
den Pfad des privaten Schlüssels ein:-
Wenn Ihr privater Schlüssel im Dateisystem gespeichert ist, geben Sie den absoluten Pfad zum Schlüssel an. Zum Beispiel:
"SecretsManager" : { "privateKeyPath" : "file:///somepath/
hash
.private.key" } -
Wenn Ihr privater Schlüssel in einem Hardware-Sicherheitsmodul (HSM) gespeichert ist, geben Sie den Pfad mithilfe des URI-Schemas RFC 7512 PKCS#11
an. Zum Beispiel: "SecretsManager" : { "privateKeyPath" : "pkcs11:object=
private-key-label
;type=private" }Weitere Informationen finden Sie unter Hardwaresicherheitskonfiguration für einen Kern AWS IoT Greengrass.
Anmerkung
AWS IoT Greengrass Unterstützt derzeit nur den PKCS #1 v1.5-Padding-Mechanismus
für die Verschlüsselung und Entschlüsselung von lokalen Geheimnissen bei der Verwendung von hardwarebasierten privaten Schlüsseln. Wenn Sie die vom Hersteller bereitgestellten Anweisungen zur manuellen Generierung hardwarebasierter privater Schlüssel befolgen, stellen Sie sicher, dass Sie PKCS #1 v1.5 wählen. AWS IoT Greengrass unterstützt Optimal Asymmetric Encryption Padding (OAEP) nicht.
-
Erlaubt das Abrufen geheimer Werte AWS IoT Greengrass
In diesem Verfahren fügen Sie der Greengrass-Servicerolle eine Inline-Richtlinie hinzu, mit der AWS IoT Greengrass Sie die Werte Ihrer Geheimnisse abrufen können.
Folgen Sie diesem Verfahren nur, wenn Sie Ihren Geheimnissen AWS IoT Greengrass benutzerdefinierte Berechtigungen gewähren möchten oder wenn Ihre Greengrass-Servicerolle die AWSGreengrassResourceAccessRolePolicy
verwaltete Richtlinie nicht beinhaltet. AWSGreengrassResourceAccessRolePolicy
gewährt Zugriff auf Geheimnisse, deren Namen mit greengrass - beginnen.
-
Führen Sie den folgenden CLI-Befehl aus, um den ARN der Greengrass-Servicerolle zu erhalten:
aws greengrass get-service-role-for-account --region
region
Der zurückgegebene ARN enthält den Rollennamen.
{ "AssociatedAt": "
time-stamp
", "RoleArn": "arn:aws:iam::account-id
:role/service-role/role-name
" }Sie verwenden im folgenden Schritt den ARN oder den Namen.
-
Fügen Sie eine Inline-Richtlinie hinzu, die die Aktion
secretsmanager:GetSecretValue
erlaubt. Anweisungen finden Sie im IAM-Benutzerhandbuch unter Hinzufügen und Entfernen von IAM-Richtlinien.Sie können granularen Zugriff gewähren, indem Sie Secrets explizit auflisten oder ein Wildcard
*
Namensschema verwenden, oder Sie können bedingten Zugriff auf versionierte oder markierte Secrets gewähren. Mit der folgenden Richtlinie können beispielsweise nur AWS IoT Greengrass die angegebenen Geheimnisse gelesen werden.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": [ "arn:aws:secretsmanager:
region
:account-id
:secret:greengrass-SecretA-abc
", "arn:aws:secretsmanager:region
:account-id
:secret:greengrass-SecretB-xyz
" ] } ] }Anmerkung
Wenn Sie einen vom Kunden verwalteten AWS KMS Schlüssel zum Verschlüsseln von Geheimnissen verwenden, muss Ihre Greengrass-Servicerolle die Aktion ebenfalls zulassen.
kms:Decrypt
Weitere Informationen zu IAM-Richtlinien für Secrets Manager finden Sie im AWS Secrets Manager Benutzerhandbuch unter Authentifizierung AWS Secrets Manager und Zugriffskontrolle für und Aktionen, Ressourcen und Kontextschlüssel, die Sie in einer IAM-Richtlinie oder Geheimrichtlinie verwenden können. AWS Secrets Manager
Weitere Informationen finden Sie auch unter
-
Was ist? AWS Secrets Manager im AWS Secrets Manager Benutzerhandbuch