2
我正在使用我用来运行Lambda函数的用户角色之一的访问策略。我有这样的:lambda:InvokeFunction不能与所有资源一起使用设置
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "arn:aws:logs:*:*:*"
},
{
"Effect": "Allow",
"Action": "lambda:InvokeFunction",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "ec2:DescribeInstances",
"Resource": "*"
}
]
}
据我所知,我的资源设置为*
是不是最好的做法,但我只是想在我缩小在它的最锁定版本,以获得它的工作。
当我测试lambda函数就这样说:
ClientError: An error occurred (AccessDeniedException) when calling the Invoke operation: User: arn:aws:sts::{NUMBERS}:assumed-role/{ROLE_NAME}/awslambda_{NUMBERS}_{NUMBERS} is not authorized to perform: lambda:InvokeFunction on resource: arn:aws:lambda:us-east-1:{NUMBERS}:function:{FUNCTION_NAME}
我明明掩盖它的一些上面的花括号和文字,但上面的ROLE_NAME匹配,我编辑的角色名政策。我不确定它为什么会失败。我尝试了这些资源:
arn:aws:lambda:*:*:*:*
arn:aws:lambda:*:*:*
那些不起作用。所以我尝试了很宽泛的,我试图缩小它,没有任何工作。还有什么我必须做的让这些坚持?我在一个屏幕上打开IAM策略窗口,在另一个屏幕上打开lambda表达式,所以我在更新策略之后立即测试,但我也完全注销并重新登录以查看是否存在某些内容。这并没有解决它。
任何想法?