2012-07-12 18 views

Trả lời

27

Có, mặc dù tôi chưa tự mình sử dụng.

S3 hỗ trợ kiểm soát chi tiết trên các nhóm và đối tượng trong chúng bằng cách sử dụng "Ngôn ngữ chính sách truy cập". Có sẵn danh sách trắng và danh sách đen IP danh sách trắng cụ thể. Tuy nhiên, bạn sẽ phải viết các câu lệnh APL và tải chúng lên.

http://docs.amazonwebservices.com/AmazonS3/latest/dev/AccessPolicyLanguage.html

Dưới đây là 2 phần điều kiện ví dụ:

Whitelist

"Condition" : { 
     "IpAddress" : { 
      "aws:SourceIp" : ["192.168.176.0/24","192.168.143.0/24"] 
     } 
} 

Blacklist

"Condition" : { 
     "NotIpAddress" : { 
      "aws:SourceIp" : ["192.168.176.0/24","192.168.143.0/24"] 
     } 
} 
+0

Tôi không tìm thấy trong chính sách tài liệu cụ thể cho IP. Bạn có thể cung cấp ví dụ JSON cho nó không? –

+0

Tôi đã sửa đổi câu trả lời của mình bằng các ví dụ về điều kiện IP. – gview

+0

Nó không hoạt động ...Tôi cố gắng, tài nguyên có thể được truy cập anyway: { \t "Version": "2008/10/17", \t "Id": "S3PolicyId1", \t "Tuyên bố": [ \t \t { \t \t \t " Sid ": "IPAllow", \t \t \t "Hiệu quả": "Cho phép", \t \t \t "bảo lãnh": { \t \t \t \t "AWS": "*" \t \t \t}, \t \t \t "Action": "s3: *", \t \t \t "Resource": "ARN: AWS: s3 ::: byBucketName", \t \t \t "Tình trạng": { \t \t \t \t "NotIpAddress": { \t \t \t \t \t "AWS: SourceIp": "0.0.0.0/0" \t \t \t \t}, \t \t \t \t "Ipaddress": { \t \t \t \t \t "AWS: SourceIp": "192.168.143.188/32" \t \t \t \t} \t \t \t} \t \t} \t] } –

12

Amazon mô tả này trong tài liệu S3 của họ theo "Chính sách Bucket ví dụ", tại Restricting Access to Specific IP Addresses:

Điều kiện trong tuyên bố này xác định dải địa chỉ IP cho phép 54.240.143, với một ngoại lệ: 54.240.143.188.

{ 
    "Version": "2012-10-17", 
    "Id": "S3PolicyId1", 
    "Statement": [ 
    { 
     "Sid": "IPAllow", 
     "Effect": "Allow", 
     "Principal": "*", 
     "Action": "s3:*", 
     "Resource": "arn:aws:s3:::examplebucket/*", 
     "Condition": { 
     "IpAddress": {"aws:SourceIp": ["54.240.143.0/24", "1.2.3.4/32" ]}, 
     "NotIpAddress": {"aws:SourceIp": "54.240.143.188/32"} 
     } 
    } 
    ] 
} 

Bạn có thể thêm một cái gì đó như thế trong AWS S3 console. Chọn nhóm của bạn, nhấp vào tab Thuộc tính, sau đó nhấp vào Quyền. Nhấp vào "Thêm chính sách nhóm" và dán vào biểu mẫu của hộp thoại bật lên.

Tôi đã sửa đổi ví dụ của Amazon để cho biết có thể bao gồm nhiều dải IP trong chính sách bằng cách cung cấp một mảng JSON thay vì một chuỗi. Mục "aws: SourceIp" của "1.2.3.4/32" có nghĩa là địa chỉ IP duy nhất, 1.2.3.4, cũng được cấp quyền truy cập.