要允许AWS服务调用lambda函数,您需要应用权限。此权限的json
可能看起来像这样:
{
"FunctionName": "someFunction",
"StatementId": "1",
"Action": "lambda:InvokeFunction",
"Principal": "codecommit.amazonaws.com",
"SourceArn": "arn:aws:codecommit:us-east-1:80398EXAMPLE:MyDemoRepo",
"SourceAccount": "80398EXAMPLE"
}
以上摘自http://docs.aws.amazon.com/codecommit/latest/userguide/how-to-notify-lambda.html
使用命令行界面(cli)添加权限很容易。见http://docs.aws.amazon.com/cli/latest/reference/lambda/add-permission.html。并且可以使用http://docs.aws.amazon.com/cli/latest/reference/lambda/remove-permission.html
中的命令将其删除我无法找到的是列出现有权限的方法。我在Lambda和IAM GUI中随处可见。我在http://docs.aws.amazon.com/cli/latest/reference/lambda/index.html#cli-aws-lambda查看了Lambda的cli命令列表 - 似乎没有列出权限的命令。我还在http://docs.aws.amazon.com/cli/latest/reference/iam/index.html#cli-aws-iam看了一下iam的命令。什么都没有。
所以问题:如何获得Lambda权限列表?我在这里缺少什么,如果实际上不可能,为什么?希望那里的一些AWS专家能够阐明这个
答案 0 :(得分:12)
这个也困惑了我。您可以使用AWSCLI中的aws lambda add-permission
命令向Lambda函数添加权限。您可以使用aws lambda remove-permission
删除权限。但要查看现有权限,请使用aws lambda get-policy
。
答案 1 :(得分:0)
我不是AWS专家,不过这是我的建议:
转到lambda函数详细视图并转到“事件源”选项卡。它列出了所有源,允许将内容推送到lambda函数。从那里开始,您可以转到单个事件源以查看已授予的确切权限(通常是执行权限,如您的语句策略所示)。
希望有所帮助。