2012-05-23 3 views
4

Я пробовал предотвращать связывание медиафайлов на Amazon S3 с этой ведровой политикой.Предотвращение хотлинкинга на Amazon S3 с CloudFront

{ 
"Version": "2008-10-17", 
"Id": "my-id", 
"Statement": [ 
    { 
     "Sid": "Allow get requests to specific referrers", 
     "Effect": "Allow", 
     "Principal": { 
      "AWS": "*" 
     }, 
     "Action": "s3:GetObject", 
     "Resource": "arn:aws:s3:::bucketname/*", 
     "Condition": { 
      "StringLike": { 
       "aws:Referer": "http://sitename.com/" 
      } 
     } 
    }, 
    { 
     "Sid": "Allow CloudFront get requests", 
     "Effect": "Allow", 
     "Principal": { 
      "AWS": "arn:aws:iam::amazonaccountid:root" 
     }, 
     "Action": "s3:GetObject", 
     "Resource": "arn:aws:s3:::bucketname/*" 
    } 
] 
} 

ACL настроен как конфиденциальный. Я все еще не могу заставить его принимать файлы, к которым я пытаюсь получить доступ.

Я пробовал много разных политик, которые я нашел здесь, но ни один из них, похоже, не имеет никакого эффекта. Файлы, которые я пытаюсь предотвратить hotlinking, являются .swf-файлами.

Когда я использую точную ссылку (bucketname.s3.amazonaws.com) без облачного режима, она работает.

+0

- @ Рой вы решить вашу проблему еще? У меня есть в основном [та же проблема] (http://stackoverflow.com/questions/11522563/prevent-hotlinking-of-amazon-s3-content), поэтому мне хотелось узнать, каков ваш текущий статус –

+2

В правилах ведро S3 нет эффект на Amazon CloudFront. Проверьте это http://stackoverflow.com/questions/5652962/preventing-amazon-cloudfront-hotlinking –

ответ

3

Вот политика вектора, которую я использовал, чтобы заставить ее работать.

{ 
"Version": "2008-10-17", 
"Id": "http referer policy", 
"Statement": [ 
    { 
     "Sid": "Allow get requests referred by www.mysite.com and mysite.com", 
     "Effect": "Allow", 
     "Principal": "*", 
     "Action": "s3:GetObject", 
     "Resource": "arn:aws:s3:::bucketname/*", 
     "Condition": { 
      "StringLike": { 
       "aws:Referer": "http://www.mysite.com/*" 
      } 
     } 
    } 
] 

}