2016-12-07 3 views
0

Ich bin sehr neu in S3 und Cloud Front.So erzwingen S3 Anfragen durch Cloudfront gehen

Ich habe eine Webapp in einem S3-Bucket. Ich leite diese App von einer anderen App aus. Diese Weiterleitung enthält einige sensible Informationen in der Querystring und daher möchte ich nur https Anfragen annehmen. Dafür brauche ich Cloudfront und möchte direkten Bucket-Zugriff vermeiden.

Bucket: abc.xyz.com.s3.amazonaws.com URL: abc.xyz.com

I aktiviert die Optionen https only und Restrict Bucket Access in Cloudfront.

Und während das in Cloudfront funktioniert, scheint die ursprüngliche URL abc.xyz.com nicht durch Cloudfront gehen. http ist immer noch verfügbar und https funktioniert nicht.

Gibt es eine Möglichkeit, den Zugriff auf den Bucket nur über die Cloudfront zu erzwingen?

Bucket Politik:

{ 
    "Version": "2008-10-17", 
    "Id": "PolicyForCloudFrontPrivateContent", 
    "Statement": [ 
     { 
      "Sid": "1", 
      "Effect": "Allow", 
      "Principal": { 
       "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity ORIGINACCESSID" 
      }, 
      "Action": "s3:GetObject", 
      "Resource": "arn:aws:s3:::abc.xyz.com/*" 
     } 
    ] 
} 

Antwort

0

Neben der Einrichtung der Bucket Zugriff beschränken auf Ja in Cloudfront, werden Sie die S3-Bucket Politik selbst zu so etwas wie bearbeiten müssen:

(Ersetzen Sie die Zeichenfolge XXXXXXXXXXXXXX durch die Origin-Zugriffs-ID, die für Sie im Ursprung der CloudFront-Verteilung erstellt wurde.)

{ 
    "Version": "2012-10-17", 
    "Id": "Policy1476619022974", 
    "Statement": [ 
     { 
      "Sid": "Stmt1415003054675", 
      "Effect": "Allow", 
      "Principal": { 
       "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity XXXXXXXXXXXXXX" 
      }, 
      "Action": "s3:GetObject", 
      "Resource": "arn:aws:s3:::YOUR-BUCKET-NAME/*" 
     } 
    ] 
} 

Lesen Sie mehr unter Verwenden einer Origin-Zugriffsidentität, um den Zugriff auf Ihren Amazon S3-Inhalt zu beschränken here.

+0

habe ich schon getan. Funktioniert immer noch nicht wie erwartet. – MoeSattler

+0

@Moezalez: Haben Sie in Ihrem DNS einen A-Eintrag (Typ: ALIAS) erstellt, der anstelle des S3-Bucket-Endpunkts auf den Domänennamen Ihrer CloudFront-Verteilung verweist? –

+0

Ein Rekord? Ist das eine Cloudfront- oder S3-Sache? Ich habe einen CNAME in Cloudfront gesetzt. – MoeSattler

Verwandte Themen