Cette question a quelques similitudes avec Disable AWS Lambda Environment Variables dans son objectif général, mais vise principalement à l'accès au réseau.comment garantir aws lambda appelant qui a fourni des données reste sécurisé
Je voudrais permettre à un tiers d'invoquer ma fonction Lambda. La troisième partie soumettra ses propres données à la fonction Lambda (soit via la charge utile, soit en spécifiant l'emplacement des données, par exemple un compartiment S3).
Je souhaite que le service Lambda puisse garantir à un tiers que les données qu'il a fournies n'ont pas été divulguées depuis le processus Lambda vers un autre emplacement. Pour ce faire, à tout le moins, le tiers doit avoir l'assurance que la fonction Lambda ne s'est pas connectée à une autre ressource sur Internet et qu'elle lui a transmis les données.
En supposant que
- Je fournis le code qui fonctionnera sur les données sensibles
- le tiers n'a aucun moyen de vérifier que le code, et
- la troisième confiance parti Amazon, mais ne ne pas me faire confiance
Y a-t-il un moyen d'y parvenir avec Lambda (peut-être en conjonction avec d'autres produits AWS)? J'ai examiné des solutions utilisant des passerelles, EC2, le cryptage au repos, S3, et l'autorisation personnalisée avec tous ceux-ci, mais n'ont trouvé aucune solution.
Comme indiqué dans une réponse ci-dessous, une fonction Lambda à l'intérieur VPC ne peut accéder à Internet si vous le configurez pour qu'il puisse, mais comme * vous * contrôler l'environnement, et * vous * contrôlez le code, cela ne sert à rien de prouver que l'information n'a pas été divulguée. En fait, il n'y a jamais de moyen pour vous de me prouver que vous n'avez pas exporté/exposé/dupliqué mes données à moins que vous n'y ayez jamais eu accès. Sinon, comment peut-il y avoir une solution technique? Les seules «preuves» possibles seraient des audits tiers de confiance. –
Je suis d'accord avec votre évaluation que la réponse ci-dessous ne résout pas le problème en raison de mon contrôle sur l'environnement. Cependant, je ne sais pas pourquoi une solution technique ne peut pas exister si la tierce partie de confiance fournit la plate-forme sur laquelle le code s'exécute (et si on suppose que la partie de confiance tient toujours sa promesse), pour s'assurer qu'à la demande du appelant, le code est exécuté dans un environnement restreint. – mwag
BTW dans mon commentaire ci-dessus quand je dis « 3ème partie de confiance » Je veux dire AWS (par opposition à la « tiers » qui fournit les données sensibles et l'exécution du code et qui a besoin de l'assurance de la sécurité des données) – mwag