Q41 — AWS SAA-C03 第17章
第 41/89 問 | ← 第17章
Q1341. ある企業が、IPアドレスの許可リストおよび拒否リストを含むファイルをAmazon S3バケットに保存しています。このファイルにはHTTPエンドポイントを介してアクセスする必要があります。また、AWS上に展開されていない企業のファイアウォールが当該ファイルを読み取れる必要があります。さらに、ファイルへのアクセスは、ファイアウォールのIPアドレスからのみ許可されるように制限したいと考えています。このAWSアカウントでは、Amazon S3の「Block Public Access(パブリックアクセスのブロック)」機能が有効化されています。これらの要件を満たす解決策はどれですか?
- A. S3バケットを静的ウェブサイトとして設定します。ファイアウォールのIPアドレスからのみウェブサイトへのアクセスを許可するバケットポリシーを作成し、その静的ウェブサイトのURLをファイアウォールの設定に追加します。
- B. ファイアウォールのIPアドレスからのみ明示的にアクセスを許可するバケットポリシーを作成します。ファイルのURLをファイアウォールの設定に追加します。 ✓
- C. Amazon CloudFrontディストリビューションを作成し、S3バケットをオリジンとして追加します。ファイアウォールのIPアドレスからのみアクセスを許可するオリジンアクセスコントロール(OAC)を作成します。
- D. 当該ファイルにアクセス可能なAWS Lambda関数を作成します。Lambda関数を、リクエスト内のIPアドレスがファイアウォールのものであるかを確認し、リストを返すように設定します。Lambda関数のURLをファイアウォールの設定に追加します。
正解: B. ファイアウォールのIPアドレスからのみ明示的にアクセスを許可するバケットポリシーを作成します。ファイルのURLをファイアウォールの設定に追加します。
解説
正解はBです。各選択肢を検討し、要件との適合性を評価します。【要件の再確認】・Amazon S3バケット内のファイル(IP許可/拒否リスト)にはHTTPエンドポイント経由でアクセス可能であること。・AWS上にない企業のファイアウォールがそのファイルを読み取れること。・ファイルへのアクセスは、ファイアウォールのIPアドレスからのみ許可されること。・このAWSアカウントでは、Amazon S3の「Block Public Access」が有効化されていること。【選択肢A】S3静的ウェブサイトホスティングは、デフォルトでオブジェクトをパブリックに公開します。しかし、「Block Public Access」が有効な状態では、静的ウェブサイトとしての設定自体がブロックされる可能性があり、また、バケットポリシーによるIP制限を試みても、Block Public Accessの設定が優先され、意図した制御ができないリスクがあります。したがって、この選択肢は不適切です。【選択肢B】S3バケットポリシー内で`aws:SourceIp`条件キーを用いて、特定のファイアウォールIPアドレスからのみアクセスを許可するポリシーを作成できます。その後、ファイアウォールはS3オブジェクトの直接URL(例:`https://bucket-name.s3.region.amazonaws.com/file.txt`)でファイルにアクセス可能です。これはS3のネイティブなアクセス制御機構を活用したシンプルかつ安全な方法であり、すべての要件を満たします。【選択肢C】CloudFrontのオリジンアクセスコントロール(OAC)は、CloudFrontとS3間のアクセス制御を目的としており、クライアント(ここではファイアウォール)のIPアドレスに基づくアクセス制限を実現するものではありません。CloudFrontディストリビューションレベルでのIP制限(Geo RestrictionやAWS WAFなど)は可能ですが、OAC単体では要件を満たさず、過剰な複雑さを導入します。【選択肢D】Lambda関数を介してIPチェックとファイル配信を行う方法は、開発・運用コスト、レイテンシ、障害点の増加といった不要なオーバーヘッドを伴います。同様のIPベース制御は、S3バケットポリシーのみでより効率的かつ確実に実現可能です。以上より、要件を最も適切に満たすのは選択肢Bです。