问题描述
我想从 tomcat beanstalk 发送电子邮件,但收到以下错误消息
用户“arn:aws:sts::123:assumed-role/aws-elasticbeanstalk-ec2-role/i-123”无权对资源“arn:aws”执行“ses:SendEmail”: ses:eu-central-1:123:identity/example.com' (服务:Ses,状态码:403,请求ID:2a82693d-3344-4b53-8c8c-ef347c23cd29,扩展请求ID:null)
我已在 example.com 上的 SES 控制台中声明以下身份策略
{
"Version": "2008-10-17","Statement": [
{
"Sid": "stmt1624645438239","Effect": "Allow","Principal": {
"AWS": "arn:aws:sts::123:assumed-role/aws-elasticbeanstalk-ec2-role/i-123"
},"Action": "ses:SendEmail","Resource": "arn:aws:ses:eu-central-1:123:identity/example.com"
}
]
}
但我仍然收到错误消息。为什么?
解决方法
我发现解决方案是从身份和访问管理 (IAM) 创建策略
- 转到身份和访问管理 (IAM) 仪表板 > 客户管理的政策
- 为 SES 服务创建策略(在我授予所有 ARN 访问权限的资源中)
- 附加 ec2 角色