我目前使用AWS Lambda来运行我无法控制的代码。因此,我想确保Lambda环境是沙盒,并且无法访问敏感数据。传递给Lambda函数的默认环境变量概述如下here。那些我担心用户可以访问的是:禁用AWS Lambda环境变量
AWS_ACCESS_KEY
AWS_ACCESS_KEY_ID
AWS_SECRET_KEY
AWS_SECRET_ACCESS_KEY
AWS_SESSION_TOKEN
AWS_SECURITY_TOKEN
是否可以禁用这些环境变量?目前,我在执行用户代码之前隐藏了这些变量,但如果我能够禁用环境变量,那将会很好。
编辑回应评论:
我运行不受信任的代码B/C我在写一个游戏,教编程,我想用lambda来执行用户的代码。 (AWSLambdaVPCAccessExecutionRole)给我的Lambda函数的权限是最小的。网络访问受到限制,但是他们可以检索其功能的结果,因为它是游戏的一部分。
编辑两个
我张贴在AWS论坛这个问题二/三我不认为这是目前可能的。链接是here。
这些是与执行角色关联的临时证书。目前尚不清楚为什么你使用的角色拥有的权限比所需的更多......也就是说,为什么你要在Lambda中运行不受信任的代码。你能澄清用例吗? –
感谢您的回复,@ Michael-sqlbot。我更新了我的问题。让我知道你是否仍然需要澄清! – Dehli
@ Michael-sqlbot呃,Lambda是运行不受信任代码的**理想**位置,因为您可以精确地限制它可以运行的时间以及它使用的资源数量。你还会在哪里运行不受信任的代码? – idbehold