質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Amazon CloudFront

Amazon CloudFrontは、AWSの高速且つ高パフォーマンスなコンテンツ配信(CDN) サービス。容量の大きいコンテンツをキャッシュさせてWebサーバの負荷を軽減し、サーバダウンの防止など安定した配信が可能になります。

Amazon S3

Amazon S3 (Simple Storage Service)とはアマゾン・ウェブ・サービスが提供するオンラインストレージサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

1回答

1374閲覧

AWSのCloudFrontで設定したRestrict Bucket Accessが反映されません

sassan738

総合スコア32

Amazon CloudFront

Amazon CloudFrontは、AWSの高速且つ高パフォーマンスなコンテンツ配信(CDN) サービス。容量の大きいコンテンツをキャッシュさせてWebサーバの負荷を軽減し、サーバダウンの防止など安定した配信が可能になります。

Amazon S3

Amazon S3 (Simple Storage Service)とはアマゾン・ウェブ・サービスが提供するオンラインストレージサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2021/04/18 11:00

編集2021/04/18 11:54

VueアプリケーションをS3にデプロイしてCloudFront経由でアクセスできるように設定したのですが、ClourFrontのディストリビューションを作成する時に設定したRestrict Bucket Access: Yesの項目が反映されておらず、S3内のオブジェクトタブ内に表示されているindex.htmlのオブジェクトURLにアクセスするとページが表示されてしまします。
CloudFrontからしかアクセスしないため静的ウェブサイトホスティングは使用しないのですが、静的ウェブサイトホスティングを有効にしてそちらのURLにアクセスするとページが表示されてしまいます。
現在のS3のアクセス許可設定はブロックパブリックアクセスの4つの項目が全てオフ(GitHub Actionsで自動デプロイの設定をしているのですが、全てオフにしないとアップロードができませんでした。)、バケットポリシーは以下のような状態です。

{ "Version": "2008-10-17", "Id": "PolicyForCloudFrontPrivateContent", "Statement": [ { "Sid": "2", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity <ディストリビューションのOrigin Access Identity>" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::<バケット名>/*" } ] }

アクセスコントロールリストは以下のような状態です。

被付与者オブジェクトオブジェクトACL
オブジェクト所有者(AWSアカウント)読み込み読み取り、書き込み
全員(パブリックアクセス)--
Authenticated Users グループ(AWSアカウントを持つ全てのユーザー)--

S3に保存されているindex.htmlのアクセス許可設定は以下のようになっています(GitHub ActionsでS3にアップロードする時に、アップロードするオブジェクトに対して読み取り権限を与える設定になっています)。

被付与者オブジェクトオブジェクトACL
オブジェクト所有者(AWSアカウント)読み込み読み取り、書き込み
全員(パブリックアクセス)読み込み-
Authenticated Users グループ(AWSアカウントを持つ全てのユーザー)--

Restrict Bucket Access: Yesに設定しているにも関わらずオブジェクトURLにアクセスした時にページが表示されてしまう原因なのですが、バケット内に保存されているオブジェクトにパブリックアクセスの読み取り権限が付与されているからでしょうか?他に考えられる原因がありましたら教えて頂きたいです。
よろしくお願い致します。

追記
GitHub ActionsでS3にアップロードする時に、オブジェクトに対してパブリックの読み取り権限を与えない設定にしたところ、静的ウェブサイトホスティングからはアクセスできなくなりました。
しかし、依然オブジェクトURLからアクセスした場合にページが表示されてしまいます。オブジェクトURLからアクセスした場合でもページを表示されないようにするにはどうすればいいか、アドバイスを頂きたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

追記内で、GitHub ActionsでS3にアップロードする時に、オブジェクトに対してパブリックの読み取り権限を与えない設定にしても、オブジェクトURLからアクセスした場合にページが表示されてしまうと書いたのですが、Chromeの『閲覧履歴とデータの削除』を実行したところオブジェクトURLからでも表示されなくなりました。

投稿2021/04/18 12:36

sassan738

総合スコア32

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問