2016-12-09 21 views
7

Có cách nào để cấp các vai trò cá thể IAM được sử dụng bởi quá trình xây dựng không?Sử dụng vai trò IAM trên AWS CodeBuild worker

Trong trường hợp cụ thể của tôi, tôi cần thực hiện một số thao tác s3 trong quá trình xây dựng (không liên quan đến các tệp lưu trữ).

Cho đến nay, phương án duy nhất tôi tìm được là thêm khóa aws và bí mật vào các biến môi trường trên trang cấu hình mã hóa aws.

Sẽ an toàn hơn khi chỉ đính kèm vai trò IAM vào trường hợp ec2 hoặc vùng chứa thực thi bản dựng. Hiện tại (2016-12) có thể không?

Trả lời

6

Bạn sẽ có thể đính kèm bất kỳ quyền chính sách bổ sung nào vào vai trò dịch vụ đã được tạo cho dự án xây dựng của bạn. CodeBuild sử dụng chính sách đó trong suốt thời gian xây dựng để thực hiện các hành động trong một cá thể xây dựng.

Ví dụ, nếu bạn muốn xóa một đối tượng từ S3 trong xây dựng, bạn sẽ cần phải thêm các tuyên bố sau chính sách vai trò dịch vụ của bạn:

{ 
    "Effect": "Allow", 
    "Resource": [ 
     "*" 
    ], 
    "Action": [ 
     "s3:DeleteObject" 
    ] 
} 

Note: Bạn có thể muốn hạn chế những quyền đối với tài nguyên cụ thể, ví dụ ở trên cho phép DeleteObject trên bất kỳ thứ gì trong tài khoản của bạn.

Nếu bạn đã sử dụng thuật sĩ chạy đầu tiên trên bảng điều khiển CodeBuild để thiết lập dự án của mình, bạn đã có các chính sách trong vai trò dịch vụ của bạn cho s3: GetObject và s3: GetObjectVersion. Tên vai trò dịch vụ khi tạo thông qua bảng điều khiển là 'codebuild- [project name] -service-role' theo mặc định.

+0

Tôi nghĩ vai trò dịch vụ chỉ ảnh hưởng đến dịch vụ chứ không ảnh hưởng đến vùng chứa. Tôi sẽ thử lại điều này thêm một dòng lệnh s3 vào tệp buildspec.yml. Có lẽ khách hàng s3 của tôi không thể sử dụng nhà cung cấp nhận dạng vùng chứa. –

+0

Tôi đã không nhìn thấy vai trò làm việc vì thư viện maven tôi đã sử dụng để truy cập s3 không hoạt động với thông tin đăng nhập vùng chứa. Tất cả tốt bây giờ. –

+0

@DanielSperry không chắc chắn giải pháp chính xác của bạn là gì, nhưng tôi có thể có vấn đề tương tự và tôi đã đăng giải pháp giải pháp tại đây http://stackoverflow.com/questions/42794486/use-appropriate-ecs-credentials-on- codebuild-maven-job/42799591 # 42799591 – Neil

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