我在访问 AWS Lambda 函数时遇到一个奇怪的问题。更准确地说,每当我尝试进入仪表板或查看功能列表时,我都会收到拒绝访问的消息“UnknownError”(如屏幕上所示)。我的同事也是如此(只有我们可以访问 AWS 资源)。最重要的是,显然我们的 lambda 函数也停止工作了。
我们以为这只是亚马逊方面的一个错误,它会自行修复,但已经过去两天了,我自己无法找到任何信息或解决方案来解决这个问题。我们无法联系 AWS 支持,因为显然它需要单独的订阅。
有人遇到过这样的问题吗?原因是什么?
注意: 我拥有完整的管理权限。 IAM 角色没有以任何方式更改。存在以下权限:
"Effect": "Allow",
"Action": [
...
"lambda:CreateEventSourceMapping",
"lambda:CreateFunction",
"lambda:DeleteEventSourceMapping",
"lambda:DeleteFunction",
"lambda:GetFunctionConfiguration",
"lambda:ListEventSourceMappings",
"lambda:ListFunctions",
...
],
"Resource": "*"
.
"Action": [
...
"lambda:Create*",
"lambda:Delete*",
"lambda:Get*",
"lambda:InvokeFunction",
"lambda:PublishVersion",
"lambda:Update*",
"lambda:List*",
...
],
"Effect": "Allow",
"Resource": "*"
如果你检查 Dashboard 上的开发者工具,你可以看到它向一堆非 Lambda 端点发出请求,主要与 CloudWatch 相关:
monitoring.<region>.amazonaws.com
logs.<region>.amazonaws.com
仪表板包含来自 CloudWatch 的指标,这些指标需要 Lambda 命名空间之外的权限。我没有进行深入研究,但我看到的一些操作是:
cloudwatch:DescribeMetricFilters
cloudwatch:GetMetricData
您可能应该将这些添加到您的政策中。