我应该如何编写IAM以使某个VPC只能通过SES发送邮件



我在EC2实例上使用Redash,并且我必须通过Amazon SES发送邀请邮件
我想添加一个设置,将邮件发件人限制在Redash实例所在的某个VPC内。

这是我的SES: IAM

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "ses:SendRawEmail",
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:SourceVpce": "vpce-******"
},
"ForAnyValue:StringLike": {
"ses:Recipients": "*@mycompany.com"
}
}
}
]
}

但是我不能寄任何邮件。我想这是因为我在上面的代码中使用了VPC端点。SES还没有提供
是否有其他方法可以指定某个专有网络?

这是一个有趣的挑战!

亚马逊SES接口在互联网上,所以理论上任何人都可以访问它。通常,策略限制使用IAM用户或角色的权限来确定是否允许呼叫SES,而不是从哪里进行呼叫。

我想你这样做是因为你只想让你的生产系统发送电子邮件,而不是开发/测试系统。

然而,不可能通过VPC进行限制,因为Amazon SES无法了解VPC的概念。它只是通过互联网接收API调用。

如果您的应用程序位于专用子网中,并且通过NAT网关发送请求,则可以添加一个策略,根据NAT网关的IP地址进行限制。

您可以通过对Allow语句进行限制或添加Deny语句来实现这一点。

参见:AWS:基于源IP拒绝访问AWS-AWS身份和访问管理

相关内容

  • 没有找到相关文章

最新更新