1 Answer
- Newest
- Most votes
- Most comments
0
Hi, In order to grant cross account access, the SES permissions must be granted on both ends, the SES centralized account and on the sandbox accounts. In the SES centralized account you define an authorization policy that grant access to accounts in the specific OUs. E.g.:
{
"Version": "2012-10-17",
"Id": "SampleAuthorizationPolicy",
"Statement": [
{
"Sid": "AuthorizeIdentity",
"Effect": "Allow",
"Principal": "*",
"Action": [
"ses:SendEmail",
"ses:SendRawEmail"
],
"Resource": "arn:aws:ses:<region>:<ses account>:identity/me@ourcompany.com",
"Condition": {
"StringLike": {
"ses:FromAddress": "me@ourcompany.com"
},
"ForAnyValue:StringLike": {
"aws:PrincipalOrgPaths": ["o-myorganization/Prod/*", "o-myorganization/Sandbox/*"]
}
}
}
]
}
(disclaimer: the authorization policy is just an example, it has not been tested)
In the Sandbox accounts you grant IAM entity (role, user, group), preferably an IAM role, the desired SES permissions.
Relevant content
- asked a year ago
- AWS OFFICIALUpdated a year ago

Half the story seems to be documented under "Setting up sending authorization across accounts" in https://aws.amazon.com/blogs/messaging-and-targeting/complying-with-dmarc-across-multiple-accounts-using-amazon-ses/ but that policy alone isn't enough. I guess the sandbox account also needs some policy to "call out".