Amazon web services AWS Cron作业与lambdas
我想使用lambda函数为我的应用程序设置cron作业。 我当前的架构由一个负载平衡器后面的自动伸缩组组成,两者都位于同一VPC内。 我的意图是使用lambdas调用应用程序的特定路径,例如“/cron/task1”,并使用类似cron的语法定期调用它们。Amazon web services AWS Cron作业与lambdas,amazon-web-services,aws-lambda,aws-cdk,Amazon Web Services,Aws Lambda,Aws Cdk,我想使用lambda函数为我的应用程序设置cron作业。 我当前的架构由一个负载平衡器后面的自动伸缩组组成,两者都位于同一VPC内。 我的意图是使用lambdas调用应用程序的特定路径,例如“/cron/task1”,并使用类似cron的语法定期调用它们。 如何保护我的应用程序,使这些端点只能从lambda函数访问,而不能从vpc外部访问,同时允许最终用户访问应用程序的所有其他路径?您可能需要Api授权。最简单的方法之一(不是最安全的)是 lambda和应用程序共享一个共同的秘密 当lambd
如何保护我的应用程序,使这些端点只能从lambda函数访问,而不能从vpc外部访问,同时允许最终用户访问应用程序的所有其他路径?您可能需要Api授权。最简单的方法之一(不是最安全的)是
- lambda和应用程序共享一个共同的秘密
- 当lambda向您的应用程序发出请求时,您可以像这样散列所有查询参数李>
{
"a": "val",
"b": "foobar"
"c": "some",
}
- 通过使用共享公共密钥,您可以散列所有这些密钥,并生成一个新字符串,例如
cf23df2207d99a74fbe169e3eba035e633b65d94
- 当您的应用程序收到此请求时,它会取出令牌并对其余部分进行排序(使用的顺序与lambda相同),并使用相同的密钥创建散列
- 如果哈希匹配,那么您就知道它来自lambda,因为它们都知道相同的秘密。如果不是,那么您可以放弃该请求
您可以保留这些秘密,以使其不公开并更加安全。您可以创建一个lambda来调用path/cron/task1,并使用具有适当规则的cloudwatch事件调用lambda(例如,每隔固定时间间隔触发一次事件)