Utilisation de la signature de code pour vérifier l'intégrité du code avec Lambda - AWS Lambda

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.

Utilisation de la signature de code pour vérifier l'intégrité du code avec Lambda

La signature de code pour AWS Lambda permet de garantir que seul du code fiable s'exécute dans vos fonctions Lambda. Lorsque vous activez la signature de code pour une fonction, Lambda contrôle chaque déploiement de code et vérifie que le package de code est signé par une source approuvée.

Note

Les fonctions définies en tant qu'images de conteneur ne prennent pas en charge la signature de code.

Pour vérifier l'intégrité du code, utilisezAWS  Signer pour créer des packages de code signés numériquement pour les fonctions et les couches. Lorsqu'un utilisateur tente de déployer un package de code, Lambda effectue des contrôles de validation sur le package de code avant d'accepter le déploiement. Étant donné que les contrôles de validation de signature de code s'exécutent au moment du déploiement, l'exécution de la fonction n'est aucunement affectée en matière de performances.

Vous pouvez également utiliser AWS Signer pour créer des profils de signature. Vous utilisez un profil de signature afin de créer le package de code signé. Utilisez AWS Identity and Access Management (IAM) pour contrôler qui peut signer les packages de code et créer des profils de signature. Pour de plus amples informations, consultez Authentification et contrôle d'accès dans le Guide du développeur AWS  Signer.

Les couches Lambda suivent le même format de package de code signé que les packages de code de fonction. Lorsque vous ajoutez une couche à une fonction pour laquelle la signature de code est activée, Lambda vérifie que la couche est signée par un profil de signature autorisé. Lorsque vous activez la signature de code pour une fonction, toutes les couches ajoutées à la fonction doivent également être signées par l'un des profils de signature autorisés.

Vous pouvez configurer la signature de code afin de journaliser les modifications dans AWS CloudTrail. Les déploiements réussis et bloqués vers les fonctions sont enregistrés CloudTrail avec des informations sur les contrôles de signature et de validation.

L'utilisation de AWS Signer ou la signature de code pour AWS Lambda.

Validation de signature

Lambda effectue les contrôles de validation suivants lorsque vous déployez un package de code signé vers votre fonction :

  1. Intégrité – Vérifie que le package de code n'a pas été modifié depuis sa signature. Lambda compare le hachage du package au hachage de la signature.

  2. Expiration – Vérifie que la signature du package de code n'a pas expiré.

  3. Discordance – Vérifie que le package de code est signé avec l'un des profils de signature autorisés pour la fonction Lambda. Une incompatibilité se produit aussi si une signature n'est pas présente.

  4. Révocation – Vérifie que la signature du package de code n'a pas été révoquée.

La stratégie de validation de signature définie dans la configuration de signature de code détermine laquelle des actions suivantes Lambda doit accomplir en cas d'échec de l'un des contrôles de validation :

  • Avertissement – Lambda autorise le déploiement du package de code, mais émet un avertissement. Lambda émet une nouvelle CloudWatch métrique Amazon et enregistre également l'avertissement dans le CloudTrail journal.

  • Mise en application – Lambda émet un avertissement (identique à celui de l'action Avertissement) et bloque le déploiement du package de code.

Vous pouvez configurer la stratégie pour les contrôles de validation d'expiration, d'incompatibilité et de révocation. Notez que vous ne pouvez pas configurer une stratégie pour le contrôle d'intégrité. Si le contrôle d'intégrité échoue, Lambda bloque le déploiement.

Configuration de la signature de code avec le Lambda API

Pour gérer les configurations de signature de code avec le AWS CLI ou AWS SDK, utilisez les API opérations suivantes :

Pour gérer la configuration de signature de code pour une fonction, effectuez les API opérations suivantes :