Qraft(クラフト) 資格・学習クイズアプリ

AWS Certified Solutions Architect Associate(SAA-C03) 練習問題 12:CloudFrontとOrigin Access Controlによるセキュアな配信

Amazon CloudFrontを使用してS3バケット上の画像ファイルを世界中のユーザーに配信する場合、S3バケットへの直接アクセスは禁止し、CloudFront経由のみを許可するセキュアな設定として最も適切なものはどれか。

  1. S3バケットをパブリックにし、CloudFrontのキャッシュをバイパスして常に最新データを取得する。
  2. S3バケットをプライベートにし、CloudFront用のOrigin Access Control(OAC)を作成して、OACにS3バケットアクセス許可を付与する。
  3. CloudFrontを無効にしてS3の静的ウェブサイトホスティング機能を使い、Route 53で地域ごとにドメインを振り分ける。
  4. S3バケットポリシーで「Allow *」を設定し、CloudFront DistributionのDomain Nameを指定することでアクセス制限を実現する。
  5. CloudFrontディストリビューションのWAFルールで全トラフィックを許可し、S3バケットへの直接アクセスをセキュリティグループで制限する。

Qraftユーザーの成績:難易度 Aランク(レーティング1295)・正答率 54%(13/24回正解)
レーティングは解いた人の実力と正誤から算出する難しさ(初期値1200)。ランクはその全問題中の順位(S+が最難関、F-が最易)

正解と解説を見る
正解:S3バケットをプライベートにし、CloudFront用のOrigin Access Control(OAC)を作成して、OACにS3バケットアクセス許可を付与する。

CloudFrontでS3から静的コンテンツを配信する際、S3バケットへの直接アクセスを防ぐことが重要です。正しいのは「Origin Access Control(OAC)を使用してCloudFront経由のアクセスのみを許可する」という方法です。OACは2022年にOAI(Origin Access Identity)の後継として導入された現在の推奨方式で、SSE-KMS暗号化やすべてのAWSリージョンのS3バケットをサポートします。S3バケットをプライベートに設定し、CloudFront用のOACを作成して、S3バケットポリシーのPrincipalにCloudFrontサービスプリンシパルを指定します。これにより、S3バケットのURL直接アクセスは403エラーで拒否され、CloudFront経由のみアクセス可能になります。パブリックバケットは直接アクセスを許す設定で要件に違反します。CloudFrontなしではセキュリティと配信性能が低下し、「Allow *」ポリシーはアクセス制限になりません。セキュリティグループはVPC内のトラフィック制御で、インターネットアクセス制限には使えません。

← 前の問題問題一覧次の問題 →
アプリで解いてレーティングを上げる(無料・登録不要)