获取AWS Lambda函数URL的禁止错误



我创建了一个带有lambda函数url的基本lambda。

auth_type = aws_iam

在基于lambda资源的策略中为ec2角色允许的权限。

在策略中为ec2实例创建了一个具有完全lambda权限的角色,并将其附加到ec2实例。

当从ec2调用它时,如下所示,它出现了被禁止的错误。

curl "https://<url-id>.lambda-url.<region>.on.aws"

我已尝试将auth_type设置为none。它有效,但当我尝试将auth_type作为aws_iam时不起作用。

如文档中所述,要用AWS_IAM调用lambda url,您必须通过构造具有您签名的特殊url来对您的url请求进行签名。请查看有关如何为URL请求构造有效签名的文档。

只需在前面的答案中添加更多细节,就可以使用以下命令调用Lambda URL:

curl --aws-sigv4 "aws:amz:<REGION>:lambda" 
--user "<ACCESS-KEY-ID>:<SECRET-KEY-ID>" 
'https://<URL-ID>.lambda-url.<REGION>.on.aws/?message=HelloWorld' 
-H 'content-type: application/json' 
-d '{ "key": "value" }'

我在请求中添加了常用参数,以防您也需要传递它们。

最新更新