Могу ли я один раз подтвердить свой домен в AWS SES и разрешить другим моим учетным записям использовать его?

#amazon-web-services #terraform #amazon-iam #amazon-ses

Вопрос:

Я успешно проверил свой домен в AWS SES в одной учетной записи. Я хотел бы, чтобы мои другие учетные записи отправлялись с этого домена, и поэтому я создал политику авторизации с учетом этого (через Terraform).:

 data "aws_iam_policy_document" "this" {
 statement {
   actions   = ["ses:SendEmail", "ses:SendRawEmail"]
   resources = ["${aws_ses_domain_identity.this.arn}"]
   effect    = "Allow"

   principals {
     identifiers = ["123456789100", "1234567890101", "1234567890102"]
     type        = "AWS"
   }
  }
}
 

и прикрепил это к проверенному домену.

Однако, когда я пытаюсь отправить с другой учетной записи (указанной в группе идентификаторов выше) Я не могу отправить, получив сообщение об ошибке:

 554 Access denied: User `arn:aws:iam::1234567890101:user/ses_user' is not authorized to perform `ses:SendRawEmail' on resource `arn:aws:ses:eu-west-1:1234567890101:identity/my.name@domain.com'
 

Пользователь ses_ в этой учетной записи имеет следующую политику IAM (опять же, в TF):

 data "aws_iam_policy_document" "ses_user" {
  statement {
    actions   = ["ses:SendEmail", "ses:SendRawEmail"]
    resources = ["*"]
  }
}
 

У меня сложилось впечатление, что здесь возможна отправка электронной почты между учетными записями. Я ошибаюсь? Возможно, я что-то упускаю.

Спасибо

источники:
https://docs.aws.amazon.com/ses/latest/dg/sending-authorization-policy-examples.html
https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy

Ответ №1:

Ответов нет, но я понимаю, что это можно сделать с делегированными отправителями. Пользователь отправителя SMTP должен включать заголовки X в электронное письмо при его отправке (они удаляются SES перед отправкой). Затем для проверенного домена просто требуется политика аутентификации SES, позволяющая идентификатору учетной записи делегированной учетной записи отправлять электронные письма. Это может быть связано с другими условиями (т. Е. Может быть отправлено только в определенные пункты назначения) в той же политике, как указано здесь:

https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-identity-owner-tasks-policy.html

Смотрите также:

https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-delegate-sender-tasks-email.html

Я решил не идти по этому пути, но это возможно.

Для примера того, как вставлять заголовки, вы можете использовать Postfix, например, в этом случае используйте header_checks с директивой prepend:

http://www.postfix.org/header_checks.5.html