7

CodeShip を使用して Elastic Beanstalk アプリをデプロイするための適切な S3 アクセス許可は何ですか? 新しいバージョンを Tomcat アプリにデプロイすると、次のエラーが発生します。

サービス:Amazon S3、メッセージ:「s3:ListBucket」アクションを実行する権限がありません。S3 ポリシーと ACL でこれらのアクションを実行できることを確認します。

サービス:Amazon S3、メッセージ:「s3:GetObject」または「s3:ListBucket」アクションを実行する権限がありません。S3 ポリシーと ACL でこれらのアクションを実行できることを確認します。

CodeShip ユーザーに S3 へのフル アクセスを許可すると、すべてが機能しますが、これは理想的ではありません。CodeShip ユーザーの現在の S3 権限は次のとおりです。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:PutObjectAcl",
                "s3:GetObject",
                "s3:GetObjectAcl",
                "s3:ListBucket",
                "s3:DeleteObject",
                "s3:GetBucketPolicy"
            ],
            "Resource": [
                "arn:aws:s3:::codeshipbucket/*"
            ]
        }
    ]
}

私が CodeShip に指定した S3 バケットは、問題がある場合は codeshipbucket の下のサブフォルダーです。

適切な権限とは?

4

2 に答える 2

2

内部テストでは、次の S3 アクセス許可だけで ElasticBeanstalk にデプロイできました。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::YOUR_S3_BUCKET_NAME/*"
            ]
        }
    ]
}

これは、 https://codeship.com/documentation/continuous-deployment/deployment-to-elastic-beanstalk/#s3で入手できるドキュメントで現在推奨されていることです。

とはいえ、私たちのすばらしいユーザーの 1 人が、Elastic Beanstalkへのデプロイ方法に関する非常に広範なガイドを公開しました。-from-your-continuous-integration-systemであり、より広範な S3 アクセス許可のセットを推奨します。

免責事項:私はCodeshipで働いていますが、おそらく私の答えからすでにそう推測しているでしょう。

于 2015-04-07T01:11:39.750 に答える