2009-07-14 9 views
5

Tôi đã thử một vài cách: S3Browse, RightAws Ruby gem và các công cụ khác. Tất cả cho phép cấp quyền truy cập trên cơ sở khóa cá nhân, nhưng tôi không thể đặt ACL trên nhóm. Trên thực tế, tôi đặt ACL trên xô, không có lỗi nào được trả về. Nhưng khi tôi làm mới hoặc kiểm tra trong một công cụ khác, ACL của nhóm được đặt lại thành chỉ chủ sở hữu.Làm thế nào để đặt ACL của một xô trên S3?

Tôi muốn cấp quyền truy cập đọc và viết vào FlixCloud cho một ứng dụng tôi đang phát triển. Họ cần quyền truy cập để ghi các tệp đầu ra.

Trả lời

1

Yup, chỉ cần kiểm tra lại sau 10 phút. ACL vẫn được cấu hình. Tôi đoán đây là thứ cuối cùng của bạn. Hãy thử tài khoản/máy trạm khác.

+0

Quên bao giờ trả lời câu hỏi này. Vấn đề của tôi là một kịch bản mà tôi đã viết ghi đè lên ACL một vài phút sau đó. –

1

Tôi vừa kiểm tra kỹ cho bạn - S3fm có thể thay đổi thành công ACL. Tôi đã sử dụng email của họ [email protected] làm userid. Bạn có thể thấy người dùng trong danh sách các từ sau là flixclouds3.

+0

Bạn đã kiểm tra ACL sau 1 hoặc 2 phút? Cuối cùng, ACL luôn được đặt lại thành chủ sở hữu. –

11

Tôi đã gặp khó khăn với chính sách ACL so với nhóm và thấy những điều sau hữu ích.

ACL

Các ACL định nghĩa các quyền gắn liền với một tập tin duy nhất trong xô của bạn. Chính sách nhóm là một tập lệnh giải thích các quyền đối với bất kỳ thư mục hoặc tệp nào trong một nhóm. Sử dụng các polcies xô để hạn chế liên kết nóng, cấp hoặc từ chối quyền truy cập vào các file hoặc tất cả cụ thể, hạn chế địa chỉ IP vv

Sửa Hợp đồng bảo hiểm S3 Bucket

Đăng nhập vào Amazon Web Services, bấm vào để S3 và nhấp vào tên nhóm trong cột bên trái. Xem bảng Thuộc tính nhóm ở cuối trang. Nhấp vào nút ở góc dưới bên phải có nội dung "Chỉnh sửa chính sách nhóm". Điều này sẽ trả về một hộp đèn mà bạn có thể dán tập lệnh chính sách vào. Nếu kịch bản không xác nhận nó sẽ không lưu.

Sample Chính sách đó kích hoạt đọc truy cập vào tất cả mọi người (hữu ích nếu xô đang được sử dụng như một mạng lưới phân phối nội dung)

{ 
    "Version": "2008-10-17", 
    "Id": "", 
    "Statement": [ 
      { 
       "Sid": "AddPerm", 
       "Effect": "Allow", 
       "Principal": { 
        "AWS": "*" 
       }, 
       "Action": "s3:GetObject", 
       "Resource": "arn:aws:s3:::my_bucket_name/*" 
      } 
    ] 
} 

chính sách mẫu để ngăn chặn hotlinking trái phép (các trang web của bên thứ ba liên kết đến nó) nhưng cho phép bất cứ ai để tải tập tin:

{ 
    "Version":"2008-10-17", 
    "Id":"preventHotLinking", 

    "Statement":[ { 

     "Sid":"1", 
     "Effect":"Allow", 
     "Principal": { 
      "AWS":"*" 
     }, 

     "Action":"s3:GetObject", 
     "Resource":"arn:aws:s3:::your.bucket.name/*", 

     "Condition":{ 

      "StringLike": { 

       "aws:Referer": [ 
        "http://yourwebsitename.com/*", 
        "http://www.yourwebsitename.com/*" 
       ] 
      } 
     } 
    }] 
} 

Tạo một chính sách

http://awspolicygen.s3.amazonaws.com/policygen.html

Chính sách Sample Bucket

http://docs.amazonwebservices.com/AmazonS3/latest/dev/index.html?AccessPolicyLanguage_UseCases_s3_a.html

+3

Chính sách nhóm là tuyệt vời, một báo trước ... Chúng chỉ hoạt động đối với các đối tượng thuộc sở hữu của chủ sở hữu nhóm. Vì vậy, nếu nội dung của bạn kết thúc trong nhóm của bạn thông qua tài khoản người dùng không phải là chủ sở hữu nhóm, bạn cần sử dụng ACL hoặc sao chép dán đối tượng trong nhóm làm chủ sở hữu để đặt lại chủ sở hữu. –

+0

Cảm ơn Steve, tôi không biết về chủ sở hữu đối tượng báo trước. –