This question has some similarities to Disable AWS Lambda Environment Variables in its overall purpose, but is directed primarily at network access.
I'd like to provide the ability for a third party to invoke my Lambda function. The third party will submit their own data to the Lambda function (either through the payload, or by specifying the data location e.g. an S3 bucket).
I'd like for the Lambda service to be able to guarantee the third party that the data they provided has not been leaked from the Lambda process to anywhere else. In order to do this, at the very least, the third party must have assurance that the Lambda function has not connected to some other resource on the Internet and leaked the data to it.
Assuming that
- I am providing the code that will operate on the sensitive data
- the third party has no way to inspect that code, and
- the third party trusts Amazon, but does not trust me
Is there any way to achieve this with Lambda (perhaps in conjunction with other AWS products)? I have looked into solutions using Gateways, EC2, encryption at rest, S3, and custom permissioning with all of those, but have found no solution.