web-dev-qa-db-ja.com

ソースのダウンロード中にAWS Codebuildが失敗します。メッセージ:アクセスが拒否されました

node8のdockerイメージ を使用するCodeBuildプロジェクトを作成しました。このCodeBuildプロジェクトの目的は、単体テストを行うことです。 CodeCommitから入力アーティファクトを取ります。そしてbuildspec.ymlでテストコマンドを実行します。

これは私の(単純な)buildspecファイルです:

version: 0.2

phases:
  install:
    commands:
     - echo "install phase started"
     - npm install
     - echo "install phase ended"
  pre_build: 
    commands:
     - echo "pre_build aka test phase started"
     - echo "mocha unit test"
     - npm test
     - echo "mocha unit test ended"
  build:
    commands:
     - echo "build phase started"
     - echo "build complete"

ビルドはDOWNLOAD_SOURCEフェーズで次のように失敗します。

フェーズ-DOWNLOAD_SOURCE

開始時間2分前

終了時間2分前

Messageアクセスが拒否されました

ビルドログの唯一のログは次のとおりです

[コンテナ] 2018/01/12 11:30:22エージェントのpingを待っています

[コンテナ] 2018/01/12 11:30:22 DOWNLOAD_SOURCEを待機しています

前もって感謝します。

CodeBuildポリシーのスクリーンショット。

enter image description here

9

修正を見つけました。それは私の許可の問題でした。これを機能させるために追加しました。

{
"Version": "2012-10-17",
"Statement": [
    {
        "Effect": "Allow",
        "Resource": [
            "arn:aws:logs:eu-west-1:723698621383:log-group:/aws/codebuild/project",
            "arn:aws:logs:eu-west-1:723698621383:log-group:/aws/codebuild/project:*"
        ],
        "Action": [
            "logs:CreateLogGroup",
            "logs:CreateLogStream",
            "logs:PutLogEvents"
        ]
    },
    {
        "Effect": "Allow",
        "Resource": [
            "arn:aws:s3:::codepipeline-eu-west-1-*"
        ],
        "Action": [
            "s3:PutObject",
            "s3:GetObject",
            "s3:GetObjectVersion"
        ]
    },
    {
        "Effect": "Allow",
        "Action": [
            "ssm:GetParameters"
        ],
        "Resource": "arn:aws:ssm:eu-west-1:723698621383:parameter/CodeBuild/*"
    }
  ]
}
9

同様のエラーが発生したため、他の人に役立つ場合に備えて修正を投稿します。私はCodePipelineを使用していて、2つの別々のビルドが行われていました。ビルド#1はそのビルドを完了し、その出力アーティファクトはビルド#2の入力アーティファクトになります。ビルド2は、DOWNLOAD_SOURCEフェーズで次のエラーで失敗していました。

AccessDenied: Access Denied status code: 403

問題は、ビルド#1のビルド仕様で、アーティファクトが定義されていないことでした。ビルド#1でアーティファクトファイル/フォルダーを呼び出した後、ビルド#2は問題なくソースをダウンロードできました。

2
Sina Motamedi