Я пытаюсь создать сценарий CloudFormation, который устанавливает пул пользователей Cognito и настраивает его для использования настраиваемой электронной почты для отправки пользователям их кода проверки в процессе регистрации (например, FROM: noreply@mydomain.com).
Я получаю эту ошибку при выполнении моего скрипта AWS CloudFormation:
"ResourceStatusReason": "Cognito is not allowed to use your email identity (Service: AWSCognitoIdentityProvider; Status Code: 400; Error Code: InvalidEmailRoleAccessPolicyException;
Я прикрепил Политику для Cognito, чтобы использовать мою идентификационную информацию электронной почты SES, например, noreply@mydomain.com.Я вручную настроил и проверил это удостоверение электронной почты в SES перед запуском сценария CloudFormation.
Вот моя конфигурация CloudFormation для политики, позволяющей Cognito отправлять электронные письма от моего имени, например, с noreply@mydomain.com:
CognitoSESPolicy:
Type: AWS::IAM::ManagedPolicy
Description: "Allow Cognito the send email on behalf of email identity (e.g. noreply@example.org)"
Properties:
PolicyDocument:
Version: 2012-10-17
Statement:
- Sid: "ucstmnt0001"
Effect: "Allow"
Action:
- "ses:SendEmail"
- "ses:SendRawEmail"
Resource: !FindInMap [ environment, !Ref "Environment", emailARN ]
SESRole:
Type: AWS::IAM::Role
Description: "An IAM Role to allow Cognito to send email on behalf of email identity"
Properties:
RoleName: uc-cognito-ses-role
ManagedPolicyArns:
- Ref: CognitoSESPolicy
AssumeRolePolicyDocument:
Version: 2012-10-17
Statement:
- Effect: Allow
Action:
- sts:AssumeRole
Principal:
Service:
- cognito-idp.amazonaws.com
DependsOn: CognitoSESPolicy
Я не уверен, что я здесь не так делаю ...