#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 при попытке развертывания.