如何为 tomcat beanstalk 设置正确的 SES 身份策略?

Posted

技术标签:

【中文标题】如何为 tomcat beanstalk 设置正确的 SES 身份策略?【英文标题】:How to set correct SES Identity Policy for a tomcat beanstalk? 【发布时间】:2021-09-09 03:44:29 【问题描述】:

我想从 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"
        
    ]

但我仍然收到错误消息。为什么?

【问题讨论】:

请格式化您问题中的代码示例。 对不起我的格式,这是我关于茎溢出的第一个问题我已经花了一些时间尝试从 tomcat beanstalk 发送电子邮件。在本地主机上一切正常。 【参考方案1】:

我发现解决方案是从身份和访问管理 (IAM) 创建一个策略

    转到身份和访问管理 (IAM) 仪表板 > 客户管理的策略 为 SES 服务创建策略(在我授予访问所有 ARN 的资源中) 附加 ec2 角色

【讨论】:

以上是关于如何为 tomcat beanstalk 设置正确的 SES 身份策略?的主要内容,如果未能解决你的问题,请参考以下文章

如何为 Elastic Beanstalk 应用程序正确配置 Spring Datasource?

如何为 Elastic Beanstalk DOCKER 环境设置永久 DNS 名称?

如何为 tomcat 6 及其部署的 webapps 正确配置 JNDI?

如何在 AWS Elastic Beanstalk 环境中将 Tomcat 的 URIencoding 设置为 UTF8?

如何为 Elastic Beanstalk 配置 Laravel?

如何为不同的弹性 beanstalk 环境添加不同的 option_settings?