【问题标题】:error 403 while building the app in AWS amplify在 AWS 放大中构建应用程序时出现错误 403
【发布时间】:2021-01-23 15:05:56
【问题描述】:

我试图在 AWS 中构建一个简单的无服务器 Web 应用程序。因此,我将我的静态文件放入 codecommit 并尝试通过 AWS Amplify 托管它。AWS 默认为我们构建 amplify.yml,但它在构建阶段失败。我知道 amplify.yml 有问题,不知道如何配置它。

放大.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

【问题讨论】:

    标签: amazon-web-services aws-amplify http-status-code-403 aws-serverless aws-codecommit


    【解决方案1】:

    由于提供的信息量有限,我能提供的最好的信息是问题出在您对 CodeCommit 用户的 IAM 权限的某个地方。 AWS 组件通常需要具有适当的组、角色和/或策略才能完成操作。

    换一种说法:CodeCommit 给出了 403 Forbidden 错误,因为尝试进行克隆的任何东西都没有正确的权限。授予它正确的权限。

    【讨论】:

      【解决方案2】:

      您可以通过导航到 AWS Amplify > General(在左侧列中)找到 Amplify 用于运行其构建的执行角色。在“设置”部分下,您将看到“服务角色”字段的值。它看起来像这样:“arn:aws:iam:::role/service-role/AWSAmplifyExecutionRole-xxxx”。

      找到后,导航到 IAM > Roles 并搜索您刚刚找到的服务角色 (AWSAmplifyExecutionRole-xxxx) 并单击它。然后单击“附加策略”。搜索“AWSCodeCommitReadOnly”策略并将其附加到角色。

      您现在应该能够在 Amplify 构建中克隆您的 CodeCommit 存储库。

      【讨论】:

      • 这应该被标记为答案。当我使用与在放大“网络”控制台中使用的不同的 IAM 用户提交代码时(同时遵循 wildrydes 教程),我遇到了这个问题。我创建了一个单独的用户来了解如何隔离用户和权限,但这在我尝试部署时导致了这个 403 错误。
      猜你喜欢
      • 2017-10-29
      • 1970-01-01
      • 1970-01-01
      • 2022-06-15
      • 1970-01-01
      • 1970-01-01
      • 2019-03-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多