2015-04-06 24 views
5

Các quyền S3 thích hợp để triển khai một ứng dụng Beanstalk Elastic bằng cách sử dụng CodeShip là gì? Khi triển khai một phiên bản mới cho ứng dụng tomcat tôi nhận được các lỗi này:Quyền S3 thích hợp để triển khai cho Cây đậu Đàn hồi từ CodeShip

dịch vụ: Amazon S3, tin nhắn: Bạn không có quyền để thực hiện các 's3: ListBucket' hành động. Xác minh rằng các chính sách S3 và ACL của bạn cho phép bạn thực hiện các tác vụ này.

Dịch vụ: Amazon S3, Tin nhắn: Bạn làm không được phép thực hiện tác vụ 's3: GetObject' hoặc 's3: ListBucket' . Xác minh rằng các chính sách S3 và ACL của bạn cho phép bạn thực hiện các tác vụ này.

Nếu tôi cấp cho người dùng CodeShip quyền truy cập đầy đủ vào S3 mọi thứ hoạt động, nhưng điều này không lý tưởng. Các điều khoản S3 hiện cho người dùng CodeShip của tôi là

{ 
    "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/*" 
      ] 
     } 
    ] 
} 

xô S3 của tôi tôi đã đưa CodeShip là một thư mục con dưới codeshipbucket nếu vấn đề.

Quyền thích hợp là gì?

Trả lời

2

Trong thử nghiệm nội bộ của chúng tôi, chúng tôi đã có thể để triển khai đến ElasticBeanstalk chỉ với các điều khoản S3 sau

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

Và đây là những gì chúng tôi hiện đang giới thiệu trong tài liệu hướng dẫn của chúng tôi có sẵn tại https://codeship.com/documentation/continuous-deployment/deployment-to-elastic-beanstalk/#s3

Điều đó nói rằng, một trong những người dùng tuyệt vời của chúng tôi đã xuất bản một hướng dẫn rất rộng rãi về cách triển khai cho Cây đậu Đàn hồi, có sẵn tại http://nudaygames.squarespace.com/blog/2014/5/26/deploying-to-elastic-beanstalk-from-your-continuous-integration-system và đề xuất một bộ rộng hơn các quyền S3.

Tuyên bố từ chối trách nhiệm: Tôi làm việc cho Codeship, nhưng bạn có thể đã đoán như vậy từ câu trả lời của tôi.

+0

Tôi có cùng một vấn đề với tư cách là tác giả của câu hỏi này và tìm thấy bản sửa lỗi tại đây: http://stackoverflow.com/a/24572049/121515. Lưu ý rằng việc tải lên S3 sẽ hoạt động tốt với các quyền S3 mà bạn mô tả ở trên, nhưng việc triển khai phiên bản mới sẽ không hoạt động. Codeship cũng báo cáo việc triển khai thành công mặc dù các lỗi được hiển thị trong bảng điều khiển AWS EB. –

2

Đây là những điều khoản S3 chúng tôi phải cung cấp cho người sử dụng IAM chúng tôi sử dụng với Codeship:

{ 
     "Action": [ 
      "s3:CreateBucket", 
      "s3:GetObject" 
     ], 
     "Effect": "Allow", 
     "Resource": "*" 
    }, 
    { 
     "Action": [ 
      "s3:ListBucket", 
      "s3:GetObjectAcl", 
      "s3:GetBucketPolicy", 
      "s3:DeleteObject", 
      "s3:PutObject", 
      "s3:PutObjectAcl" 
     ], 
     "Effect": "Allow", 
     "Resource": [ 
      "arn:aws:s3:::elasticbeanstalk-[region]-[account-id]", 
      "arn:aws:s3:::elasticbeanstalk-[region]-[account-id]/*" 
     ] 
    } 

Chúng tôi thực hiện eb deploy --debug và bổ sung các điều khoản một-by-one.

Các vấn đề liên quan