ошибка 403 при создании приложения в AWS amplify

#amazon-web-services #aws-amplify #http-status-code-403 #aws-serverless #aws-codecommit

#amazon-web-services #aws-amplify #http-status-code-403 #aws-бессерверный #aws-codecommit

Вопрос:

Я пытался создать простое веб-приложение без сервера в AWS. Итак, я поместил свои статические файлы в codecommit и попытался разместить их через AWS Amplify.AWS по умолчанию создает для нас amplify.yml, но на этапе сборки происходит сбой. Я понял, что в amplify.yml что-то не так, и я не понимаю, как его настроить.

amplify.yml :

 version: 1
frontend:
  phases:
    # IMPORTANT - Please verify your build commands
    build:
      commands: []
  artifacts:
    # IMPORTANT - Please verify your build output directory
    baseDirectory: /
    files:
      - '**/*'
  cache:
    paths: []
 

ошибка, которую я показал:

 2021-01-23T15:01:54.840Z [INFO]: # Cloning repository: https://git-codecommit.us-east- 
2.amazonaws.com/v1/repos/wildrydes-site
2021-01-23T15:01:55.176Z [INFO]: Cloning into 'wildrydes-site'...
2021-01-23T15:02:02.660Z [INFO]: fatal: unable to access 'https://git-codecommit.us-east- 
2.amazonaws.com/v1/repos/wildrydes-site/': The requested URL returned error: 403
 

Ответ №1:

Учитывая ограниченный объем предоставленной информации, лучшее, что я могу предложить, это проблема где-то в ваших привилегиях IAM для вашего пользователя CodeCommit. Для завершения действия компонентам AWS обычно требуется соответствующая группа, роль и / или политика.

Другими словами: CodeCommit выдает ошибку 403 Forbidden, потому что все, что пытается выполнить клонирование, не имеет правильных разрешений. Предоставьте ему правильные разрешения.

Ответ №2:

Вы можете найти роль выполнения, которую Amplify использует для запуска своих сборок, перейдя в AWS Amplify> Общие (в левой колонке). В разделе настроек вы увидите значение для поля «Роль службы». Это будет выглядеть примерно так: «arn: aws:iam :::role / service-role /AWSAmplifyExecutionRole-xxxx».

Как только вы обнаружите это, перейдите в IAM> Роли и найдите только что найденную служебную роль (AWSAmplifyExecutionRole-xxxx) и щелкните по ней. Затем нажмите «Прикрепить политики». Найдите политику «AWSCodeCommitReadOnly» и прикрепите ее к роли.

Теперь вы должны иметь возможность клонировать свой репозиторий CodeCommit в сборке Amplify.

Комментарии:

1. Это должно быть отмечено как ответ. Я столкнулся с этим, когда я зафиксировал код (следуя руководству wildrydes), используя другого пользователя IAM, чем я использовал в консоли amplify «web». Я создал отдельного пользователя, чтобы понять, как я буду разделять пользователей и разрешения, но затем это привело к этой ошибке 403 при попытке развертывания.