Q78 — AWS SOA-C02 第1章

第 78/100 問 | ← 第1章

SysOps管理者は、Amazon S3バケットをウェブアプリケーションのホスティングに設定する必要があります。SysOps管理者はS3バケットを作成し、ウェブアプリケーションの静的ファイルをS3バケットにコピーしました。 企業の方針では、すべてのS3バケットは公開してはいけません。 これらの要件を満たすために、SysOps管理者は何を行うべきですか?

正解: A. Amazon CloudFrontディストリビューションを作成します。S3バケットをオリジンとして設定し、オリジンアクセスアイデンティティ(OAI)を指定します。S3バケットポリシーでOAIにs3:GetObject権限を付与します。

解説

この問題は、CloudFrontのオリジンアクセスアイデンティティ(OAI)を用いて、非公開のS3バケットに安全にアクセスする方法を問うものです。AWS公式アーキテクチャベストプラクティスでは、OAIはCloudFrontがユーザーに代わって制限付きS3コンテンツにアクセスできるようにする仮想的なIDであり、ストレージバケットを公開する必要はありません。選択肢BでS3静的ウェブサイトホスティングを有効化すると、バケットを公開する必要があり、問題文の要件に違反します。選択肢CおよびDは他のサービスを活用していますが、権限の問題を解決していません。選択肢AはOAIを生成し、そのIDのみがオブジェクトを読み取ることを許可するポリシーと組み合わせることで、S3を非公開に保ちながらコンテンツ配信を実現します。これはAWS S3のセキュリティベストプラクティスに準拠しています。