

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 können Sie nicht mehr auf die Ressourcen zugreifen. AWS IoT Greengrass V1 Weitere Informationen finden Sie unter [Migrieren von AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html).

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
<a name="secrets"></a>

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](connectors.md) 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](secrets-using.md).

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.

![\[AWS IoT Greengrass ruft ein Geheimnis ab AWS Secrets Manager und stellt es als geheime Ressource auf dem Kerngerät bereit, wo es für Konnektoren und Lambda-Funktionen verfügbar ist.\]](http://docs.aws.amazon.com/de_de/greengrass/v1/developerguide/images/deploy-local-secret.png)


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 [Verschlüsselung von Secrets](#secrets-encryption).
+ **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](secrets-using.md#secrets-create-manage).
**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.

## Verschlüsselung von Secrets
<a name="secrets-encryption"></a>

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](https://docs.aws.amazon.com/secretsmanager/latest/userguide/best-practices.html#best-practice_lamda-debug-statements).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](gg-sec.md#gg-cipher-suites).

**Verschlüsselung im Ruhezustand**  
AWS IoT Greengrass verwendet den in angegebenen privaten Schlüssel [`config.json`](gg-core.md#config-json)fü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](https://aws.amazon.com/compliance/shared-responsibility-model/) 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](hardware-security.md).
**Anmerkung**  
 AWS IoT Greengrass Unterstützt derzeit nur den [PKCS \$11 v1.5-Padding-Mechanismus](https://tools.ietf.org/html/rfc2313) 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 \$11 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
<a name="secrets-reqs"></a>

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](#secrets-config-private-key). Nur der RSA-Schlüsseltyp wird unterstützt.
**Anmerkung**  
 AWS IoT Greengrass Unterstützt derzeit nur den [PKCS \$11 v1.5-Padding-Mechanismus](https://tools.ietf.org/html/rfc2313) 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 \$11 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](#secrets-config-service-role).
**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
<a name="secrets-config-private-key"></a>

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 unter[AWS IoT Greengrass zentrale Sicherheitsprinzipale](gg-sec.md#gg-principals). 

AWS IoT Greengrass unterstützt zwei Modi der Speicherung privater Schlüssel: hardwarebasiert oder dateisystembasiert (Standard). Weitere Informationen finden Sie unter [Verschlüsselung von Secrets](#secrets-encryption).

**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](module2.md) des Tutorials Erste Schritte beschrieben erstellt haben.

1. Öffnen Sie die Datei [`config.json`](gg-core.md#config-json), die sich im Verzeichnis `/greengrass-root/config` befindet.
**Anmerkung**  
*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`.

1. Geben Sie im Objekt `crypto.principals.SecretsManager` für die Eigenschaft `privateKeyPath` 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. 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\$111](https://tools.ietf.org/html/rfc7512) an. Beispiel:

     ```
     "SecretsManager" : {
       "privateKeyPath" : "pkcs11:object=private-key-label;type=private"
     }
     ```

     Weitere Informationen finden Sie unter [Hardwaresicherheitskonfiguration für einen Kern AWS IoT Greengrass](hardware-security.md#configure-hardware-security).
**Anmerkung**  
 AWS IoT Greengrass Unterstützt derzeit nur den [PKCS \$11 v1.5-Padding-Mechanismus](https://tools.ietf.org/html/rfc2313) 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 \$11 v1.5 wählen. AWS IoT Greengrass unterstützt Optimal Asymmetric Encryption Padding (OAEP) nicht.

## Erlaubt das Abrufen geheimer Werte AWS IoT Greengrass
<a name="secrets-config-service-role"></a>

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.

1. 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.

1. 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*](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html).

   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.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "secretsmanager:GetSecretValue"
               ],
               "Resource": [
               "arn:aws:secretsmanager:us-east-1:123456789012:secret:greengrass-SecretA-abc",
       "arn:aws:secretsmanager:us-east-1:123456789012: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](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html) und [Aktionen, Ressourcen und Kontextschlüssel, die Sie in einer IAM-Richtlinie oder Geheimrichtlinie verwenden können](https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_iam-permissions.html). AWS Secrets Manager

## Weitere Informationen finden Sie auch unter
<a name="secrets-seealso"></a>
+ [Was ist? AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) im *AWS Secrets Manager Benutzerhandbuch*
+ [PKCS \$11: RSA Encryption Version 1.5](https://tools.ietf.org/html/rfc2313)

# Arbeiten mit geheimen Ressourcen
<a name="secrets-using"></a>

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 Manager-Geheimnis. Weitere Informationen finden Sie unter [Setzen Sie Geheimnisse bis ins AWS IoT Greengrass Mark ein](secrets.md).

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 dass Passwörter, Token oder andere Anmeldeinformationen fest codiert werden müssen.

## Erstellen und Verwalten von Secrets
<a name="secrets-create-manage"></a>

In einer Greengrass-Gruppe verweist eine geheime Ressource auf den ARN eines Secrets Manager-Geheimnisses. Wenn die geheime Ressource auf dem Core bereitgestellt wird, wird der Wert des Geheimnisses verschlüsselt und verbundenen Konnektoren und Lambda-Funktionen zur Verfügung gestellt. Weitere Informationen finden Sie unter [Verschlüsselung von Secrets](secrets.md#secrets-encryption).

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 in 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 Ihrer AWS Secrets Manager Secrets](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html).

**So machen Sie ein Secret auf dem Greengrass-Core verfügbar**

1. Erstellen Sie ein Geheimnis in Secrets Manager. Dies ist die Cloud-Version Ihres Geheimnisses, die zentral in Secrets Manager gespeichert und verwaltet wird. Zu den Verwaltungsaufgaben gehören das Rotieren von geheimen Werten und das Anwenden von Ressourcenrichtlinien.

1. 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.

1. 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 lokaler Geheimnisse in Konnektoren und Lambda-Funktionen](#secrets-access).

1. 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, wenn ein geheimer Wert AWS IoT Greengrass abgerufen wird. AWS IoT Greengrass protokolliert keine Ereignisse im Zusammenhang mit der Bereitstellung oder Verwendung von lokalen Geheimnissen. Weitere Informationen zur Secrets Manager Manager-Protokollierung finden Sie unter [Überwachen der Verwendung Ihrer AWS Secrets Manager Geheimnisse](https://docs.aws.amazon.com/secretsmanager/latest/userguide/monitoring.html) im *AWS Secrets Manager Benutzerhandbuch*.

### Einbinden von Staging-Bezeichnungen in geheime Ressourcen
<a name="secret-resources-labels"></a>

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 geheimen Werts zu. Staging-Beschriftungen werden häufig verwendet, um die Rotation von Secrets zu verwalten. Weitere Informationen zur Versionierung von Secrets Manager finden Sie unter [Wichtige Begriffe und Konzepte für AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/terms-concepts.html) im *AWS Secrets Manager Benutzerhandbuch*.

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-Konnektor 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 auf dem Core.

### Erstellen und Verwalten von geheimen Ressourcen (Konsole)
<a name="create-manage-secret-resource-console"></a>

#### Erstellen von geheimen Ressourcen (Konsole)
<a name="create-manage-secret-resource-console-create"></a>

In der AWS IoT Greengrass Konsole erstellen und verwalten Sie geheime Ressourcen auf der Seite **Ressourcen** der Gruppe auf der Registerkarte **Geheimnisse**. Für Tutorials, die eine geheime Ressource erstellen und zu einer Gruppe hinzufügen, siehe [Erstellen einer geheimen Ressource (Konsole)](secrets-console.md) und [Erste Schritte mit Greengrass-Konnektoren (Konsole)](connectors-console.md).

![\[Eine geheime Ressource auf der Registerkarte "Secret" auf der Seite "Resources".\]](http://docs.aws.amazon.com/de_de/greengrass/v1/developerguide/images/connectors/secret-resource-twilio-auth-token.png)


**Anmerkung**  
Alternativ können Sie mit der Konsole eine geheime und 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)
<a name="create-manage-secret-resource-console-manage"></a>

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](#secret-resources-labels), die in einer geheimen Ressource enthalten sind.

Wenn Sie in Secrets Manager auf ein anderes Secret verweisen, müssen Sie auch alle Connectoren bearbeiten, die das Secret verwenden:

1. Wählen Sie auf der Gruppenkonfigurationsseite die Option **Connectors (Konnektoren)** aus.

1. Klicken Sie im Konnektor-Kontextmenü auf **Edit (Bearbeiten)**.

1. 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 Konnektoren und Lambda-Funktionen, die darauf verweisen. Andernfalls wird während der Gruppenbereitstellung die Fehlermeldung AWS IoT Greengrass zurückgegeben, dass das Geheimnis nicht gefunden werden kann. Aktualisieren Sie auch Ihren Lambda-Funktionscode nach Bedarf.

### Erstellen und Verwalten von geheimen Ressourcen (CLI)
<a name="create-manage-secret-resource-cli"></a>

#### Erstellen von geheimen Ressourcen (CLI)
<a name="create-manage-secret-resource-cli-create"></a>

In der AWS IoT Greengrass API ist ein Geheimnis eine Art von 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)](connectors-cli.md).

Die geheime Ressource verweist auf den ARN des entsprechenden Secrets Manager Manager-Geheimnisses und enthält zusätzlich zwei Staging-Labels`AWSCURRENT`, die immer enthalten sind.

```
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)
<a name="create-manage-secret-resource-cli-manage"></a>

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](#secret-resources-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 und implementieren Sie eine Gruppenversion, die die Zielversion jeder Komponente enthält. Weitere Informationen zu Gruppen finden Sie unter[AWS IoT Greengrass Gruppen](what-is-gg.md#gg-group).

So ändern Sie beispielsweise die Staging-Beschriftungen für eine geheime Ressource:

1. 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 `Resources` auf.

   ```
   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"
                       ]
                   }
               }
           }
       ]
   }'
   ```

1. 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.

1. Erstellen Sie eine Gruppenversion, die die Zielversion jeder Komponente enthält, die Sie an den Kern senden möchten.

1. 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)](connectors-cli.md).

Wenn Sie ein Geheimnis in Secrets Manager löschen, entfernen Sie die entsprechende geheime Ressource aus der Gruppe und aus Konnektoren und Lambda-Funktionen, die darauf verweisen. Andernfalls wird während der Gruppenbereitstellung die Fehlermeldung AWS IoT Greengrass zurückgegeben, dass das Geheimnis nicht gefunden werden kann. Aktualisieren Sie auch Ihren Lambda-Funktionscode nach Bedarf. Sie können ein lokales Geheimnis entfernen, indem Sie eine Version der Ressourcendefinition bereitstellen, die die entsprechende geheime Ressource nicht enthält.

## Verwendung lokaler Geheimnisse in Konnektoren und Lambda-Funktionen
<a name="secrets-access"></a>

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](#secret-resources-labels) 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.  
+ Informationen dazu, wie Sie dies in der AWS IoT Greengrass Konsole tun, finden Sie unter. [Erste Schritte mit Greengrass-Konnektoren (Konsole)](connectors-console.md)
+ Informationen dazu, wie Sie dies mit der AWS IoT Greengrass CLI tun, finden Sie unter[Erste Schritte mit Greengrass-Konnektoren (CLI)](connectors-cli.md).
Weitere Informationen über die Anforderungen einzelner Konnektoren finden Sie unter [AWS-mitgelieferte Greengrass-Anschlüsse](connectors-list.md).  
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)](secrets-console.md)
+ Um dies in der AWS IoT Greengrass API zu tun, geben Sie die folgenden Informationen in der `ResourceAccessPolicies` Eigenschaft an.
  + `ResourceId`: Die ID der geheimen Ressource in der Greengrass-Gruppe. Dies ist die Ressource, die auf den ARN des entsprechenden Secrets Manager Manager-Geheimnisses verweist.
  + `Permission`: Die Art des Zugriffs, den die Funktion auf die Ressource hat. Nur die Berechtigung `ro` (schreibgeschützt) wird für geheime Ressourcen unterstützt.

  Das folgende Beispiel erstellt eine Lambda-Funktion, die auf die `MyApiKey` geheime 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_value` Funktion vom `secretsmanager` Client im AWS IoT Greengrass Core SDK (v1.3.0 oder höher) aus.

  Das folgende Beispiel zeigt, wie Sie das AWS IoT Greengrass Core SDK für Python verwenden, um ein Geheimnis abzurufen. Es übergibt den Namen des Geheimnisses an die `get_secret_value` Funktion. `SecretId`kann der Name oder der ARN des Secrets Manager Manager-Geheimnisses sein (nicht der geheimen 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 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](https://docs.aws.amazon.com/secretsmanager/latest/userguide/best-practices.html#best-practice_lamda-debug-statements).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 optionale `VersionStage`-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_value` aufruft, finden Sie unter [Erstellen Sie ein Bereitstellungspaket für Lambda-Funktionen](secrets-console.md#secrets-console-create-deployment-package).

# Erstellen einer geheimen Ressource (Konsole)
<a name="secrets-console"></a>

Diese Funktion ist für AWS IoT Greengrass Core v1.7 und höher verfügbar.

Dieses Tutorial zeigt, wie Sie eine *geheime Ressource AWS-Managementkonsole * zu einer Greengrass-Gruppe hinzufügen können. Eine geheime Ressource ist ein Verweis auf ein Geheimnis von AWS Secrets Manager. Weitere Informationen finden Sie unter [Setzen Sie Geheimnisse bis ins AWS IoT Greengrass Mark ein](secrets.md).

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 dass Passwörter, Token oder andere Anmeldeinformationen fest codiert werden müssen.

In diesem Tutorial erstellen Sie zunächst ein Geheimnis in der Konsole. AWS Secrets Manager Anschließend fügen Sie in der AWS IoT Greengrass Konsole über die **Ressourcenseite** der Gruppe eine geheime Ressource zu einer Greengrass-Gruppe hinzu. Diese geheime Ressource verweist auf das Secrets Manager Manager-Geheimnis. Später fügen Sie die geheime Ressource einer Lambda-Funktion hinzu, sodass die Funktion den Wert des lokalen Geheimnisses abrufen kann.

**Anmerkung**  
Alternativ können Sie mit der Konsole eine geheime und 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.  
Nur Konnektoren, die Parameter für Secrets enthalten, können auf Secrets zugreifen. Ein Tutorial, das zeigt, wie der Twilio Notifications Connector ein lokal gespeichertes Authentifizierungstoken verwendet, finden Sie unter. [Erste Schritte mit Greengrass-Konnektoren (Konsole)](connectors-console.md)

Das Tutorial enthält die folgenden allgemeinen Schritte:

1. [Ein Secrets Manager Manager-Geheimnis erstellen](#secrets-console-create-secret)

1. [Hinzufügen einer geheimen Ressource zu einer Gruppe](#secrets-console-create-resource)

1. [Erstellen Sie ein Bereitstellungspaket für Lambda-Funktionen](#secrets-console-create-deployment-package)

1. [Erstellen einer Lambda-Funktion](#secrets-console-create-function)

1. [Hinzufügen der -Funktion zur Gruppe](#secrets-console-create-gg-function)

1. [Anfügen der geheimen Ressource an die Funktion](#secrets-console-affiliate-gg-function)

1. [Hinzufügen von Abonnements zur Gruppe](#secrets-console-create-subscription)

1. [Bereitstellen der Gruppe](#secrets-console-create-deployment)

1. [Lambda-Funktion testen](#secrets-console-test-solution)

Für dieses Tutorial benötigen Sie ungefähr 20 Minuten.

## Voraussetzungen
<a name="secrets-console-prerequisites"></a>

Zum Durchführen dieses Tutorials benötigen Sie Folgendes:
+ Eine Greengrass-Gruppe und ein Greengrass-Kern (v1.7 oder höher). Weitere Informationen zum Erstellen einer Greengrass-Gruppe und Greengrass Core finden Sie unter [Erste Schritte mit AWS IoT Greengrass](gg-gs.md). Das Tutorial Erste Schritte enthält auch Schritte zur Installation der AWS IoT Greengrass Core-Software.
+ AWS IoT Greengrass muss so konfiguriert sein, dass es lokale Geheimnisse unterstützt. Weitere Informationen finden Sie unter [Anforderungen für Secrets](secrets.md#secrets-reqs).
**Anmerkung**  
Diese Anforderung beinhaltet die Gewährung des Zugriffs auf Ihre Secrets Manager Manager-Geheimnisse. Wenn Sie die standardmäßige Greengrass-Servicerolle verwenden, ist Greengrass berechtigt, die Werte von Geheimnissen abzurufen, deren Namen mit *greengrass* - beginnen.
+ 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.

## Schritt 1: Erstellen Sie ein Secrets Manager Manager-Geheimnis
<a name="secrets-console-create-secret"></a>

In diesem Schritt verwenden Sie die AWS Secrets Manager Konsole, um ein Geheimnis zu erstellen.

1. <a name="create-secret-step-signin"></a>Melden Sie sich bei der [AWS Secrets Manager -Konsole](https://console.aws.amazon.com/secretsmanager/) an.
**Anmerkung**  
Weitere Informationen zu diesem Vorgang finden Sie [im AWS Secrets Manager*AWS Secrets Manager Benutzerhandbuch* unter Schritt 1: Erstellen und Speichern Ihres Geheimnisses](https://docs.aws.amazon.com/secretsmanager/latest/userguide/tutorials_basic.html).

1. <a name="create-secret-step-create"></a>Wählen Sie **Store a new secret** (Ein neues Secret speichern).

1. <a name="create-secret-step-othertype"></a>**Wählen Sie unter Geheimtyp** auswählen die Option **Anderer Geheimtyp aus**.

1. Unter **Specify the key/value pairs to be stored for this secret (Angabe der Schlüssel/Wert-Paare, die für dieses Secret gespeichert werden sollen)**:
   + Geben Sie für **Key (Schlüssel)** **test** ein.
   + Geben Sie für **Wert** **abcdefghi** ein.

1. <a name="create-secret-step-encryption"></a>**Lassen Sie **aws/secretsmanager** für den Verschlüsselungsschlüssel ausgewählt und wählen Sie dann Weiter.**
**Anmerkung**  
Es fallen keine Gebühren an, AWS KMS wenn Sie den AWS verwalteten Standardschlüssel verwenden, den Secrets Manager in Ihrem Konto erstellt.

1. Geben Sie für **Secret name (Secret-Name)** **greengrass-TestSecret** ein und klicken Sie auf **Next (Weiter)**.
**Anmerkung**  
Standardmäßig ermöglicht AWS IoT Greengrass die Greengrass-Dienstrolle das Abrufen des Werts von Geheimnissen mit Namen, die mit *greengrass* - beginnen. Weitere Informationen finden Sie unter [Anforderungen für Secrets](secrets.md#secrets-reqs).

1. <a name="create-secret-step-rotation"></a>**Für dieses Tutorial ist keine Rotation erforderlich. Wählen Sie „Automatische Rotation deaktivieren“ und anschließend „Weiter“.**

1. <a name="create-secret-step-review"></a>Prüfen Sie auf der Seite **Review (Prüfen)** Ihre Einstellungen und wählen Sie **Store (Speichern)**.

   Als nächstes erstellen Sie in Ihrer Greengrass-Gruppe eine geheime Ressource, die auf das Secret verweist.

## Schritt 2: Hinzufügen einer geheimen Ressource zu einer Greengrass-Gruppe
<a name="secrets-console-create-resource"></a>

In diesem Schritt konfigurieren Sie eine Gruppenressource, die auf das Secrets Manager Manager-Geheimnis verweist.

1. <a name="console-gg-groups"></a>Erweitern Sie im Navigationsbereich der AWS IoT Konsole unter **Verwalten** die Option **Greengrass-Geräte** und wählen Sie dann **Gruppen (V1)** aus.

1. <a name="create-secret-resource-step-choosegroup"></a>Wählen Sie die Gruppe, zu der Sie die geheime Ressource hinzufügen möchten.

1. <a name="create-secret-resource-step-secretstab"></a>Wählen Sie auf der Gruppenkonfigurationsseite die Registerkarte **Ressourcen** und scrollen Sie dann nach unten zum Abschnitt **Secrets**. Im Bereich **Secrets** werden die geheimen Ressourcen angezeigt, die zu der Gruppe gehören. In diesem Bereich können Sie geheime Ressourcen hinzufügen, bearbeiten und entfernen.
**Anmerkung**  
Alternativ können Sie mit der Konsole eine geheime und 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.

1. <a name="create-secret-resource-step-addsecretresource"></a>Wählen Sie im Bereich **Secrets** die Option **Hinzufügen** aus.

1. Geben Sie auf der Seite **Geheime Ressource hinzufügen** **MyTestSecret** den **Namen der Ressource** ein.

1. Wählen Sie unter **Geheim** die Option **greengrass- TestSecret** aus.

1. <a name="create-secret-resource-step-selectlabels"></a>Im Abschnitt **Select labels (optional)** steht das AWSCURRENT Staging-Label für die neueste Version des Secrets. Dieses Label ist immer in einer geheimen Ressource enthalten.
**Anmerkung**  
Für dieses Tutorial ist nur das AWSCURRENT Label erforderlich. Sie können optional Beschriftungen hinzufügen, die für Ihre Lambda-Funktion oder Ihren Lambda-Konnektor erforderlich sind.

1. Wählen Sie **Add resource (Ressource hinzufügen)** aus.

## Schritt 3: Erstellen Sie ein Lambda-Funktionsbereitstellungspaket
<a name="secrets-console-create-deployment-package"></a>

Um eine Lambda-Funktion zu erstellen, müssen Sie zunächst ein *Lambda-Funktionsbereitstellungspaket* erstellen, das den Funktionscode und die Abhängigkeiten enthält. Greengrass Lambda-Funktionen benötigen das [AWS IoT Greengrass Core SDK](lambda-functions.md#lambda-sdks-core) für Aufgaben wie die Kommunikation mit MQTT-Nachrichten in der Kernumgebung und den Zugriff auf lokale Geheimnisse. In diesem Tutorial wird eine Python-Funktion erstellt, sodass Sie die Python-Version des SDK im Bereitstellungspaket verwenden.

**Anmerkung**  
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.

1. <a name="download-ggc-sdk"></a> Laden Sie von der [AWS IoT Greengrass Core SDK-Downloadseite](what-is-gg.md#gg-core-sdk-download) das AWS IoT Greengrass Core SDK für Python auf Ihren Computer herunter.

1. <a name="unzip-ggc-sdk"></a>Entpacken Sie das heruntergeladene Paket, um das SDK zu erhalten. Das SDK ist der `greengrasssdk`-Ordner.

1. Speichern Sie die folgende Pythoncode-Funktion in einer lokalen Datei namens `secret_test.py`.

   ```
   import greengrasssdk
   
   secrets_client = greengrasssdk.client("secretsmanager")
   iot_client = greengrasssdk.client("iot-data")
   secret_name = "greengrass-TestSecret"
   send_topic = "secrets/output"
   
   
   def function_handler(event, context):
       """
       Gets a secret and publishes a message to indicate whether the secret was
       successfully retrieved.
       """
       response = secrets_client.get_secret_value(SecretId=secret_name)
       secret_value = response.get("SecretString")
       message = (
           f"Failed to retrieve secret {secret_name}."
           if secret_value is None
           else f"Successfully retrieved secret {secret_name}."
       )
       iot_client.publish(topic=send_topic, payload=message)
       print("Published: " + message)
   ```

   Die `get_secret_value` Funktion unterstützt den Namen oder ARN des Secrets Manager Manager-Geheimnisses für den `SecretId` Wert. Dieses Beispiel verwendet den Namen des Secrets. In diesem Beispiel gibt secret das Schlüssel-Wert-Paar AWS IoT Greengrass zurück:. `{"test":"abcdefghi"}`
**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](https://docs.aws.amazon.com/secretsmanager/latest/userguide/best-practices.html#best-practice_lamda-debug-statements).AWS Secrets Manager * Obwohl sich diese Dokumentation speziell auf Rotationsfunktionen bezieht, gilt die Empfehlung auch für Greengrass Lambda-Funktionen.

1. Packen Sie die folgenden Elemente in einer ZIP-Datei mit dem Namen `secret_test_python.zip`. Schließen Sie beim Erstellen einer ZIP-Datei nur den Code und die Abhängigkeiten ein, nicht den dazugehörigen Ordner.
   + **secret\$1test.py**. App-Logik.
   + **greengrasssdk**. Erforderliche Bibliothek für alle Python Greengrass Lambda-Funktionen.

   Dies ist Ihr Lambda-Funktionsbereitstellungspaket.

## Schritt 4: Erstellen einer Lambda-Funktion
<a name="secrets-console-create-function"></a>

In diesem Schritt verwenden Sie die AWS Lambda Konsole, um eine Lambda-Funktion zu erstellen und sie für die Verwendung Ihres Bereitstellungspakets zu konfigurieren. Anschließend veröffentlichen Sie eine Funktionsversion und erstellen einen Alias.

1. Erstellen Sie zunächst die Lambda-Funktion.

   1. <a name="lambda-console-open"></a>Wählen Sie in der AWS-Managementkonsole**Dienste** aus und öffnen Sie die AWS Lambda Konsole.

   1. <a name="lambda-console-create-function"></a>Wählen Sie „**Funktion erstellen**“ und anschließend „**Von Grund auf neu erstellen**“.

   1. Verwenden Sie im Abschnitt **Basic information (Basisinformationen)** folgende Werte:
      + Geben Sie für **Function name** (Funktionsname) **SecretTest** ein.
      + Wählen Sie für **Runtime (Laufzeit)** die Option **Python 3.7** aus.
      + Behalten Sie für **Berechtigungen** die Standardeinstellung bei. Dadurch wird eine Ausführungsrolle erstellt, die grundlegende Lambda-Berechtigungen gewährt. Diese Rolle wird nicht verwendet von AWS IoT Greengrass.

   1. <a name="lambda-console-save-function"></a>Klicken Sie unten auf der Seite auf **Create function**.

1. Registrieren Sie als Nächstes den Handler und laden Sie Ihr Lambda-Funktionsbereitstellungspaket hoch.

   1. <a name="lambda-console-upload"></a>Wählen Sie auf der Registerkarte **Code** unter **Codequelle** die Option **Hochladen von aus**. Wählen Sie in der Dropdownliste die **ZIP-Datei** aus.  
![\[Das Drop-down-Menü „Von hochladen“, wobei die ZIP-Datei hervorgehoben ist.\]](http://docs.aws.amazon.com/de_de/greengrass/v1/developerguide/images/lra-console/upload-deployment-package.png)

   1. Wählen Sie **Upload** und anschließend Ihr `secret_test_python.zip` Bereitstellungspaket aus. Wählen Sie dann **Save (Speichern)** aus.

   1. <a name="lambda-console-runtime-settings-para"></a>Wählen Sie auf der Registerkarte **Code** für die Funktion unter **Laufzeiteinstellungen** die Option **Bearbeiten** aus, und geben Sie dann die folgenden Werte ein.
      + Wählen Sie für **Runtime (Laufzeit)** die Option **Python 3.7** aus.
      + Geben Sie unter **Handler** **secret\$1test.function\$1handler** ein.

   1. <a name="lambda-console-save-config"></a>Wählen Sie **Speichern**.
**Anmerkung**  
Die **Testtaste** auf der AWS Lambda Konsole funktioniert mit dieser Funktion nicht. Das AWS IoT Greengrass Core SDK enthält keine Module, die erforderlich sind, um Ihre Greengrass Lambda-Funktionen unabhängig in der AWS Lambda Konsole auszuführen. Diese Module (zum Beispiel`greengrass_common`) werden den Funktionen zur Verfügung gestellt, nachdem sie auf Ihrem Greengrass-Kern bereitgestellt wurden.

1. Veröffentlichen Sie jetzt die erste Version Ihrer Lambda-Funktion und erstellen Sie einen [Alias für die Version](https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html).
**Anmerkung**  
Greengrass-Gruppen können eine Lambda-Funktion nach Alias (empfohlen) oder nach Version referenzieren. Die Verwendung eines Alias erleichtert die Verwaltung von Codeaktualisierungen, da Sie Ihre Abonnementtabelle oder Gruppendefinition nicht ändern müssen, wenn der Funktionscode aktualisiert wird. Stattdessen verweisen Sie einfach mit dem Alias auf die neue Funktionsversion.

   1. <a name="shared-publish-function-version"></a>Wählen Sie im Menü **Actions** die Option **Publish new version** aus.

   1. <a name="shared-publish-function-version-description"></a>Geben Sie unter **Version description (Versionsbeschreibung)** den Wert **First version** ein und wählen Sie dann **Publish (Veröffentlichen)** aus.

   1. Wählen Sie auf der Konfigurationsseite **SecretTest: 1** im Menü **Aktionen** die Option **Alias erstellen** aus.

   1. Geben Sie auf der Seite **Create a new alias** folgende Werte an:
      + Geben Sie unter **Name** **GG\$1SecretTest** ein.
      + Wählen Sie für **Version** die Option **1**.
**Anmerkung**  
AWS IoT Greengrass unterstützt keine Lambda-Aliase für **\$1LATEST-Versionen**.

   1. Wählen Sie **Erstellen** aus.

Jetzt sind Sie bereit, die Lambda-Funktion zu Ihrer Greengrass-Gruppe hinzuzufügen und die geheime Ressource anzuhängen.

## Schritt 5: Fügen Sie die Lambda-Funktion zur Greengrass-Gruppe hinzu
<a name="secrets-console-create-gg-function"></a>

In diesem Schritt fügen Sie die Lambda-Funktion zur Greengrass-Gruppe in der AWS IoT Konsole hinzu.

1. <a name="choose-add-lambda"></a>Wählen Sie auf der Gruppenkonfigurationsseite die Registerkarte **Lambda-Funktionen** aus.

1. Wählen Sie im Abschnitt **Meine Lambda-Funktionen** die Option **Hinzufügen** aus.

1. Wählen **SecretTest**Sie für die **Lambda-Funktion**.

1. Wählen Sie für die **Lambda-Funktionsversion** den Alias der Version, die Sie veröffentlicht haben.

Als Nächstes konfigurieren Sie den Lebenszyklus der Lambda-Funktion.

1. Nehmen Sie im Abschnitt **Lambda-Funktionskonfiguration** die folgenden Aktualisierungen vor.
**Anmerkung**  
 Wir empfehlen, dass Sie Ihre Lambda-Funktion ohne Containerisierung ausführen, sofern Ihr Geschäftsszenario dies nicht erfordert. Auf diese Weise können Sie auf die GPU und Kamera Ihres Geräts zugreifen, ohne die Geräteressourcen konfigurieren zu müssen. Wenn Sie ohne Containerisierung arbeiten, müssen Sie auch Root-Zugriff auf Ihre AWS IoT Greengrass Lambda-Funktionen gewähren. 

   1. **Um ohne Containerisierung zu laufen:**
      + Wählen Sie für **Systembenutzer und Gruppe** die Option. **Another user ID/group ID** Geben Sie als **Systembenutzer-ID** ein**0**. Geben Sie als **Systemgruppen-ID** ein**0**.

        Dadurch kann Ihre Lambda-Funktion als Root ausgeführt werden. Weitere Hinweise zur Ausführung als Root finden Sie unter[Einstellung der Standardzugriffsidentität für Lambda-Funktionen in einer Gruppe](lambda-group-config.md#lambda-access-identity-groupsettings).
**Tipp**  
Sie müssen Ihre `config.json` Datei auch aktualisieren, um Root-Zugriff auf Ihre Lambda-Funktion zu gewähren. Informationen zum Verfahren finden Sie unter[Eine Lambda-Funktion als Root ausführen](lambda-group-config.md#lambda-running-as-root).
      + **Wählen Sie für die **Containerisierung von Lambda-Funktionen** die Option Kein Container aus.**

        Weitere Hinweise zur Ausführung ohne Containerisierung finden Sie unter. [Überlegungen bei der Wahl der Containerisierung von Lambda-Funktionen](lambda-group-config.md#lambda-containerization-considerations)
      + Geben Sie in **Timeout (Zeitüberschreitung)** **10 seconds** ein.
      + **Wählen Sie für **Pinned** die Option True aus.**

        Weitere Informationen finden Sie unter [Lebenszykluskonfiguration für Greengrass Lambda-Funktionen](lambda-functions.md#lambda-lifecycle).
      + **Wählen Sie unter **Zusätzliche Parameter** für **Lesezugriff auf das Verzeichnis /sys die Option Aktiviert** aus.**

   1.  **Um stattdessen im containerisierten Modus zu starten:** 
**Anmerkung**  
Wir empfehlen nicht, im containerisierten Modus zu arbeiten, es sei denn, Ihr Geschäftsszenario erfordert dies.
      + Wählen Sie für **Systembenutzer und Gruppe** die Option **Gruppenstandard verwenden** aus.
      + Wählen Sie für die **Containerisierung von Lambda-Funktionen** die Option Gruppenstandard **verwenden** aus.
      + Geben Sie in **Memory Limit (Speicherlimit)** **1024 MB** ein.
      + Geben Sie in **Timeout (Zeitüberschreitung)** **10 seconds** ein.
      + **Wählen Sie für **Pinned** die Option True aus.**

        Weitere Informationen finden Sie unter [Lebenszykluskonfiguration für Greengrass Lambda-Funktionen](lambda-functions.md#lambda-lifecycle).
      + **Wählen Sie unter **Zusätzliche Parameter** für **Lesezugriff auf das Verzeichnis /sys die Option Aktiviert** aus.**

1.  Wählen Sie **Lambda-Funktion hinzufügen**.

Ordnen Sie als Nächstes die geheime Ressource der Funktion zu.

## Schritt 6: Hängen Sie die geheime Ressource an die Lambda-Funktion an
<a name="secrets-console-affiliate-gg-function"></a>

In diesem Schritt ordnen Sie die geheime Ressource der Lambda-Funktion in Ihrer Greengrass-Gruppe zu. Dadurch wird die Ressource der Funktion zugeordnet, sodass die Funktion den Wert des lokalen Geheimnisses abrufen kann.

1. Wählen Sie auf der Gruppenkonfigurationsseite die Registerkarte **Lambda-Funktionen** aus.

1. Wählen Sie die **SecretTest**Funktion aus.

1. Wählen Sie auf der Detailseite der Funktion **Ressourcen** aus.

1. Scrollen Sie zum Bereich **Secrets** und wählen Sie **Associate** aus.

1. Wählen Sie **MyTestSecret**und wählen Sie dann **Assoziieren** aus.

## Schritt 7: Hinzufügen von Abonnements zur Greengrass-Gruppe
<a name="secrets-console-create-subscription"></a>

In diesem Schritt fügen Sie Abonnements hinzu, die den Austausch von Nachrichten ermöglichen, AWS IoT und die Lambda-Funktion. Ein Abonnement ermöglicht es AWS IoT , die Funktion aufzurufen, und eines ermöglicht es der Funktion, Ausgabedaten an zu senden. AWS IoT

1. <a name="shared-subscriptions-addsubscription"></a>Wählen Sie auf der Gruppenkonfigurationsseite die Registerkarte **Abonnements** und dann **Abonnement hinzufügen** aus.

1. Erstellen Sie ein Abonnement, mit AWS IoT dem Sie Nachrichten für die Funktion veröffentlichen können.

   Wählen Sie auf der Gruppenkonfigurationsseite die Registerkarte **Abonnements** und dann **Abonnement hinzufügen** aus.

1. Konfigurieren Sie auf der Seite **Abonnement erstellen** die Quelle und das Ziel wie folgt:

   1. Wählen Sie **unter Quelltyp** die Option **Lambda-Funktion** und dann **IoT Cloud** aus.

   1. Wählen Sie **unter Zieltyp** die Option **Service** und dann aus **SecretTest**.

   1. Geben Sie im **Themenfilter** Folgendes ein **secrets/input** und wählen Sie dann **Abonnement erstellen** aus. 

1. Hinzufügen eines zweiten Abonnements. Wählen Sie die Registerkarte **Abonnements** aus, wählen **Sie Abonnement hinzufügen** und konfigurieren Sie Quelle und Ziel wie folgt: 

   1. Wählen Sie **unter Quelltyp** die Option **Dienste** und dann aus **SecretTest**.

   1. Wählen Sie **unter Zieltyp** die Option **Lambda-Funktion** und dann **IoT Cloud** aus.

   1. Geben Sie im **Themenfilter** Folgendes ein **secrets/output** und wählen Sie dann **Abonnement erstellen** aus.

## Schritt 8: Bereitstellen der Greengrass-Gruppe
<a name="secrets-console-create-deployment"></a>

Stellen Sie die Gruppe auf dem Core-Gerät bereit. Ruft während der AWS IoT Greengrass Bereitstellung den Wert des Secrets aus Secrets Manager ab und erstellt eine lokale, verschlüsselte Kopie auf dem Core.

1. <a name="shared-deploy-group-checkggc"></a>Stellen Sie sicher, dass der AWS IoT Greengrass Core läuft. Führen Sie im Raspberry Pi-Terminal die folgenden Befehle aus, falls nötig.

   1. So prüfen Sie, ob der Daemon ausgeführt wird:

      ```
      ps aux | grep -E 'greengrass.*daemon'
      ```

      Wenn die Ausgabe einen `root`-Eintrag für `/greengrass/ggc/packages/ggc-version/bin/daemon` enthält, dann wird der Daemon ausgeführt.
**Anmerkung**  
Die Version im Pfad hängt von der AWS IoT Greengrass Core-Softwareversion ab, die auf Ihrem Core-Gerät installiert ist.

   1. Um den Daemon zu starten:

      ```
      cd /greengrass/ggc/core/
      sudo ./greengrassd start
      ```

1. <a name="shared-deploy-group-deploy"></a>Wählen Sie auf der Seite mit der Gruppenkonfiguration die Option **Deploy** aus.

1. <a name="shared-deploy-group-ipconfig"></a>

   1. **Wählen Sie auf der Registerkarte **Lambda-Funktionen** im Abschnitt **System-Lambda-Funktionen** die Option **IP-Detektor** und dann Bearbeiten aus.**

   1. Wählen **Sie im Dialogfeld IP-Detektoreinstellungen bearbeiten** die Option **MQTT-Broker-Endpunkte automatisch erkennen und überschreiben** aus.

   1. Wählen Sie **Speichern**.

      Damit können Geräte automatisch Core-Verbindungsinformationen abrufen, z. B. die IP-Adresse, DNS und die Portnummer. Eine automatische Erkennung wird empfohlen, unterstützt aber AWS IoT Greengrass auch manuell angegebene Endpunkte. Sie werden nur bei der ersten Bereitstellung der Gruppe zur Angabe der Ermittlungsmethode aufgefordert.
**Anmerkung**  
Wenn Sie dazu aufgefordert werden, erteilen Sie die Erlaubnis, die [Greengrass-Servicerolle zu erstellen und sie Ihrer AWS-Konto aktuellen AWS-Region Rolle](service-role.md) zuzuordnen. Diese Rolle ermöglicht AWS IoT Greengrass den Zugriff auf Ihre Ressourcen in AWS Diensten.

      Auf der Seite **Deployments** werden der Zeitstempel, die Versions-ID und der Status der Bereitstellung angegeben. Nach Abschluss sollte der für die Bereitstellung angezeigte Status **Abgeschlossen** lauten.

      Hilfe zur Problembehebung finden Sie unter [Problembehebung AWS IoT Greengrass](gg-troubleshooting.md).

## Lambda-Funktion testen
<a name="secrets-console-test-solution"></a>

1. <a name="choose-test-page"></a>Wählen Sie auf der Startseite der AWS IoT Konsole die Option **Test** aus.

1. Verwenden **Sie für Thema abonnieren** die folgenden Werte und wählen Sie dann **Abonnieren** aus.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/greengrass/v1/developerguide/secrets-console.html)

1. Verwenden Sie für Im **Thema veröffentlichen** die folgenden Werte und wählen Sie dann **Veröffentlichen**, um die Funktion aufzurufen.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/greengrass/v1/developerguide/secrets-console.html)

   Im Erfolgsfall veröffentlicht die Funktion eine "Success"-Meldung.

## Weitere Informationen finden Sie auch unter
<a name="secrets-console-see-also"></a>
+ [Setzen Sie Geheimnisse bis ins AWS IoT Greengrass Mark ein](secrets.md)