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.
Chiffrement des packages de déploiement Lambda au format .zip
AWS Lambda fournit toujours un chiffrement côté serveur au repos pour les packages de déploiement .zip et les détails de configuration des fonctions avec un. AWS KMS key Par défaut, Lambda utilise une Clé détenue par AWS. Si ce comportement par défaut convient à votre flux de travail, vous n'avez rien d'autre à configurer. AWS l'utilisation de cette clé ne vous est pas facturée.
Si vous préférez, vous pouvez plutôt fournir une clé gérée par le AWS KMS client. Vous pouvez procéder ainsi pour contrôler la rotation de la clé KMS ou pour répondre aux exigences de votre organisation en matière de gestion des clés KMS. Lorsque vous utilisez une clé gérée par le client, seuls les utilisateurs de votre compte ayant accès à la clé KMS peuvent visualiser ou gérer le code ou la configuration de la fonction.
Les clés gérées par le client entraînent des AWS KMS frais standard. Pour en savoir plus, consultez Pricing AWS Key Management Service
Création d’une clé gérée par le client
Vous pouvez créer une clé symétrique gérée par le client à l'aide de AWS Management Console, ou des AWS KMS API.
Pour créer une clé symétrique gérée par le client
Suivez les étapes de la rubrique Create a symmetric encryption KMS key dans le Guide du développeur AWS Key Management Service .
Permissions
Stratégie de clé
Les stratégies de clé contrôlent l’accès à votre clé gérée par le client. Chaque clé gérée par le client doit avoir exactement une stratégie de clé, qui contient des instructions qui déterminent les personnes pouvant utiliser la clé et comment elles peuvent l’utiliser. Pour plus d’informations, consultez How to change a key policy dans le Guide du développeur AWS Key Management Service .
Lorsque vous utilisez une clé gérée par le client pour chiffrer un package de déploiement .zip, Lambda n’ajoute aucun octroi à la clé. Au lieu de cela, votre politique AWS KMS clé doit autoriser Lambda à appeler les opérations d' AWS KMS API suivantes en votre nom :
L'exemple de politique de clé suivant permet à toutes les fonctions Lambda du compte 111122223333 d'appeler les AWS KMS opérations requises pour la clé gérée par le client spécifiée :
Exemple AWS KMS politique clé
Pour plus d'informations sur le dépannage des clés d’accès, consultez le Guide du développeur AWS Key Management Service .
Autorisations de principal
Lorsque vous utilisez une clé gérée par le client pour chiffrer un package de déploiement .zip, seuls les principaux ayant accès à cette clé peuvent accéder au package de déploiement .zip. Par exemple, les principaux qui n'ont pas accès à la clé gérée par le client ne peuvent pas télécharger le package .zip à l'aide de l'URL S3 présignée incluse dans la réponse. GetFunction Une AccessDeniedException est renvoyée dans la section Code de la réponse.
Exemple AWS KMS AccessDeniedException
{ "Code": { "RepositoryType": "S3", "Error": { "ErrorCode": "AccessDeniedException", "Message": "KMS access is denied. Check your KMS permissions. KMS Exception: AccessDeniedException KMS Message: User: arn:aws:sts::111122223333:assumed-role/LambdaTestRole/session is not authorized to perform: kms:Decrypt on resource: arn:aws:kms:us-east-1:111122223333:key/key-id with an explicit deny in a resource-based policy" }, "SourceKMSKeyArn": "arn:aws:kms:us-east-1:111122223333:key/key-id" }, ...
Pour plus d'informations sur les autorisations relatives aux AWS KMS clés, consultez Authentification et contrôle d'accès pour AWS KMS.
Utilisation d’une clé gérée par le client pour votre package de déploiement .zip
Utilisez les paramètres d’API suivants pour configurer les clés gérées par le client pour les packages de déploiement .zip :
-
SourceKMSKeyArn: chiffre le package de déploiement .zip source (le fichier que vous chargez).
-
KMSKeyArn: chiffre les variables d'environnement et les instantanés SnapStart Lambda.
-
DurableConfig.KMSKeyArn: chiffre les données d'exécution durables. Cette touche est indépendante du niveau de fonction.
KMSKeyArn
Lorsque SourceKMSKeyArn et KMSKeyArn sont tous deux spécifiés, Lambda utilise la clé KMSKeyArn pour chiffrer la version décompressée du package que Lambda utilise pour invoquer la fonction. Lorsque SourceKMSKeyArn est spécifié mais que KMSKeyArn ne l’est pas, Lambda utilise une Clé gérée par AWSpour chiffrer la version décompressée du package.
Note
Pour les fonctions et les couches qui utilisent le stockage de code S3 autogéré, Lambda ne stocke aucune copie de votre code source. Votre code reste dans votre compartiment S3, et le chiffrement au repos de votre code source est géré par la configuration de votre compartiment S3. Lambda utilisera KMSKeyArn pour chiffrer la version décompressée du package que Lambda utilise pour appeler la fonction. Pour plus d'informations, consultez la section Protection des données avec le chiffrement côté serveur dans le guide de l'utilisateur d'Amazon Simple Storage Service.