在AWS上使用Lambda创建内部API

Sha*_*ish 4 lambda amazon-web-services aws-lambda

我想使用AWS Labmda + API Gateway构建一个无服务器系统,其中我将有一些公共API和一些其他API仅供内部使用(所有这些都将使用Lambda函数和Node JS实现).

我的问题具体是关于如何创建那些不会暴露给外部世界但只暴露给少数lambda函数的内部API.

我知道网关中定义的所有API都是公开的.如何管理API的调用者只能来自我自己认可的AWS资源(特别是我的Lambda函数)?

我知道可能的答案是直接调用Lambda函数而不是通过API网关.这当然会起作用,但这里的缺点是它将实现耦合到AWS,而我正在尝试获得构建Node微服务的解决方案,这些解决方案通过REST API相互调用.

谢谢.

Mar*_*k B 5

如此处所述:

要为方法分配自定义访问权限,请在"授权设置"区域中为"授权类型"选择"编辑",然后选择"AWS_IAM".只有附加了正确IAM策略的IAM角色才允许调用此方法.

然后,您只需要为Lambda函数分配适当的IAM角色,以允许它们调用这些私有API网关方法.

  • 谢谢.通过更仔细地阅读本文,我发现将其作为直接的HTTPS请求并不是那么简单,因为如果您不使用AWS SDK,则需要做一些相关工作来验证请求(请参阅http:// docs .aws.amazon.com /一般/最新/克/ signing_aws_api_requests.html).我希望AWS能在内部采用所有这些.我想内部API网关对我来说可能很有用(但不幸的是它不存在). (2认同)