首页 > 解决方案 > 您的函数的执行角色无权将结果发送到目标

问题描述

我想将消息从 lambda 函数发送到 SNS。当我尝试添加目的地“SNS”时,就会出现此错误。什么是 IAM 政策,我错过了?我添加了 AWSLambdaFullAccess 和 AmazonSNSFullAccess IAM 策略。

在此处输入图像描述

标签: amazon-web-servicesamazon-ec2aws-lambdaamazon-iamamazon-sns

解决方案


问题不在于 lambda 执行策略,而是您(您的IAM 用户)没有执行权限iam:AttachRolePolicy

原因是 lambda 会将以下服务角色策略添加到您的函数执行角色中,而不管您是否已经拥有该角色AmazonSNSFullAccess

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "sns:Publish",
            "Resource": "arn:aws:sns:region:xxxx:testTopic"
        }
    ]
}

您必须为登录控制台时使用的 IAM 用户添加缺少的权限。


推荐阅读