

Avis de fin de support : le 7 octobre 2026, AWS le support de. AWS IoT Greengrass Version 1 Après le 7 octobre 2026, vous ne pourrez plus accéder aux AWS IoT Greengrass V1 ressources. Pour plus d'informations, rendez-vous sur [Migrer depuis AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html).

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Déployez les secrets jusqu'au AWS IoT Greengrass cœur
<a name="secrets"></a>

Cette fonctionnalité est disponible pour AWS IoT Greengrass Core v1.7 et versions ultérieures.

AWS IoT Greengrass vous permet de vous authentifier auprès de services et d'applications à partir d'appareils Greengrass sans avoir à coder en dur des mots de passe, des jetons ou d'autres secrets.

AWS Secrets Manager est un service que vous pouvez utiliser pour stocker et gérer vos secrets en toute sécurité dans le cloud. AWS IoT Greengrass étend Secrets Manager aux appareils principaux de Greengrass, afin que vos [connecteurs](connectors.md) et fonctions Lambda puissent utiliser des secrets locaux pour interagir avec les services et les applications. Par exemple, le connecteur Twilio Notifications utilise un jeton d'authentification stocké localement.

Pour intégrer un secret dans un groupe Greengrass, vous devez créer une ressource de groupe qui référence le secret de Secrets Manager. Cette *ressource de secret* référence le secret du cloud par ARN. Pour découvrir comment créer, gérer et utiliser les ressources de secret, consultez [Utilisation des ressources de secret](secrets-using.md).

AWS IoT Greengrass chiffre vos secrets pendant le transport et au repos. Lors du déploiement en groupe, AWS IoT Greengrass récupère le secret auprès de Secrets Manager et crée une copie cryptée locale sur le noyau de Greengrass. Après avoir fait pivoter vos secrets de cloud dans Secrets Manager, redéployez le groupe pour propager les valeurs mises à jour au cœur.

Le schéma suivant montre le processus de haut niveau consistant à déployer un secret sur le noyau. Les secrets sont chiffrés au repos et en transit.

