如何调用函数的 AWS Lambda 权限列表

How to call a list of AWS Lambda permissions for a function

要允许 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. And it can be removed using the command at 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 - there seems to be no command to list permissions. I also looked at the iam commands for a laugh at http://docs.aws.amazon.com/cli/latest/reference/iam/index.html#cli-aws-iam 查看了 Lambda 的 cli 命令列表。那里什么都没有。

所以问题是:你如何获得 Lambda 权限列表? 我在这里缺少什么,如果它实际上是不可能的,为什么?希望一些 AWS 专家可以阐明这一点

我不是 AWS 专家,但我的建议是:

转到您的 lambda 函数详细视图并转到 "Event Sources" 选项卡。它列出了所有源,允许将内容推送到您的 lambda 函数。从那里您可以转到各个事件源以查看授予的确切权限(通常是执行权限,如您的声明策略所示)。

希望对您有所帮助。

这个也让我很困惑。您可以在 AWSCLI 中使用 aws lambda add-permission 命令向 Lambda 函数添​​加权限。您可以使用 aws lambda remove-permission 删除权限。但是要查看您使用的现有权限 aws lambda get-policy.