ビルドプロジェクト用に作成されたサービスロールに、追加のポリシーアクセス許可を追加できる必要があります。 CodeBuildはビルド時にそのポリシーを使用して、ビルドインスタンス内でアクションを実行します。あなたは、ビルド時にS3からオブジェクトを削除したい場合
たとえば、あなたがあなたのサービスの役割のポリシーに次のステートメントを追加する必要があります。
{
"Effect": "Allow",
"Resource": [
"*"
],
"Action": [
"s3:DeleteObject"
]
}
注を:あなたはこれらを制限することを望むかもしれません上記の例では、アカウント内のすべてのものに対してDeleteObjectが許可されています。
CodeBuildコンソールで最初に実行されたウィザードを使用してプロジェクトをセットアップした場合は、s3:GetObjectおよびs3:GetObjectVersionのサービスロールにポリシーが既に存在しているはずです。コンソールを使用して作成する場合のサービスロール名は、デフォルトで 'codebuild- [プロジェクト名] -service-role'です。
出典
2016-12-09 17:09:20
Bri
サービスの役割はサービスにのみ影響し、ビルドコンテナには影響しないと考えました。これをもう一度試して、buildspec.ymlにs3コマンドラインを追加します。おそらく私のs3クライアントはコンテナアイデンティティプロバイダを使用できませんでした。 –
s3にアクセスするために使用していたmavenライブラリがコンテナの資格情報で動作しなかったため、私は役割を果たさなかった。すべて今良い。 –
@DanielSperryはあなたの正確な解決策が何であるかはわかりませんでしたが、同様の問題があった可能性があり、回避策を投稿しました。http://stackoverflow.com/questions/42794486/use-appropriate-ecs-credentials-on- codebuild-maven-job/42799591#42799591 – Neil