![\[AWS IoT Greengrass récupère un secret AWS Secrets Manager et le déploie en tant que ressource secrète sur le périphérique principal, où il est disponible pour les connecteurs et les fonctions Lambda.\]](http://docs.aws.amazon.com/fr_fr/greengrass/v1/developerguide/images/deploy-local-secret.png)


L'utilisation AWS IoT Greengrass pour stocker vos secrets localement offre les avantages suivants :
+ **Dissocié du code (pas codé en dur).** Cela prend en charge les informations d'identification gérées de manière centralisée et permet de protéger les données sensibles du risque de divulgation.
+ **Disponible pour les scénarios hors ligne.** Les connecteurs et les fonctions peuvent accéder en toute sécurité aux logiciels et services locaux lorsqu'ils sont déconnectés d'Internet.
+ **Accès contrôlé aux secrets.** Seuls les connecteurs et fonctions autorisés dans le groupe peuvent accéder à vos secrets. AWS IoT Greengrass utilise le chiffrement de clé privée pour sécuriser vos secrets. Les secrets sont chiffrés au repos et en transit. Pour de plus amples informations, veuillez consulter [Chiffrement des secrets](#secrets-encryption).
+ **Rotation contrôlée.** Après avoir alterné vos secrets dans Secrets Manager, redéployez le groupe Greengrass pour mettre à jour les copies locales de vos secrets. Pour de plus amples informations, veuillez consulter [Création et gestion des secrets](secrets-using.md#secrets-create-manage).
**Important**  
AWS IoT Greengrass ne met pas automatiquement à jour les valeurs des secrets locaux après la rotation des versions cloud. Pour mettre à jour les valeurs locales, vous devez redéployer le groupe.

## Chiffrement des secrets
<a name="secrets-encryption"></a>

AWS IoT Greengrass chiffre les secrets en transit et au repos.

**Important**  
Assurez-vous que vos fonctions Lambda définies par l'utilisateur gèrent les secrets de manière sécurisée et n'enregistrent aucune donnée sensible stockée dans le secret. Pour plus d'informations, consultez la section [Atténuer les risques liés à la journalisation et au débogage de votre fonction Lambda](https://docs.aws.amazon.com/secretsmanager/latest/userguide/best-practices.html#best-practice_lamda-debug-statements) dans *AWS Secrets Manager le guide de l'*utilisateur. Bien que cette documentation fasse spécifiquement référence aux fonctions de rotation, la recommandation s'applique également aux fonctions Greengrass Lambda.

**Chiffrement en transit**  
AWS IoT Greengrass utilise le protocole TLS (Transport Layer Security) pour chiffrer toutes les communications sur Internet et le réseau local. Cela protège les secrets pendant leur transit, ce qui se produit lorsque les secrets sont extraits de Secrets Manager et déployés vers le cœur. Pour les suites de chiffrement TLS prises en charge, consultez [Prise en charge des suites de chiffrement TLS](gg-sec.md#gg-cipher-suites).

**Chiffrement au repos**  
AWS IoT Greengrass utilise la clé privée spécifiée dans [`config.json`](gg-core.md#config-json)pour le chiffrement des secrets stockés sur le noyau. Par conséquent, le stockage sécurisé de la clé privée est essentiel pour protéger les secrets locaux. Dans le [modèle de responsabilité AWS partagée](https://aws.amazon.com/compliance/shared-responsibility-model/), il est de la responsabilité du client de garantir le stockage sécurisé de la clé privée sur l'appareil principal.  
AWS IoT Greengrass prend en charge deux modes de stockage de clés privées :  
+ l'utilisation des modules de sécurité matérielle. Pour de plus amples informations, veuillez consulter [Intégration de sécurité matérielle](hardware-security.md).
**Note**  
Actuellement, ne AWS IoT Greengrass prend en charge que le mécanisme de [remplissage PKCS \$11 v1.5](https://tools.ietf.org/html/rfc2313) pour le chiffrement et le déchiffrement des secrets locaux lors de l'utilisation de clés privées matérielles. Si vous suivez les instructions fournies par le fournisseur pour générer manuellement des clés privées matérielles, assurez-vous de choisir PKCS \$11 v1.5. AWS IoT Greengrass ne prend pas en charge le rembourrage asymétrique optimal (OAEP).
+ l'utilisation des autorisations de système de fichiers (par défaut).
La clé privée est utilisée pour sécuriser la clé de données, qui est utilisée pour chiffrer les secrets locaux. La clé de données effectue une rotation avec chaque déploiement de groupe.  
Le AWS IoT Greengrass noyau est la seule entité ayant accès à la clé privée. Les connecteurs Greengrass ou les fonctions Lambda affiliés à une ressource secrète obtiennent la valeur du secret auprès du noyau.

## Prérequis
<a name="secrets-reqs"></a>

Vous trouverez ci-dessous les exigences minimales requises pour la prise en charge des secrets locaux :
+ Vous devez utiliser AWS IoT Greengrass Core v1.7 ou version ultérieure.
+ Pour obtenir les valeurs des secrets locaux, vos fonctions Lambda définies par l'utilisateur doivent AWS IoT Greengrass utiliser le SDK Core v1.3.0 ou version ultérieure.
+ La clé privée utilisée pour le chiffrement des secrets locaux doit être spécifiée dans le fichier de configuration Greengrass. Par défaut, AWS IoT Greengrass utilise la clé privée principale stockée dans le système de fichiers. Pour fournir votre propre clé privée, consultez [Spécifier la clé privée pour chiffrer un secret](#secrets-config-private-key). Seul le type de clé RSA est pris en charge.
**Note**  
Actuellement, ne AWS IoT Greengrass prend en charge que le mécanisme de [remplissage PKCS \$11 v1.5](https://tools.ietf.org/html/rfc2313) pour le chiffrement et le déchiffrement des secrets locaux lors de l'utilisation de clés privées matérielles. Si vous suivez les instructions fournies par le fournisseur pour générer manuellement des clés privées matérielles, assurez-vous de choisir PKCS \$11 v1.5. AWS IoT Greengrass ne prend pas en charge le rembourrage asymétrique optimal (OAEP).
+ AWS IoT Greengrass doit être autorisé à obtenir vos valeurs secrètes. Cela permet AWS IoT Greengrass de récupérer les valeurs lors du déploiement en groupe. Si vous utilisez le rôle de service Greengrass par défaut, vous avez AWS IoT Greengrass déjà accès aux secrets dont le nom commence par *greengrass* -. Pour personnaliser l'accès, consultez [AWS IoT Greengrass Autoriser l'obtention de valeurs secrètes](#secrets-config-service-role).
**Note**  
Nous vous recommandons d'utiliser cette convention de dénomination pour identifier les secrets auxquels l'accès AWS IoT Greengrass est autorisé, même si vous personnalisez les autorisations. La console utilise différentes autorisations pour lire vos secrets. Il est donc possible que vous puissiez sélectionner dans la console des secrets qui AWS IoT Greengrass ne sont pas autorisés à les récupérer. Utiliser une convention de dénomination peut vous aider à éviter un conflit d'autorisation, qui se traduit par une erreur de déploiement.

## Spécifier la clé privée pour chiffrer un secret
<a name="secrets-config-private-key"></a>

Dans cette procédure, vous devez fournir le chemin d'accès à une clé privée utilisée pour le chiffrement secret local. Il doit s’agir d’une clé RSA avec une longueur minimale de 2 048 bits. Pour plus d'informations sur les clés privées utilisées sur le AWS IoT Greengrass noyau, consultez[AWS IoT Greengrass principes de sécurité fondamentaux](gg-sec.md#gg-principals). 

AWS IoT Greengrass prend en charge deux modes de stockage de clés privées : basé sur le matériel ou basé sur le système de fichiers (par défaut). Pour de plus amples informations, veuillez consulter [Chiffrement des secrets](#secrets-encryption).

**Suivez cette procédure uniquement** si vous souhaitez modifier la configuration par défaut, qui utilise la clé privée principale dans le système de fichiers. Ces étapes sont rédigées en supposant que vous avez créé votre groupe et noyau, comme indiqué dans le [Module 2](module2.md) du didacticiel Démarrez.

1. Ouvrez le fichier [`config.json`](gg-core.md#config-json) situé dans le répertoire `/greengrass-root/config`.
**Note**  
*greengrass-root*représente le chemin d'installation du logiciel AWS IoT Greengrass Core sur votre appareil. Généralement, il s'agit du répertoire `/greengrass`.

1. Dans l'objet `crypto.principals.SecretsManager`, pour la propriété `privateKeyPath`, entrez le chemin d'accès de votre clé privée :
   + Si votre clé privée est stockée dans le système de fichiers, indiquez le chemin d'accès absolu de la clé. Par exemple :

     ```
     "SecretsManager" : {
       "privateKeyPath" : "file:///somepath/hash.private.key"
     }
     ```
   + Si votre clé privée est stockée dans un module de sécurité matériel (HSM), spécifiez le chemin d'accès à l'aide du schéma d'URI [RFC 7512 PKCS\$111](https://tools.ietf.org/html/rfc7512). Par exemple :

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

     Pour de plus amples informations, veuillez consulter [Configuration de sécurité matérielle pour un AWS IoT Greengrass cœur](hardware-security.md#configure-hardware-security).
**Note**  
Actuellement, ne AWS IoT Greengrass prend en charge que le mécanisme de [remplissage PKCS \$11 v1.5](https://tools.ietf.org/html/rfc2313) pour le chiffrement et le déchiffrement des secrets locaux lors de l'utilisation de clés privées matérielles. Si vous suivez les instructions fournies par le fournisseur pour générer manuellement des clés privées matérielles, assurez-vous de choisir PKCS \$11 v1.5. AWS IoT Greengrass ne prend pas en charge le rembourrage asymétrique optimal (OAEP).

## AWS IoT Greengrass Autoriser l'obtention de valeurs secrètes
<a name="secrets-config-service-role"></a>

Dans cette procédure, vous ajoutez une politique intégrée au rôle de service Greengrass qui AWS IoT Greengrass permet d'obtenir les valeurs de vos secrets.

**Suivez cette procédure uniquement** si vous souhaitez accorder des autorisations AWS IoT Greengrass personnalisées à vos secrets ou si votre rôle de service Greengrass n'inclut pas la politique `AWSGreengrassResourceAccessRolePolicy` gérée. `AWSGreengrassResourceAccessRolePolicy`donne accès à des secrets dont le nom commence par *greengrass-*.

1. Exécutez la commande de l'interface en ligne de commande pour obtenir l'ARN du rôle de service Greengrass :

   ```
   aws greengrass get-service-role-for-account --region region
   ```

   L'ARN renvoyé contient le nom du rôle.

   ```
   {
     "AssociatedAt": "time-stamp",
     "RoleArn": "arn:aws:iam::account-id:role/service-role/role-name"
   }
   ```

   Vous utilisez l'ARN ou le nom dans l'étape suivante.

1. Ajouter une stratégie en ligne qui autorise l'action `secretsmanager:GetSecretValue`. Pour obtenir des instructions, consultez la section [Ajout et suppression de politiques IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) dans le Guide de l'*utilisateur IAM*.

   Vous pouvez octroyer un accès précis en répertoriant explicitement des secrets ou en utilisant un schéma d'attribution de nom de caractère générique `*`, ou vous pouvez accorder un accès conditionnel aux secrets balisés ou versionnés. Par exemple, la politique suivante permet AWS IoT Greengrass de lire uniquement les secrets spécifiés.

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

------
**Note**  
Si vous utilisez une AWS KMS clé gérée par le client pour chiffrer des secrets, votre rôle de service Greengrass doit également autoriser l'action. `kms:Decrypt`

Pour plus d'informations sur les politiques IAM pour Secrets Manager, consultez les [sections Authentification et contrôle d'accès AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html) et [Actions, ressources et clés de contexte que vous pouvez utiliser dans une stratégie IAM ou une politique secrète AWS Secrets Manager dans le Guide](https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_iam-permissions.html) de l'*AWS Secrets Manager utilisateur*.

## Consultez aussi
<a name="secrets-seealso"></a>
+ [Qu'est-ce que c'est AWS Secrets Manager ?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) dans le *guide de AWS Secrets Manager l'utilisateur*
+ [PKCS \$11 : version de chiffrement RSA 1.5](https://tools.ietf.org/html/rfc2313)

# Utilisation des ressources de secret
<a name="secrets-using"></a>

AWS IoT Greengrass utilise des *ressources secrètes* pour intégrer les secrets d' AWS Secrets Manager un groupe Greengrass. Une ressource secrète est une référence à un secret du Gestionnaire de Secrets. Pour de plus amples informations, veuillez consulter [Déployez les secrets jusqu'au AWS IoT Greengrass cœur](secrets.md).

Sur le périphérique AWS IoT Greengrass principal, les connecteurs et les fonctions Lambda peuvent utiliser la ressource secrète pour s'authentifier auprès des services et des applications, sans avoir à coder en dur des mots de passe, des jetons ou d'autres informations d'identification.

## Création et gestion des secrets
<a name="secrets-create-manage"></a>

Dans un groupe Greengrass, une ressource secrète fait référence à l'ARN d'un secret Secrets Manager. Lorsque la ressource secrète est déployée vers le cœur, la valeur du secret est cryptée et mise à la disposition des connecteurs affiliés et des fonctions Lambda. Pour de plus amples informations, veuillez consulter [Chiffrement des secrets](secrets.md#secrets-encryption).

Vous utilisez Secrets Manager pour créer et gérer les versions cloud de vos secrets. Vous AWS IoT Greengrass les utilisez pour créer, gérer et déployer vos ressources secrètes.

**Important**  
Nous vous recommandons de suivre la meilleure pratique qui consiste à alterner vos secrets dans Secrets Manager. Ensuite, déployez le groupe Greengrass pour mettre à jour les copies locales de vos secrets. Pour plus d'informations, consultez la section [Rotation de vos AWS Secrets Manager secrets](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html) dans le *guide de AWS Secrets Manager l'utilisateur*.

**Pour rendre un secret disponible sur le noyau Greengrass**

1. Créez un secret dans Secrets Manager. Il s'agit de la version cloud de votre secret, qui est stockée et gérée de manière centralisée dans Secrets Manager. Les tâches de gestion comprennent la rotation des valeurs secrètes et l'application des stratégies de ressources.

1. Créez une ressource secrète dans AWS IoT Greengrass. Il s'agit d'un type de ressource de groupe qui référence le secret du cloud par ARN. Vous ne pouvez référencer un secret qu'une seule fois par groupe.

1. Configurez votre connecteur ou votre fonction Lambda. Vous devez associer la ressource à un connecteur ou à une fonction en spécifiant des paramètres ou propriétés correspondants. Cela leur permet d'obtenir la valeur de la ressource de secret localement déployée. Pour de plus amples informations, veuillez consulter [Utilisation de secrets locaux dans les connecteurs et les fonctions Lambda](#secrets-access).

1. Déploiement du groupe Greengrass. Pendant le déploiement, AWS IoT Greengrass récupère la valeur du secret du cloud et crée (ou met à jour) le secret local dans le noyau.

Secrets Manager enregistre un événement AWS CloudTrail chaque fois qu'il AWS IoT Greengrass récupère une valeur secrète. AWS IoT Greengrass n'enregistre aucun événement lié au déploiement ou à l'utilisation de secrets locaux. Pour plus d'informations sur la journalisation de Secrets Manager, consultez [la section Surveiller l'utilisation de vos AWS Secrets Manager secrets](https://docs.aws.amazon.com/secretsmanager/latest/userguide/monitoring.html) dans le *Guide de AWS Secrets Manager l'utilisateur*.

### Inclure des étiquettes intermédiaires dans les ressources de secret
<a name="secret-resources-labels"></a>

Secrets Manager utilise des étiquettes intermédiaires pour identifier des versions spécifiques d'une valeur secrète. Les étiquettes de mise en scène peuvent être définies par le système ou définies par l'utilisateur. Secrets Manager attribue l'`AWSCURRENT`étiquette à la version la plus récente de la valeur secrète. Les étiquettes intermédiaires sont couramment utilisées pour gérer la rotation des secrets. Pour plus d'informations sur le versionnement de Secrets Manager, reportez-vous à la section [Termes et concepts clés](https://docs.aws.amazon.com/secretsmanager/latest/userguide/terms-concepts.html) du *Guide de l'AWS Secrets Manager utilisateur*. AWS Secrets Manager

Les ressources secrètes incluent toujours l'étiquette `AWSCURRENT` de préparation, et elles peuvent éventuellement inclure d'autres étiquettes de préparation si elles sont requises par une fonction ou un connecteur Lambda. Lors du déploiement en groupe, AWS IoT Greengrass récupère les valeurs des étiquettes de mise en scène référencées dans le groupe, puis crée ou met à jour les valeurs correspondantes sur le noyau.

### Créer et gérer les ressources de secret (console)
<a name="create-manage-secret-resource-console"></a>

#### Création des ressources de secret (console)
<a name="create-manage-secret-resource-console-create"></a>

Dans la AWS IoT Greengrass console, vous pouvez créer et gérer des ressources secrètes à partir de l'onglet **Secrets** de la page **Ressources** du groupe. Pour les didacticiels concernant la création d'une ressource de secret et son ajout à un groupe, consultez [Comment créer une ressource de secret (console)](secrets-console.md) et [Mise en route avec les connecteurs Greengrass (console)](connectors-console.md).

![\[Une ressource de secret dans l'onglet Secret de la page Ressources.\]](http://docs.aws.amazon.com/fr_fr/greengrass/v1/developerguide/images/connectors/secret-resource-twilio-auth-token.png)


**Note**  
La console vous permet également de créer une ressource secrète et secrète lorsque vous configurez un connecteur ou une fonction Lambda. Vous pouvez le faire depuis la page **Configurer les paramètres** du connecteur ou depuis la page **Ressources** de la fonction Lambda.

#### Gestion des ressources de secret (console)
<a name="create-manage-secret-resource-console-manage"></a>

Les tâches de gestion des ressources secrètes de votre groupe Greengrass incluent l'ajout de ressources secrètes au groupe, la suppression de ressources secrètes du groupe et la modification de l'ensemble [des étiquettes intermédiaires](#secret-resources-labels) incluses dans une ressource secrète.

Si vous pointez vers un secret différent de celui de Secrets Manager, vous devez également modifier tous les connecteurs qui utilisent le secret :

1. Sur la page de configuration de groupe, choisissez **Connecteurs**.

1. Dans le menu contextuel du connecteur, choisissez **Modifier**.

1. La page **Edit parameters (Modifier les paramètres)** affiche un message vous informant que l'ARN du secret a changé. Pour confirmer le changement, choisissez **Enregistrer**.

Si vous supprimez un secret dans Secrets Manager, supprimez la ressource secrète correspondante du groupe ainsi que des connecteurs et des fonctions Lambda qui le référencent. Sinon, lors du déploiement en groupe, AWS IoT Greengrass renvoie une erreur indiquant que le secret est introuvable. Mettez également à jour votre code de fonction Lambda si nécessaire.

### Créer et gérer les ressources de secret (interface de ligne de commande)
<a name="create-manage-secret-resource-cli"></a>

#### Création des ressources de secret (interface de ligne de commande)
<a name="create-manage-secret-resource-cli-create"></a>

Dans l' AWS IoT Greengrass API, un secret est un type de ressource de groupe. L'exemple suivant crée une définition de ressource avec une version initiale qui inclut une ressource de secret nommée `MySecretResource`. Pour obtenir un didacticiel concernant la création d'une ressource de secret et son ajout à une version de groupe, consultez [Démarrage avec les connecteurs Greengrass (CLI)](connectors-cli.md).

La ressource secrète fait référence à l'ARN du secret Secrets Manager correspondant et inclut deux étiquettes intermédiaires en plus de`AWSCURRENT`, qui sont toujours incluses.

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

#### Gestion des ressources de secret (interface de ligne de commande)
<a name="create-manage-secret-resource-cli-manage"></a>

Les tâches de gestion des ressources secrètes de votre groupe Greengrass incluent l'ajout de ressources secrètes au groupe, la suppression de ressources secrètes du groupe et la modification de l'ensemble [des étiquettes intermédiaires](#secret-resources-labels) incluses dans une ressource secrète.

Dans l' AWS IoT Greengrass API, ces modifications sont mises en œuvre à l'aide de versions.

L' AWS IoT Greengrass API utilise des versions pour gérer les groupes. Les versions étant immuables, pour ajouter ou modifier des composants de groupe (par exemple, les appareils clients, les fonctions et les ressources du groupe), vous devez créer des versions de composants nouveaux ou mis à jour. Ensuite, vous créez et déployez une version de groupe contenant la version cible de chaque composant. Pour en savoir plus sur les groupes, voir[AWS IoT Greengrass groupes](what-is-gg.md#gg-group).

Par exemple, pour modifier l'ensemble des étiquettes intermédiaires d'une ressource de secret :

1. Créez une version de définition de ressource qui contient la ressource de secret mise à jour. L'exemple suivant ajoute une troisième étiquette intermédiaire à la ressource de secret à partir de la section précédente.
**Note**  
Pour ajouter d'autres ressources à la version, incluez-les dans la grappe `Resources`.

   ```
   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. Si l'ID de la ressource de secret est modifié, mettez à jour les connecteurs et les fonctions qui utilisent la ressource de secret. Dans les nouvelles versions, mettez à jour le paramètre ou la propriété qui correspond à l'ID de ressource. Si l'ARN du secret est modifié, vous devez également mettre à jour le paramètre correspondant pour tous les connecteurs qui utilisent le secret.
**Note**  
L'ID de ressource est un identifiant arbitraire qui est fourni par le client.

1. Créez une version de groupe qui contient la version cible de chaque composant que vous souhaitez envoyer vers le noyau.

1. Déploiement de la version de groupe.

Pour obtenir un didacticiel qui montre comment créer et déployer des ressources de secret, des connecteurs et des fonctions, consultez [Démarrage avec les connecteurs Greengrass (CLI)](connectors-cli.md).

Si vous supprimez un secret dans Secrets Manager, supprimez la ressource secrète correspondante du groupe ainsi que des connecteurs et des fonctions Lambda qui le référencent. Sinon, lors du déploiement en groupe, AWS IoT Greengrass renvoie une erreur indiquant que le secret est introuvable. Mettez également à jour votre code de fonction Lambda si nécessaire. Vous pouvez supprimer un secret local en déployant une version de définition de ressource qui ne contient pas la ressource secrète correspondante.

## Utilisation de secrets locaux dans les connecteurs et les fonctions Lambda
<a name="secrets-access"></a>

Les connecteurs Greengrass et les fonctions Lambda utilisent des secrets locaux pour interagir avec les services et les applications. La valeur `AWSCURRENT` est utilisée par défaut, mais les valeurs des autres [étiquettes intermédiaires](#secret-resources-labels) incluses dans la ressource de secret sont également disponibles.

Les connecteurs et les fonctions doivent être configurés avant de pouvoir accéder aux secrets locaux. Cela associe la ressource de secret au connecteur ou à la fonction.

**Connecteurs**  
Si un connecteur requiert l'accès à un secret local, il fournit des paramètres que vous configurez avec les informations dont il a besoin pour accéder au secret.  
+ Pour savoir comment procéder dans la AWS IoT Greengrass console, consultez[Mise en route avec les connecteurs Greengrass (console)](connectors-console.md).
+ Pour savoir comment procéder avec la AWS IoT Greengrass CLI, consultez[Démarrage avec les connecteurs Greengrass (CLI)](connectors-cli.md).
Pour en savoir plus sur les exigences des connecteurs individuels, consultez [AWS- connecteurs Greengrass fournis](connectors-list.md).  
La logique pour accéder et utiliser le secret est intégré dans le connecteur.

**Fonctions Lambda**  
Pour autoriser une fonction Greengrass Lambda à accéder à un secret local, vous devez configurer les propriétés de la fonction.  
+ Pour savoir comment procéder dans la AWS IoT Greengrass console, consultez[Comment créer une ressource de secret (console)](secrets-console.md).
+ Pour ce faire dans l' AWS IoT Greengrass API, vous devez fournir les informations suivantes dans la `ResourceAccessPolicies` propriété.
  + `ResourceId` : l'ID de la ressource de secret dans le groupe Greengrass. Il s'agit de la ressource qui référence l'ARN du secret Secrets Manager correspondant.
  + `Permission` : type d'accès que la fonction a à la ressource. Seule l'autorisation `ro` (en lecture seule) est prise en charge pour les ressources de secret.

  L'exemple suivant crée une fonction Lambda qui peut accéder à la ressource `MyApiKey` secrète.

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

   

  Pour accéder aux secrets locaux lors de l'exécution, les fonctions Greengrass Lambda appellent la `get_secret_value` fonction depuis le `secretsmanager` client dans le SDK AWS IoT Greengrass Core (v1.3.0 ou version ultérieure).

  L'exemple suivant montre comment utiliser le SDK AWS IoT Greengrass Core pour Python pour obtenir un secret. Il transmet le nom du secret à la `get_secret_value` fonction. `SecretId`peut être le nom ou l'ARN du secret du Secrets Manager (pas la ressource secrète).

  ```
  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")
  ```

  Pour les secrets de type texte, la fonction `get_secret_value` renvoie une chaîne. Pour les secrets de type binaire, elle renvoie une chaîne encodée en base64.
**Important**  
Assurez-vous que les fonctions Lambda définies par l'utilisateur gèrent les secrets de manière sécurisée et n'enregistrent aucune donnée sensible stockée dans le secret. Pour plus d'informations, consultez la section [Atténuer les risques liés à la journalisation et au débogage de votre fonction Lambda](https://docs.aws.amazon.com/secretsmanager/latest/userguide/best-practices.html#best-practice_lamda-debug-statements) dans *AWS Secrets Manager le guide de l'*utilisateur. Bien que cette documentation fasse spécifiquement référence aux fonctions de rotation, la recommandation s'applique également aux fonctions Greengrass Lambda.

  La valeur actuelle du secret est renvoyée par défaut. Il s'agit de la version à laquelle l'étiquette intermédiaire `AWSCURRENT` est attachée. Pour accéder à une autre version, transmettez le nom de l'étiquette intermédiaire correspondante pour l'argument `VersionStage` facultatif. Par exemple :

  ```
  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")
  ```

  Pour obtenir un autre exemple de fonction qui appelle `get_secret_value`, consultez [Création d'un package de déploiement de fonctions Lambda](secrets-console.md#secrets-console-create-deployment-package).

# Comment créer une ressource de secret (console)
<a name="secrets-console"></a>

Cette fonctionnalité est disponible pour AWS IoT Greengrass Core v1.7 et versions ultérieures.

Ce tutoriel montre comment utiliser le AWS Management Console pour ajouter une *ressource secrète* à un groupe Greengrass. Une ressource secrète est une référence à un formulaire secret AWS Secrets Manager. Pour de plus amples informations, veuillez consulter [Déployez les secrets jusqu'au AWS IoT Greengrass cœur](secrets.md).

Sur le périphérique AWS IoT Greengrass principal, les connecteurs et les fonctions Lambda peuvent utiliser la ressource secrète pour s'authentifier auprès des services et des applications, sans avoir à coder en dur des mots de passe, des jetons ou d'autres informations d'identification.

Dans ce didacticiel, vous commencez par créer un secret dans la AWS Secrets Manager console. Ensuite, dans la AWS IoT Greengrass console, vous ajoutez une ressource secrète à un groupe Greengrass depuis la page **Ressources** du groupe. Cette ressource secrète fait référence au secret du Secrets Manager. Plus tard, vous associez la ressource secrète à une fonction Lambda, ce qui permet à la fonction d'obtenir la valeur du secret local.

**Note**  
La console vous permet également de créer une ressource secrète et secrète lorsque vous configurez un connecteur ou une fonction Lambda. Vous pouvez le faire depuis la page **Configurer les paramètres** du connecteur ou depuis la page **Ressources** de la fonction Lambda.  
Seuls les connecteurs qui contiennent les paramètres des secrets peuvent accéder aux secrets. Pour un didacticiel qui montre comment le connecteur Twilio Notifications utilise un jeton d'authentification stocké localement, voir[Mise en route avec les connecteurs Greengrass (console)](connectors-console.md).

Le didacticiel contient les étapes détaillées suivantes :

1. [Création d'un secret dans le Gestionnaire de Secrets](#secrets-console-create-secret)

1. [Ajouter une ressource de secret à un groupe](#secrets-console-create-resource)

1. [Création d'un package de déploiement de fonctions Lambda](#secrets-console-create-deployment-package)

1. [Création d’une fonction Lambda ](#secrets-console-create-function)

1. [Ajouter la fonction au groupe](#secrets-console-create-gg-function)

1. [Attacher la ressource de secret à la fonction](#secrets-console-affiliate-gg-function)

1. [Ajouter des abonnements au groupe](#secrets-console-create-subscription)

1. [Déployer le groupe](#secrets-console-create-deployment)

1. [Test de la fonction Lambda](#secrets-console-test-solution)

Le didacticiel devrait prendre environ 20 minutes.

## Conditions préalables
<a name="secrets-console-prerequisites"></a>

Pour suivre ce didacticiel, vous devez disposer des éléments suivants :
+ Un groupe Greengrass et un noyau Greengrass (v1.7 ou version ultérieure). Pour savoir comment créer un groupe et un service principal Greengrass, consultez [Commencer avec AWS IoT Greengrass](gg-gs.md). Le didacticiel de mise en route inclut également les étapes d'installation du logiciel AWS IoT Greengrass Core.
+ AWS IoT Greengrass doit être configuré pour prendre en charge les secrets locaux. Pour plus d'informations, consultez les [exigences liées aux ressources de secret](secrets.md#secrets-reqs).
**Note**  
Cette exigence inclut l'autorisation d'accéder aux secrets de votre Gestionnaire de Secrets. *Si vous utilisez le rôle de service Greengrass par défaut, Greengrass est autorisé à obtenir les valeurs des secrets dont le nom commence par greengrass-.*
+ Pour obtenir les valeurs des secrets locaux, vos fonctions Lambda définies par l'utilisateur doivent AWS IoT Greengrass utiliser le SDK Core v1.3.0 ou version ultérieure.

## Étape 1 : Création d'un secret du Gestionnaire de Secrets
<a name="secrets-console-create-secret"></a>

Au cours de cette étape, vous allez utiliser la AWS Secrets Manager console pour créer un secret.

1. <a name="create-secret-step-signin"></a>Connectez-vous à la [console AWS Secrets Manager](https://console.aws.amazon.com/secretsmanager/).
**Note**  
Pour plus d'informations sur ce processus, voir [Étape 1 : Création et stockage de votre secret AWS Secrets Manager dans](https://docs.aws.amazon.com/secretsmanager/latest/userguide/tutorials_basic.html) le *guide de AWS Secrets Manager l'utilisateur*.

1. <a name="create-secret-step-create"></a>Choisissez **Store a new secret** (Stocker un nouveau secret).

1. <a name="create-secret-step-othertype"></a>Sous **Choisir le type de secret**, choisissez **Autre type de secret**.

1. Dans **Spécifier les paires clé/valeur à stocker pour ce secret** :
   + Pour **Clé**, entrez **test**.
   + Pour le champ **Value (Valeur)**, entrez **abcdefghi**.

1. <a name="create-secret-step-encryption"></a>**Gardez **aws/secretsmanager** sélectionné pour la clé de chiffrement, puis choisissez Next.**
**Note**  
Vous n'êtes pas débité AWS KMS si vous utilisez la clé AWS gérée par défaut créée par Secrets Manager dans votre compte.

1. Pour **Secret name**, entrez **greengrass-TestSecret** et choisissez **Next**.
**Note**  
Par défaut, le rôle de service Greengrass permet d' AWS IoT Greengrass obtenir la valeur des secrets dont le nom commence par *greengrass* -. Pour plus d'informations, consultez les [exigences liées aux secrets](secrets.md#secrets-reqs).

1. <a name="create-secret-step-rotation"></a>Ce didacticiel ne nécessite pas de rotation. Choisissez donc désactiver la rotation automatique, puis cliquez sur **Suivant**.

1. <a name="create-secret-step-review"></a>Dans la page **Révision**, passez en revue vos paramètres, puis choisissez **Stocker**.

   Ensuite, vous créez une ressource de secret dans votre groupe Greengrass qui référence le secret.

## Étape 2 : Ajouter une ressource de secret à un groupe Greengrass
<a name="secrets-console-create-resource"></a>

Au cours de cette étape, vous configurez une ressource de groupe qui fait référence au secret de Secrets Manager.

1. <a name="console-gg-groups"></a>Dans le volet de navigation de la AWS IoT console, sous **Gérer**, développez les **appareils Greengrass**, puis choisissez **Groups (V1)**.

1. <a name="create-secret-resource-step-choosegroup"></a>Choisissez le groupe auquel vous souhaitez ajouter la ressource de secret.

1. <a name="create-secret-resource-step-secretstab"></a>Sur la page de configuration du groupe, choisissez l'onglet **Ressources**, puis faites défiler la page jusqu'à la section **Secrets**. La section **Secrets** affiche les ressources secrètes appartenant au groupe. Vous pouvez ajouter, modifier et supprimer des ressources secrètes dans cette section.
**Note**  
La console vous permet également de créer une ressource secrète et secrète lorsque vous configurez un connecteur ou une fonction Lambda. Vous pouvez le faire depuis la page **Configurer les paramètres** du connecteur ou depuis la page **Ressources** de la fonction Lambda.

1. <a name="create-secret-resource-step-addsecretresource"></a>Choisissez **Ajouter** dans la section **Secrets**.

1. Sur la page **Ajouter une ressource secrète**, entrez **MyTestSecret** le **nom de la ressource**.

1. Sous **Secret**, choisissez **greengrass- TestSecret**.

1. <a name="create-secret-resource-step-selectlabels"></a>Dans la section **Sélectionner les étiquettes (facultatif)**, AWSCURRENT l'étiquette intermédiaire représente la dernière version du secret. Cette étiquette est toujours incluse dans une ressource de secret.
**Note**  
Ce didacticiel nécessite uniquement l' AWSCURRENT étiquette. Vous pouvez éventuellement inclure des étiquettes requises par votre fonction ou connecteur Lambda.

1. Choisissez **Add resource (Ajouter ressource)**.

## Étape 3 : Création d'un package de déploiement de fonctions Lambda
<a name="secrets-console-create-deployment-package"></a>

Pour créer une fonction Lambda, vous devez d'abord créer un *package de déploiement* de fonction Lambda contenant le code de la fonction et les dépendances. Les fonctions Lambda de Greengrass nécessitent le [SDK AWS IoT Greengrass principal](lambda-functions.md#lambda-sdks-core) pour des tâches telles que la communication avec les messages MQTT dans l'environnement principal et l'accès aux secrets locaux. Ce didacticiel crée une fonction Python afin que vous utilisiez la version Python du SDK dans le package de déploiement.

**Note**  
Pour obtenir les valeurs des secrets locaux, vos fonctions Lambda définies par l'utilisateur doivent AWS IoT Greengrass utiliser le SDK Core v1.3.0 ou version ultérieure.

1. <a name="download-ggc-sdk"></a> Sur la page de téléchargement du [SDK AWS IoT Greengrass Core](what-is-gg.md#gg-core-sdk-download), téléchargez le SDK AWS IoT Greengrass Core pour Python sur votre ordinateur.

1. <a name="unzip-ggc-sdk"></a>Décompressez le package téléchargé pour obtenir le kit SDK. Le kit SDK est représenté par le dossier `greengrasssdk`.

1. Enregistrez la fonction de code Python suivante dans un fichier local nommé `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)
   ```

   La `get_secret_value` fonction prend en charge le nom ou l'ARN du secret du Secrets Manager pour la `SecretId` valeur. Cet exemple utilise le nom du secret. Pour cet exemple, secret, AWS IoT Greengrass renvoie la paire clé-valeur :. `{"test":"abcdefghi"}`
**Important**  
Assurez-vous que les fonctions Lambda définies par l'utilisateur gèrent les secrets de manière sécurisée et n'enregistrent aucune donnée sensible stockée dans le secret. Pour plus d'informations, consultez la section [Atténuer les risques liés à la journalisation et au débogage de votre fonction Lambda](https://docs.aws.amazon.com/secretsmanager/latest/userguide/best-practices.html#best-practice_lamda-debug-statements) dans *AWS Secrets Manager le guide de l'*utilisateur. Bien que cette documentation fasse spécifiquement référence aux fonctions de rotation, la recommandation s'applique également aux fonctions Greengrass Lambda.

1. Compressez les éléments suivants dans un fichier nommé `secret_test_python.zip`. Lorsque vous créez le fichier ZIP, insérez uniquement le code et ses dépendances, pas le dossier dans lequel il se trouve.
   + **secret\$1test.py**. Logique d'application.
   + **greengrasssdk**. Bibliothèque requise pour toutes les fonctions Lambda de Python Greengrass.

   Il s'agit de votre package de déploiement de fonctions Lambda.

## Étape 4 : créer une fonction Lambda
<a name="secrets-console-create-function"></a>

Au cours de cette étape, vous allez utiliser la AWS Lambda console pour créer une fonction Lambda et la configurer pour utiliser votre package de déploiement. Vous publiez ensuite une version de fonction et créez un alias.

1. Créez d'abord la fonction Lambda.

   1. <a name="lambda-console-open"></a>Dans le AWS Management Console, choisissez **Services**, puis ouvrez la AWS Lambda console.

   1. <a name="lambda-console-create-function"></a>Choisissez **Créer une fonction**, puis sélectionnez **Auteur à partir de zéro**.

   1. Dans la section **Informations de base**, spécifiez les valeurs suivantes :
      + Sous **Nom de la fonction**, saisissez **SecretTest**.
      + Pour **Runtime**, sélectionnez **Python 3.7**.
      + Pour **les autorisations**, conservez le paramètre par défaut. Cela crée un rôle d'exécution qui accorde des autorisations Lambda de base. Ce rôle n'est pas utilisé par AWS IoT Greengrass.

   1. <a name="lambda-console-save-function"></a>Dans le bas de la page, choisissez **Create function**.

1. Enregistrez ensuite le gestionnaire et téléchargez le package de déploiement de votre fonction Lambda.

   1. <a name="lambda-console-upload"></a>Dans l'onglet **Code**, sous **Source du code**, choisissez **Télécharger depuis**. Dans le menu déroulant, sélectionnez le **fichier .zip.**  
![\[La liste déroulante Upload from avec le fichier .zip surligné.\]](http://docs.aws.amazon.com/fr_fr/greengrass/v1/developerguide/images/lra-console/upload-deployment-package.png)

   1. Choisissez **Upload**, puis choisissez votre package `secret_test_python.zip` de déploiement. Ensuite, choisissez **Enregistrer**.

   1. <a name="lambda-console-runtime-settings-para"></a>Dans l'onglet **Code** de la fonction, sous **Paramètres d'exécution**, choisissez **Modifier**, puis entrez les valeurs suivantes.
      + Pour **Runtime**, sélectionnez **Python 3.7**.
      + Pour **Handler (Gestionnaire)**, entrez **secret\$1test.function\$1handler**.

   1. <a name="lambda-console-save-config"></a>Choisissez **Enregistrer**.
**Note**  
Le bouton **Test** de la AWS Lambda console ne fonctionne pas avec cette fonction. Le SDK AWS IoT Greengrass principal ne contient pas les modules nécessaires pour exécuter vos fonctions Greengrass Lambda de manière indépendante dans la console. AWS Lambda Ces modules (par exemple`greengrass_common`) sont fournis aux fonctions après leur déploiement sur votre noyau Greengrass.

1. À présent, publiez la première version de votre fonction Lambda et créez un [alias pour](https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html) cette version.
**Note**  
Les groupes Greengrass peuvent référencer une fonction Lambda par alias (recommandé) ou par version. L'utilisation d'un alias facilite la gestion des mises à jour du code, car vous n'avez pas à modifier votre table d'abonnement ou la définition de groupe lorsque le code de fonction est mis à jour. Au lieu de cela, il vous suffit de pointer l'alias vers la nouvelle version de la fonction.

   1. <a name="shared-publish-function-version"></a>Dans le menu **Actions**, sélectionnez **Publier une nouvelle version**.

   1. <a name="shared-publish-function-version-description"></a>Dans **Description de la version**, saisissez **First version**, puis choisissez **Publish**.

   1. Sur la page de configuration **SecretTest: 1**, dans le menu **Actions**, choisissez **Créer un alias**.

   1. Sur la page **Create a new alias**, utilisez les valeurs suivantes :
      + Pour **Nom**, saisissez **GG\$1SecretTest**.
      + Pour **Version**, choisissez **1**.
**Note**  
AWS IoT Greengrass **ne prend pas en charge les alias Lambda pour les versions \$1LATEST.**

   1. Choisissez **Créer**.

Vous êtes maintenant prêt à ajouter la fonction Lambda à votre groupe Greengrass et à joindre la ressource secrète.

## Étape 5 : ajouter la fonction Lambda au groupe Greengrass
<a name="secrets-console-create-gg-function"></a>

Au cours de cette étape, vous allez ajouter la fonction Lambda au groupe Greengrass dans la console. AWS IoT 

1. <a name="choose-add-lambda"></a>Sur la page de configuration du groupe, choisissez l'onglet **Fonctions Lambda**.

1. **Dans la section **Mes fonctions Lambda**, choisissez Ajouter.**

1. Pour la **fonction Lambda, choisissez**. **SecretTest**

1. Pour la **version de la fonction Lambda**, choisissez l'alias de la version que vous avez publiée.

Configurez ensuite le cycle de vie de la fonction Lambda.

1. Dans la section de **configuration de la fonction Lambda**, effectuez les mises à jour suivantes.
**Note**  
 Nous vous recommandons d'exécuter votre fonction Lambda sans conteneurisation, sauf si votre analyse de rentabilisation l'exige. Cela permet d'accéder au processeur graphique et à la caméra de votre appareil sans configurer les ressources de l'appareil. Si vous exécutez sans conteneurisation, vous devez également accorder un accès root à vos fonctions Lambda AWS IoT Greengrass . 

   1. **Pour exécuter sans conteneurisation :**
      + Pour **Utilisateur et groupe du système**, sélectionnez**Another user ID/group ID**. Dans le champ **ID utilisateur du système**, entrez**0**. Pour l'**ID du groupe de systèmes**, entrez**0**.

        Cela permet à votre fonction Lambda de s'exécuter en tant que root. Pour plus d'informations sur l'exécution en tant que root, consultez[Définition de l'identité d'accès par défaut pour les fonctions Lambda dans un groupe](lambda-group-config.md#lambda-access-identity-groupsettings).
**Astuce**  
Vous devez également mettre à jour votre `config.json` fichier pour accorder un accès root à votre fonction Lambda. Pour la procédure, voir[Exécution d'une fonction Lambda en tant que root](lambda-group-config.md#lambda-running-as-root).
      + **Pour la **conteneurisation de la fonction Lambda, sélectionnez Aucun conteneur**.**

        Pour plus d'informations sur l'exécution sans conteneurisation, consultez. [Considérations à prendre en compte lors du choix de la conteneurisation des fonctions Lambda](lambda-group-config.md#lambda-containerization-considerations)
      + Pour **Expiration**, entrez **10 seconds**.
      + Pour **Épinglé**, choisissez **True**.

        Pour de plus amples informations, veuillez consulter [Configuration du cycle de vie pour les fonctions Greengrass Lambda](lambda-functions.md#lambda-lifecycle).
      + Sous **Paramètre supplémentaire**, pour l'**accès en lecture au répertoire /sys**, choisissez **Enabled**.

   1.  **Pour exécuter plutôt en mode conteneurisé :** 
**Note**  
Nous vous déconseillons de l'exécuter en mode conteneurisé, sauf si votre analyse de rentabilisation l'exige.
      + Pour **Utilisateur et groupe du système**, choisissez **Utiliser le groupe par défaut**.
      + **Pour la **conteneurisation de la fonction Lambda**, choisissez Utiliser le groupe par défaut.**
      + Pour **Limite de mémoire**, entrez **1024 MB**.
      + Pour **Expiration**, entrez **10 seconds**.
      + Pour **Épinglé**, choisissez **True**.

        Pour de plus amples informations, veuillez consulter [Configuration du cycle de vie pour les fonctions Greengrass Lambda](lambda-functions.md#lambda-lifecycle).
      + Sous **Paramètres supplémentaires**, pour l'**accès en lecture au répertoire /sys**, sélectionnez **Activé**.

1.  Choisissez **Ajouter une fonction Lambda**.

Associez ensuite la ressource secrète à la fonction.

## Étape 6 : associer la ressource secrète à la fonction Lambda
<a name="secrets-console-affiliate-gg-function"></a>

Au cours de cette étape, vous associez la ressource secrète à la fonction Lambda de votre groupe Greengrass. Cela associe la ressource à la fonction, ce qui permet à la fonction d'obtenir la valeur du secret local.

1. Sur la page de configuration du groupe, choisissez l'onglet **Fonctions Lambda**.

1. Choisissez la **SecretTest**fonction.

1. Sur la page de détails de la fonction, sélectionnez **Ressources**.

1. Accédez à la section **Secrets** et choisissez **Associer**.

1. Choisissez **MyTestSecret**, puis choisissez **Associer**.

## Étape 7 : Ajouter des abonnements au groupe Greengrass
<a name="secrets-console-create-subscription"></a>

Au cours de cette étape, vous ajoutez des abonnements qui permettent à AWS IoT la fonction Lambda d'échanger des messages. Un abonnement permet AWS IoT d'invoquer la fonction et un autre permet à la fonction d'envoyer des données de sortie à AWS IoT.

1. <a name="shared-subscriptions-addsubscription"></a>Sur la page de configuration du groupe, choisissez l'onglet **Abonnements**, puis choisissez **Ajouter un abonnement**.

1. Créez un abonnement qui permet AWS IoT de publier des messages sur la fonction.

   Sur la page de configuration du groupe, choisissez l'onglet **Abonnements**, puis choisissez **Ajouter un abonnement**.

1. Sur la page **Créer un abonnement**, configurez la source et la cible comme suit :

   1. Dans **Type de source**, choisissez la **fonction Lambda**, puis sélectionnez **IoT** Cloud.

   1. Dans **Type de cible**, choisissez **Service**, puis choisissez **SecretTest**.

   1. Dans le **filtre de rubrique**, entrez**secrets/input**, puis choisissez **Créer un abonnement**. 

1. Ajoutez un second abonnement. Choisissez l'onglet **Abonnements**, choisissez **Ajouter un abonnement** et configurez la source et la cible comme suit : 

   1. Dans **Type de source**, choisissez **Services**, puis sélectionnez **SecretTest**.

   1. Dans **Type de cible**, choisissez la **fonction Lambda**, puis sélectionnez **IoT** Cloud.

   1. Dans le **filtre de rubrique**, entrez**secrets/output**, puis choisissez **Créer un abonnement**.

## Étape 8 : Déployer le groupe Greengrass
<a name="secrets-console-create-deployment"></a>

Déployer le groupe sur l'appareil principal (noyau) Pendant le déploiement AWS IoT Greengrass , extrait la valeur du secret depuis Secrets Manager et crée une copie cryptée locale sur le noyau.

1. <a name="shared-deploy-group-checkggc"></a>Assurez-vous que le AWS IoT Greengrass noyau fonctionne. Dans la fenêtre de terminal de votre Raspberry Pi, exécutez les commandes suivantes, si nécessaire.

   1. Pour vérifier si le démon est en cours d'exécution :

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

      Si la sortie contient une entrée `root` pour `/greengrass/ggc/packages/ggc-version/bin/daemon`, le démon est en cours d'exécution.
**Note**  
La version indiquée dans le chemin dépend de la version du logiciel AWS IoT Greengrass Core installée sur votre appareil principal.

   1. Pour démarrer le daemon :

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

1. <a name="shared-deploy-group-deploy"></a>Sur la page de configuration du groupe, choisissez **Deploy**.

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

   1. **Dans l'onglet **Fonctions Lambda**, sous la section **Fonctions Lambda** du système, sélectionnez **Détecteur IP** et choisissez Modifier.**

   1. Dans la boîte de dialogue **Modifier les paramètres du détecteur IP**, sélectionnez **Détecter et remplacer automatiquement les points de terminaison du broker MQTT**.

   1. Choisissez **Enregistrer**.

      Les appareils peuvent ainsi acquérir automatiquement des informations de connectivité pour le noyau, telles que l'adresse IP, le DNS et le numéro de port. La détection automatique est recommandée, mais elle prend AWS IoT Greengrass également en charge les points de terminaison spécifiés manuellement. Vous êtes uniquement invité à indiquer la méthode de découverte lors du déploiement initial du groupe.
**Note**  
Si vous y êtes invité, autorisez la création du rôle de [service Greengrass et associez-le à votre rôle](service-role.md) Compte AWS dans le service actuel. Région AWS Ce rôle permet d'accéder AWS IoT Greengrass à vos ressources dans les AWS services.

      La page **Déploiements** indique l'horodatage, l'ID de version et l'état du déploiement. Une fois terminé, le statut affiché pour le déploiement doit être **Terminé**.

      Pour bénéficier d'une aide à la résolution des problèmes, consultez [Résolution des problèmes AWS IoT Greengrass](gg-troubleshooting.md).

## Test de la fonction Lambda
<a name="secrets-console-test-solution"></a>

1. <a name="choose-test-page"></a>Sur la page d'accueil de la AWS IoT console, choisissez **Test**.

1. Pour **S'abonner à la rubrique**, utilisez les valeurs suivantes, puis choisissez **S'abonner**.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/greengrass/v1/developerguide/secrets-console.html)

1. Pour **Publier dans le sujet**, utilisez les valeurs suivantes, puis choisissez **Publier** pour appeler la fonction.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/greengrass/v1/developerguide/secrets-console.html)

   En cas de réussite, la fonction publie un message « Success ».

## Consultez aussi
<a name="secrets-console-see-also"></a>
+ [Déployez les secrets jusqu'au AWS IoT Greengrass cœur](secrets.md)