2016-12-07 3 views
0

Я очень новичок в S3 и облачном фронте.Как заставить запросы S3 пройти через облачный

У меня есть webapp в ведре S3. Я перенаправляю это приложение из другого приложения. Это перенаправление содержит некоторую конфиденциальную информацию в querystring, и поэтому я хочу только принимать запросы https. Для этого мне нужен облачный режим и вы хотите избежать прямого доступа к ведро.

Ковш: abc.xyz.com.s3.amazonaws.com URL: abc.xyz.com

я включил опцию https only и Restrict Bucket Access в CloudFront.

И хотя это прекрасно работает в облачном режиме, исходный url abc.xyz.com, похоже, не проходит через облачный режим. http по-прежнему доступен, и https не работает.

Есть ли способ принудительного доступа к ведру только через облачный режим?

политика Ковш:

{ 
    "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/*" 
     } 
    ] 
} 

ответ

0

В дополнение к установив Ограничение доступа Bucket к Да в CloudFront, вам необходимо изменить саму политику ведро S3 на что-то вроде:

(Замените строку XXXXXXXXXXXXX идентификатором исходного кода, который был создан для вас в источнике распространения CloudFront)

{ 
    "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/*" 
     } 
    ] 
} 

Подробнее об использовании идентификатора доступа для доступа к ограничению доступа к содержимому Amazon S3 here.

+0

Я уже сделал это. Все еще не работает должным образом. – MoeSattler

+0

@Moezalez: Вы создали запись A (тип: ALIAS) в своем DNS, которая указывает на доменное имя домена CloudFront вместо конечной точки консоли S3? –

+0

Запись? Это облачная или s3 вещь? Я установил CNAME в облачный режим. – MoeSattler

Смежные вопросы