Hinweis zum Ende des Supports: Am 7. Oktober 2026 AWS wird der Support für eingestellt. AWS IoT Greengrass Version 1 Nach dem 7. Oktober 2026 werden Sie nicht mehr auf die Ressourcen zugreifen können. AWS IoT Greengrass V1 Weitere Informationen finden Sie unter Migrieren von AWS IoT Greengrass Version 1.
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.
Arbeiten mit geheimen Ressourcen
AWS IoT Greengrass verwendet geheime Ressourcen, um Geheimnisse aus AWS Secrets Manager einer Greengrass-Gruppe zu integrieren. Eine geheime Ressource ist ein Verweis auf ein Secrets Manager-Geheimnis. Weitere Informationen finden Sie unter Bereitstellen von Geheimnissen für AWS IoT Greengrass core.
Auf dem AWS IoT Greengrass Kerngerät können Konnektoren und Lambda-Funktionen die geheime Ressource verwenden, um sich bei Diensten und Anwendungen zu authentifizieren, ohne Passwörter, Token oder andere Anmeldeinformationen fest codieren zu müssen.
Erstellen und Verwalten von Secrets
In einer Greengrass-Gruppe verweist eine geheime Ressource auf den ARN eines Secrets Manager-Geheimnisses. Wenn die geheime Ressource im Core bereitgestellt wird, wird der Wert des Secrets verschlüsselt und verbundenen Konnektoren und Lambda-Funktionen zur Verfügung gestellt. Weitere Informationen finden Sie unter Verschlüsselung von Secrets.
Sie verwenden Secrets Manager, um die Cloud-Versionen Ihrer Secrets zu erstellen und zu verwalten. Sie verwenden AWS IoT Greengrass es, um Ihre geheimen Ressourcen zu erstellen, zu verwalten und bereitzustellen.
Wichtig
Wir empfehlen Ihnen, die bewährte Methode zur Rotation Ihrer Geheimnisse im Secrets Manager zu befolgen. Stellen Sie dann die Greengrass-Gruppe bereit, um die lokalen Kopien Ihrer Secrets zu aktualisieren. Weitere Informationen finden Sie im AWS Secrets Manager Benutzerhandbuch unter Rotation your AWS Secrets Manager Secrets.
So machen Sie ein Secret auf dem Greengrass-Core verfügbar
Erstellen Sie ein Geheimnis in Secrets Manager. Dies ist die Cloud-Version Ihres Geheimnisses, die zentral im Secrets Manager gespeichert und verwaltet wird. Zu den Verwaltungsaufgaben gehören das Rotieren von geheimen Werten und das Anwenden von Ressourcenrichtlinien.
Erstellen Sie eine geheime Ressource in AWS IoT Greengrass. Dies ist ein Gruppenressourcentyp, der über den ARN auf das Cloud-Secret verweist. Sie können ein Secret nur einmal pro Gruppe referenzieren.
Konfigurieren Sie Ihren Connector oder Ihre Lambda-Funktion. Sie müssen die Ressource mit einem Konnektor oder einer Funktion verknüpfen, indem Sie entsprechende Parameter oder Eigenschaften angeben. Dadurch kann von ihnen der Wert der lokal bereitgestellten geheimen Ressource ermittelt werden. Weitere Informationen finden Sie unter Verwendung von lokalen Geheimnissen in Konnektoren und Lambda-Funktionen.
Bereitstellen der Greengrass-Gruppe Während der Bereitstellung ruft AWS IoT Greengrass den Wert des Cloud-Secrets ab und erstellt (oder aktualisiert) das lokale Secret auf dem Kern.
Secrets Manager protokolliert AWS CloudTrail jedes Mal ein Ereignis, das einen geheimen AWS IoT Greengrass Wert abruft. AWS IoT Greengrass protokolliert keine Ereignisse im Zusammenhang mit der Bereitstellung oder Verwendung von lokalen Geheimnissen. Weitere Informationen zur Secrets Manager-Protokollierung finden Sie im AWS Secrets Manager Benutzerhandbuch unter Überwachen der Verwendung Ihrer AWS Secrets Manager Geheimnisse.
Einbinden von Staging-Bezeichnungen in geheime Ressourcen
Secrets Manager verwendet Staging-Labels, um bestimmte Versionen eines geheimen Werts zu identifizieren. Staging-Labels können systemdefiniert oder benutzerdefiniert sein. Secrets Manager weist das AWSCURRENT Label der neuesten Version des Geheimwerts zu. Staging-Beschriftungen werden häufig verwendet, um die Rotation von Secrets zu verwalten. Weitere Informationen zur Secrets Manager-Versionierung finden Sie AWS Secrets Manager im AWS Secrets Manager Benutzerhandbuch unter Wichtige Begriffe und Konzepte für.
Geheime Ressourcen enthalten immer das AWSCURRENT Staging-Label, und sie können optional andere Staging-Labels enthalten, wenn sie von einer Lambda-Funktion oder einem Lambda-Connector benötigt werden. AWS IoT Greengrass Ruft während der Gruppenbereitstellung die Werte der Staging-Labels ab, auf die in der Gruppe verwiesen wird, und erstellt oder aktualisiert dann die entsprechenden Werte im Core.
Erstellen und Verwalten von geheimen Ressourcen (Konsole)
Erstellen von geheimen Ressourcen (Konsole)
In der AWS IoT Greengrass Konsole erstellen und verwalten Sie geheime Ressourcen auf der Registerkarte Geheimnisse auf der Ressourcenseite der Gruppe. Für Tutorials, die eine geheime Ressource erstellen und zu einer Gruppe hinzufügen, siehe Erstellen einer geheimen Ressource (Konsole) und Erste Schritte mit Greengrass-Konnektoren (Konsole).
Anmerkung
Alternativ können Sie in der Konsole eine geheime und eine geheime Ressource erstellen, wenn Sie einen Connector oder eine Lambda-Funktion konfigurieren. Sie können dies auf der Seite „Parameter konfigurieren“ des Connectors oder auf der Seite „Ressourcen“ der Lambda-Funktion tun.
Verwalten von geheimen Ressourcen (Konsole)
Zu den Verwaltungsaufgaben für die geheimen Ressourcen in Ihrer Greengrass-Gruppe gehören das Hinzufügen geheimer Ressourcen zur Gruppe, das Entfernen geheimer Ressourcen aus der Gruppe und das Ändern der Staging-Labels, die in einer geheimen Ressource enthalten sind.
Wenn Sie auf ein anderes Geheimnis als Secrets Manager zeigen, müssen Sie auch alle Connectoren bearbeiten, die das Geheimnis verwenden:
-
Wählen Sie auf der Gruppenkonfigurationsseite die Option Connectors (Konnektoren) aus.
-
Klicken Sie im Konnektor-Kontextmenü auf Edit (Bearbeiten).
-
Die Seite Edit parameters (Parameter bearbeiten) Parameter wird eine Meldung angezeigt, um Sie zu informieren, dass sich der geheime ARN geändert hat. Wählen Sie Save (Speichern), um die Änderung zu bestätigen.
Wenn Sie ein Geheimnis in Secrets Manager löschen, entfernen Sie die entsprechende geheime Ressource aus der Gruppe und aus den Konnektoren und Lambda-Funktionen, die darauf verweisen. Andernfalls wird während der Gruppenbereitstellung ein Fehler AWS IoT Greengrass zurückgegeben, dass das Geheimnis nicht gefunden werden kann. Aktualisieren Sie bei Bedarf auch Ihren Lambda-Funktionscode.
Erstellen und Verwalten von geheimen Ressourcen (CLI)
Erstellen von geheimen Ressourcen (CLI)
In der AWS IoT Greengrass API ist ein Geheimnis eine Art Gruppenressource. Das folgende Beispiel erstellt eine Ressourcendefinition mit einer Startversion, die eine geheime Ressource namens MySecretResource enthält. Ein Tutorial, das eine geheime Ressource erstellt und zu einer Gruppenversion hinzufügt, finden Sie unter Erste Schritte mit Greengrass-Konnektoren (CLI).
Die geheime Ressource verweist auf den ARN des entsprechenden Secrets Manager-Geheimnisses und enthält zusätzlich zuAWSCURRENT, welches immer enthalten ist, zwei Staging-Labels.
aws greengrass create-resource-definition --name MyGreengrassResources --initial-version '{ "Resources": [ { "Id": "my-resource-id", "Name": "MySecretResource", "ResourceDataContainer": { "SecretsManagerSecretResourceData": { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:greengrass-SomeSecret-KUj89s", "AdditionalStagingLabelsToDownload": [ "Label1", "Label2" ] } } } ] }'
Verwalten von geheimen Ressourcen (CLI)
Zu den Verwaltungsaufgaben für die geheimen Ressourcen in Ihrer Greengrass-Gruppe gehören das Hinzufügen geheimer Ressourcen zur Gruppe, das Entfernen geheimer Ressourcen aus der Gruppe und das Ändern der Staging-Labels, die in einer geheimen Ressource enthalten sind.
In der AWS IoT Greengrass API werden diese Änderungen mithilfe von Versionen implementiert.
Die AWS IoT Greengrass API verwendet Versionen, um Gruppen zu verwalten. Versionen sind unveränderlich. Um Gruppenkomponenten — z. B. die Client-Geräte, Funktionen und Ressourcen der Gruppe — hinzuzufügen oder zu ändern, müssen Sie Versionen neuer oder aktualisierter Komponenten erstellen. Anschließend erstellen Sie eine Gruppenversion, die die Zielversion jeder Komponente enthält, und stellen sie bereit. Weitere Informationen zu Gruppen finden Sie unterAWS IoT Greengrass Gruppen.
So ändern Sie beispielsweise die Staging-Beschriftungen für eine geheime Ressource:
Erstellen Sie eine Version einer Ressourcendefinition, die die aktualisierte geheime Ressource enthält. Das folgende Beispiel fügt der geheimen Ressource aus dem vorherigen Abschnitt eine dritte Staging-Beschriftung hinzu.
Anmerkung
Um der Version weitere Ressourcen hinzuzufügen, nehmen Sie diese in das Array
Resourcesauf.aws greengrass create-resource-definition --name MyGreengrassResources --initial-version '{ "Resources": [ { "Id": "my-resource-id", "Name": "MySecretResource", "ResourceDataContainer": { "SecretsManagerSecretResourceData": { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:greengrass-SomeSecret-KUj89s", "AdditionalStagingLabelsToDownload": [ "Label1", "Label2", "Label3" ] } } } ] }'Wenn die ID der geheimen Ressource geändert wird, aktualisieren Sie Konnektoren und Funktionen, die die geheime Ressource verwenden. Aktualisieren Sie in den neuen Versionen den Parameter oder die Eigenschaft, die der Ressourcen-ID entspricht. Wenn der ARN des Secrets geändert wird, müssen Sie auch den entsprechenden Parameter für alle Konnektoren aktualisieren, die das Secret verwenden.
Anmerkung
Die Ressourcen-ID ist ein beliebiger Identifikator, der vom Kunden bereitgestellt wird.
Erstellen Sie eine Gruppenversion, die die Zielversion jeder Komponente enthält, die Sie an den Kern senden möchten.
Bereitstellen der Gruppenversion.
Ein Tutorial, das zeigt, wie man geheime Ressourcen, Konnektoren und Funktionen erstellt und bereitstellt, finden Sie unter Erste Schritte mit Greengrass-Konnektoren (CLI).
Wenn Sie ein Geheimnis in Secrets Manager löschen, entfernen Sie die entsprechende geheime Ressource aus der Gruppe und aus den Konnektoren und Lambda-Funktionen, die darauf verweisen. Andernfalls wird während der Gruppenbereitstellung ein Fehler AWS IoT Greengrass zurückgegeben, dass das Geheimnis nicht gefunden werden kann. Aktualisieren Sie bei Bedarf auch Ihren Lambda-Funktionscode. Sie können ein lokales Geheimnis entfernen, indem Sie eine Version der Ressourcendefinition bereitstellen, die die entsprechende geheime Ressource nicht enthält.
Verwendung von lokalen Geheimnissen in Konnektoren und Lambda-Funktionen
Greengrass-Konnektoren und Lambda-Funktionen verwenden lokale Geheimnisse, um mit Diensten und Anwendungen zu interagieren. Der AWSCURRENT-Wert wird standardmäßig verwendet, es sind aber auch Werte für andere Staging-Bezeichnungen in der Secret-Ressource verfügbar.
Konnektoren und Funktionen müssen konfiguriert werden, bevor sie auf lokale Secrets zugreifen. Dadurch wird die geheime Ressource mit dem Konnektor oder der Funktion verknüpft.
- Konnektoren
-
Wenn ein Konnektor Zugriff auf ein lokales Secret benötigt, stellt er Parameter zur Verfügung, die Sie mit den Informationen konfigurieren, die für den Zugriff auf das Secret erforderlich sind.
Wie Sie das in der AWS IoT Greengrass Konsole tun, erfahren Sie unter. Erste Schritte mit Greengrass-Konnektoren (Konsole)
Informationen dazu, wie Sie dies mit der AWS IoT Greengrass CLI tun, finden Sie unterErste Schritte mit Greengrass-Konnektoren (CLI).
Weitere Informationen über die Anforderungen einzelner Konnektoren finden Sie unter AWS-mitgelieferte Greengrass-Anschlüsse.
Die Logik für den Zugriff und die Nutzung des Secrets ist in den Konnektor integriert.
- Lambda-Funktionen
-
Um einer Greengrass-Lambda-Funktion den Zugriff auf ein lokales Geheimnis zu ermöglichen, konfigurieren Sie die Eigenschaften der Funktion.
Informationen dazu, wie Sie dies in der AWS IoT Greengrass Konsole tun, finden Sie unter. Erstellen einer geheimen Ressource (Konsole)
Um dies in der AWS IoT Greengrass API zu tun, geben Sie die folgenden Informationen in der
ResourceAccessPoliciesEigenschaft an.ResourceId: Die ID der geheimen Ressource in der Greengrass-Gruppe. Dies ist die Ressource, die auf den ARN des entsprechenden Secrets Manager-Geheimnisses verweist.Permission: Die Art des Zugriffs, den die Funktion auf die Ressource hat. Nur die Berechtigungro(schreibgeschützt) wird für geheime Ressourcen unterstützt.
Im folgenden Beispiel wird eine Lambda-Funktion erstellt, die auf die
MyApiKeygeheime Ressource zugreifen kann.aws greengrass create-function-definition --name MyGreengrassFunctions --initial-version '{ "Functions": [ { "Id": "MyLambdaFunction", "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:myFunction:1", "FunctionConfiguration": { "Pinned": false, "MemorySize": 16384, "Timeout": 10, "Environment": { "ResourceAccessPolicies": [ { "ResourceId": "MyApiKey", "Permission": "ro" } ], "AccessSysfs": true } } } ] }'Um zur Laufzeit auf lokale Geheimnisse zuzugreifen, rufen Greengrass Lambda-Funktionen die
get_secret_valueFunktion vomsecretsmanagerClient im AWS IoT Greengrass Core SDK (v1.3.0 oder höher) aus auf.Das folgende Beispiel zeigt, wie das AWS IoT Greengrass Core SDK für Python verwendet wird, um ein Geheimnis abzurufen. Es übergibt den Namen des Geheimnisses an die
get_secret_valueFunktion.SecretIdkann der Name oder die ARN des Secrets Manager-Geheimnisses sein (nicht die geheime Ressource).import greengrasssdk secrets_client = greengrasssdk.client("secretsmanager") secret_name = "greengrass-MySecret-abc" def function_handler(event, context): response = secrets_client.get_secret_value(SecretId=secret_name) secret = response.get("SecretString")Für Secrets vom Typ Text gibt die
get_secret_value-Funktion eine Zeichenfolge zurück. Für Secrets des Binärtyps gibt sie eine base64-kodierte Zeichenfolge zurück.Wichtig
Stellen Sie sicher, dass Ihre benutzerdefinierten Lambda-Funktionen Geheimnisse sicher behandeln und keine vertraulichen Daten protokollieren, die in dem Secret gespeichert sind. Weitere Informationen finden Sie im Benutzerhandbuch unter Minderung der Risiken beim Loggen 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.
Standardmäßig wird der aktuelle Wert des Secrets zurückgegeben. Dies ist die Version, der die
AWSCURRENT-Staging-Bezeichnung zugeordnet ist. Um auf eine andere Version zuzugreifen, übergeben Sie den Namen der zugehörigen Staging-Bezeichnung für das optionaleVersionStage-Argument. Beispiel:import greengrasssdk secrets_client = greengrasssdk.client("secretsmanager") secret_name = "greengrass-TestSecret" secret_version = "MyTargetLabel" # Get the value of a specific secret version def function_handler(event, context): response = secrets_client.get_secret_value( SecretId=secret_name, VersionStage=secret_version ) secret = response.get("SecretString")Eine weitere Beispielfunktion, die
get_secret_valueaufruft, finden Sie unter Erstellen Sie ein Bereitstellungspaket für die Lambda-Funktion.