隐藏Aws Lambda函数内联代码

时间:2016-07-21 01:44:55

标签: amazon-web-services aws-lambda

我创建了一个AWS lambda函数,并使用"上传Zip文件"从本地计算机上传了.py文件的压缩版本。 option.But当调用lambda函数时,代码在内联编辑器中可见。我不希望代码在内联编辑器中可见,因为它给了某人编辑代码的机会..

请建议!!

2 个答案:

答案 0 :(得分:3)

Lambda函数的代码将始终可用于在内联编辑器中编辑或下载(--batch_1234567 Content-Type:multipart/mixed;boundary=changeset_555666 --changeset_555666 Content-Type:application/http Content-Transfer-Encoding:binary Content-ID:1 POST https://yourTenant.api.crm.dynamics.com/api/data/v8.0/accounts HTTP/1.1 Content-Type:application/json;type=entry {name: 'BatchJobTest788'} --changeset_555666 Content-Type:application/http Content-Transfer-Encoding:binary Content-ID:2 POST https://yourTenant.api.crm.dynamics.com/api/data/v8.0/accounts HTTP/1.1 Content-Type:application/json;type=entry {new_name: 'BatchJobTest348'} --changeset_555666-- --batch_1234567-- )。

我假设您的问题可能是代码中可能存在的秘密或凭据,那么此处的问题不是代码可以从控制台读取或下载,而是您自己没有充分保护它们。请看一下Stack Overflow上的以下问题,它回答了这个问题:How to (properly) use external credentials in an AWS Lambda function?

您仍然可以使用以下访问策略声明限制AWS账户中其他IAM用户对Lambda的访问:

Actions > Download function code

或者更具体的是,如果您只是想拒绝访问列表并使用{ "Action": "lambda:*", "Effect": "Deny", "Resource": "arn:aws:lambda:<region>:<account>:*" } lambda:GetFunction显示Lambda函数。

答案 1 :(得分:-2)

也许已经很晚了,但我遇到了同样的问题。

为我工作的是什么:

  • 将ZIP的大小增加到&gt; 10MB(如果代码总计不超过10 MB ,您可以将任何额外的目录添加到zip中。)
  • 压缩文件并在根目录中保留index.js(节点运行时的,您可以使用.py )。
  • S3上载的文件(直接上传你的ZIP也有效)。

在保存功能时,您将看到以下内容:

  

yourLambda函数“function_name”的部署包太大,无法启用内联代码编辑。但是,您现在仍然可以调用您的功能。

唯一关心的是,它可能会累积到您的S3账单(~10 MB)。