我正在尝试使用AWS Lambda函数中的Amazon SES发送电子邮件,为此我遇到以下错误。
AccessDenied:用户
arn:aws:sts::XXXXX:assumed-role/lambda_basic_execution/awslambda_XXXX' is not authorized to perform
ses:资源上的SendEmail'arn:aws:ses:us-west-2:XXX:identity /[email protected]'
我已经批准了
用于IAM角色的“ses:SendEmail”,“ses:SendRawEmail”。
经过长时间的调试我遇到了问题,“lambda_basic_execution”角色需要被授予访问“ses:SendEmail”,“ses:SendRawEmail”的权限。
我试图为我创建的新IAM角色授予权限,但lambda函数映射到“lambda_basic_execution”,因此存在不匹配。
所以,我也有同样的问题,Rakesh已经解释过,但是无法理解他所说的步骤,这里是一个详细的解释步骤。
您需要执行以下安全性,身份和合规性 - > IAM - >角色 - >选择您的lambda函数 - >然后编辑策略 - >在JSON中打开它并添加以下部分
{
"Effect":"Allow",
"Action":[
"ses:SendEmail",
"ses:SendRawEmail"
],
"Resource":"*"
}
或者您可以根据这些政策示例https://docs.aws.amazon.com/ses/latest/DeveloperGuide/control-user-access.html#iam-and-ses-examples-email-sending-actions的要求进行操作,您需要先验证电子邮件地址,所以不要忘记这一点。希望这有助于每个人。