Сбой скрипта AWS CloudFormation - Cognito не разрешено использовать вашу электронную почту - PullRequest
0 голосов
/ 17 ноября 2018

Я пытаюсь создать сценарий 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

Я не уверен, что я здесь не так делаю ...

1 Ответ

0 голосов
/ 29 ноября 2018

Отвечая на мой вопрос в интересах других.AWS SES имеет собственную управляемую идентификацию для электронных писем, требуя от пользователя подтвердить право собственности на электронную почту, прежде чем она будет использована другими службами AWS.Мое решение состояло в том, чтобы вручную настроить учетную запись электронной почты SES с помощью портала AWS, проверить учетную запись электронной почты, а затем обратиться к ARN для идентификации, созданной в SES, для электронной почты в моем скрипте CloudFormation.Возможно, в будущем у AWS будет возможность создать удостоверение SES с помощью сценариев CloudFormation, но в настоящее время кажется, что для начальной настройки требуется ручной процесс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...