AWS Ошибка усиления SNSRole при попытке сделать усиливающий толчок - PullRequest
0 голосов
/ 30 января 2020

У моей компании есть проект Amplify с 2 различными средами (prod, dev) с Cognito и несколькими лямбдами и apis. Все работало нормально, пока я не попытался выполнить команду amplify push для обновления одной лямбда-функции. Вот ошибка из CloudFormation на панели инструментов AWS:

Недопустимый принципал в политике: «СЕРВИС»: «cognito-.amazon aws .com» (Сервис: AmazonIdentityManagement; Код состояния: 400 ; Код ошибки: MalformedPolicyDocument; Идентификатор запроса: 169462d5-58fb-40af-9c2d-69178442ecd6)

А вот ошибка с выхода amplify push:

UPDATE_FAILED SNSRole
AWS :: IAM :: Роль Чт 30 января 2020 13:46:08 GMT-0200 (летнее время в Бразилии) Недопустимый принципал в политике: «СЕРВИС»: «cognito-.amazon aws .com» ( Сервис: AmazonIdentityManagement; Код состояния: 400; Код ошибки: MalformedPolicyDocument; Идентификатор запроса: 56f492a2-c40e-4827-8c53-07cdf44bc780)

Как видите, в файле формирования облаков есть ошибка Cognito, но есть текущая конфигурация SNSRole:

  # BEGIN SNS ROLE RESOURCE
  SNSRole: 
  # Created to allow the UserPool SMS Config to publish via the Simple Notification Service during MFA Process
    Type: AWS::IAM::Role
    Properties:
      RoleName: !Ref roleName
      AssumeRolePolicyDocument: 
        Version: "2012-10-17"
        Statement: 
          - Sid: ""
            Effect: "Allow"
            Principal: 
              Service: "cognito-idp.amazonaws.com"
            Action: 
              - "sts:AssumeRole"
            Condition: 
              StringEquals:
                sts:ExternalId: !Ref roleExternalId
      Policies: 
        - 
          PolicyName: !Ref policyName
          PolicyDocument: 
            Version: "2012-10-17"
            Statement: 
              - 
                Effect: "Allow"
                Action: 
                  - "sns:Publish"
                Resource: "*"

1 Ответ

1 голос
/ 11 февраля 2020

Проверяли ли вы содержимое корзины S3, которая управляет вашей средой? У нас была похожая проблема, и мы обнаружили, что, хотя наша локальная конфигурация SNSRole была правильной, файл шаблона CloudFormation корзины S3 был старым и все еще имел проблему «cognito-.amazon ...».

Попробуйте чтобы исправить это локально, добавьте pu sh в облако, и он заменит файл удаленного шаблона CloudFormation на правильный.

Надеюсь, все получится!

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