2014-01-13 15 views
16

Ist es möglich (über IAM, Bucket-Richtlinie oder anderweitig), Amazon S3 zu nur Inhalt über HTTPS/SSL zu erzwingen und allen regulären, unverschlüsselten HTTP-Zugriff zu verweigern?Erzwingen von SSL bei Amazon S3

Antwort

21

Ich glaube, dass dies mithilfe einer Bucket-Richtlinie erreicht werden kann. Verweigern Sie alle HTTP-Anfragen an den fraglichen Bucket mit der Bedingung aws: SecureTransport: false.
Folgendes wird nicht getestet, aber es sollte Ihnen eine Vorstellung davon geben, wie Sie es für Ihren Fall einrichten können.

{ 
    "Statement":[ 
     { 
      "Action": "s3:*", 
      "Effect":"Deny", 
      "Principal": "*", 
      "Resource":"arn:aws:s3:::bucketname/*", 
      "Condition":{ 
       "Bool": 
       { "aws:SecureTransport": false } 
      } 
     } 
    ] 
} 
2

Hier erlauben Sie Ihren eingehenden Datenverkehr aber verweigern Sie den nicht SSL. Wenn Sie entfernen zurück gehen wollen nur die 2 nd Aussage:

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Sid": "PublicReadGetObject", 
      "Effect": "Allow", 
      "Principal": { 
       "AWS": "*" 
      }, 
      "Action": "s3:GetObject", 
      "Resource": "arn:aws:s3:::yourbucketnamehere/*" 
     }, 
     { 
      "Sid": "PublicReadGetObject", 
      "Effect": "Deny", 
      "Principal": { 
       "AWS": "*" 
      }, 
      "Action": "s3:GetObject", 
      "Resource": "arn:aws:s3:::yourbucketnamehere/*", 
      "Condition":{ 
       "Bool": 
       { "aws:SecureTransport": false } 
      } 
     } 
    ] 
} 

Vergessen Sie nicht, Ihren Namen Eimer auf yourbucketnamehere zu setzen.

Jetzt müssen Sie ein SSL-Zertifikat installieren. All the information can be found here.