amazon-web-services - 禁用 AWS Lambda 环境变量

标签 amazon-web-services aws-lambda

我目前正在使用 AWS Lambda 来运行我无法控制的代码。因此,我想确保 Lambda 环境是沙盒的,并且无法访问敏感数据。概述了传递给 Lambda 函数的默认环境变量 here .我担心用户访问的是:

AWS_ACCESS_KEY
AWS_ACCESS_KEY_ID
AWS_SECRET_KEY
AWS_SECRET_ACCESS_KEY
AWS_SESSION_TOKEN
AWS_SECURITY_TOKEN

是否可以禁用这些环境变量?目前我在执行用户代码之前隐藏了这些变量,但如果我能完全禁用环境变量就更好了。

编辑以回应评论:

我正在运行不受信任的代码 b/c 我正在编写一个教授编程的游戏,我想使用 Lambda 来执行用户的代码。我认为我授予 Lambda 函数的权限是最小的 (AWSLambdaVPCAccessExecutionRole)。网络访问受到限制,但他们可以检索其功能的结果,因为它是游戏的一部分。

编辑二

我在 AWS 论坛 b/c 上发布了这个问题,我认为目前这不可能。链接是here .

最佳答案

除非最近发生了一些变化,否则隐藏这些变量的唯一方法是在调用用户代码之前将它们从 lambda 函数的环境中显式删除,我相信您已经在这样做了。

boto 使用这些变量来提供对使用 AWS SDK 的 AWS 功能的访问,并且是 Lambda 函数用户通常希望在其环境中使用的变量。该角色是您为该函数配置的任​​何角色,因此您可以创建一个没有权限的角色(但您不会获得任何日志记录)。也就是说,如果您使用 AWSLambdaBasicExecutionRole,则提供的唯一权限是记录到 Cloudwatch,并且您甚至可以删除这些权限,但您不会从 Lambda 获得任何日志记录。您可以默认使用它,并仅在需要调试时启用日志记录。

关于amazon-web-services - 禁用 AWS Lambda 环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42727454/

相关文章:

amazon-web-services - 减少 aws lambda 部署的 scipy 和 numpy 的大小

amazon-web-services - AWS EventBridge 作为 Lambda 目的地

aws-lambda - AWS Lambda Set-Cookie header 未在浏览器中设置

c# - 如何列出 Amazon S3 存储桶中的所有对象?

amazon-web-services - Amazon ECS 对 docker 中的 --shm-size 的支持

java - Multi-Tenancy 应用程序中的连接池。共享池与每个租户的池

ruby - 无法在 AWS Lambda 上加载文件 mysql2

node.js - AWS Cognito adminCreateUser 来自 Lambda 添加了重复的用户名

python-3.x - 当查询包含来自多个数据库的表的连接时,如何在 boto3 中设置 QueryExecutionContext?

python - AWS Lambda TypeError : datetime. datetime(2012, 8, 8, 21, 46, 24, 862000) 不是 JSON 可序列化