AWS認定資格 WEB問題集&徹底解説

セキュリティ-専門知識

正解 C問題
分野5:データ保護 分野3:インフラストラクチャのセキュリティ タスクステートメント5.1:転送中のデータのコントロールを設計し、実装する。 タスクステートメント3.3:ネットワークセキュリティコントロールを設計し、トラブルシューティングする。
合格に向けて、もっと深く学習する
豊富な問題と詳細なAWSサービス解説を、24時間無料でお試しいただけます
プレミアム会員機能を無料で試す ❯
問題文と選択肢
ある地図データ配信企業は、有償ライセンスで提供を受けた高精度地図タイルの原本をAmazon S3バケットに保管し、東京リージョンの専用VPC内で稼働するレンダリング用のAmazon EC2クラスターからのみ読み取らせたいと考えている。現在はインスタンスプロファイルのIAMロールで読み取りを許可しているが、同じ権限設定を流用すれば別のVPCやオフィスの端末からもバケットの内容を取得できてしまう状態にある。ライセンス条件上、この専用VPC以外の経路からの取得は一切許してはならない。

この要件を最も確実に満たす対応はどれか。
  • VPCにAmazon S3用のゲートウェイエンドポイントを作成し、エンドポイントポリシーで対象バケットへのアクセスのみを許可する。バケットポリシーは設定しない
  • バケットポリシーにaws:PrincipalOrgID条件を設定し、自社のAWS Organizationsに所属するプリンシパルからのリクエストのみを許可する
  • VPCにAmazon S3用のゲートウェイエンドポイントを作成し、バケットポリシーでaws:SourceVpce条件を用いて当該エンドポイントを経由しないリクエストをすべて拒否する
  • VPCのルートテーブルからインターネットゲートウェイ向けのデフォルトルートを削除し、Amazon S3のプレフィックスリスト宛のルートだけを残す
解説 頻出度★★★★
この問題は、「IAM 権限では防げないアクセス経路の限定」をどう実装するかを問うもので、S3 のゲートウェイエンドポイントを作ったうえでバケットポリシーの aws:SourceVpce 条件で明示的に Deny する組み合わせを選べるかがポイントです。

A. VPCにAmazon S3用のゲートウェイエンドポイントを作成し、エンドポイントポリシーで対象バケットへのアクセスのみを許可する。バケットポリシーは設定しない

ゲートウェイエンドポイントとエンドポイントポリシーは、そのエンドポイントを通るトラフィックに対して何を許すかを決めるだけの仕組みです。
エンドポイントを経由しないリクエスト(インターネット経由・別 VPC・オフィス端末)には一切影響しないため、バケット側で拒否しない限り従来どおりアクセスできてしまいます。設問の「専用 VPC 以外の経路からの取得は一切許さない」を満たせません。

B. バケットポリシーにaws:PrincipalOrgID条件を設定し、自社のAWS Organizationsに所属するプリンシパルからのリクエストのみを許可する

aws:PrincipalOrgID は、リクエスト元のプリンシパルが自組織(AWS Organizations)に属しているかを判定する条件キーです。
制限できるのは「誰が」であって「どこから」ではありません。同じ組織内であれば別 VPC のインスタンスからでも、オフィス端末の IAM ユーザーからでもアクセスでき、経路の限定という要件にまったく答えていません

正解

C. VPCにAmazon S3用のゲートウェイエンドポイントを作成し、バケットポリシーでaws:SourceVpce条件を用いて当該エンドポイントを経由しないリクエストをすべて拒否する

まず S3 用のゲートウェイエンドポイントを作成して、専用 VPC からの正規経路を用意します。そのうえでバケットポリシーに、aws:SourceVpce が当該エンドポイント ID と一致しないリクエストをすべて Deny する明示的拒否を書きます。
明示的な Deny は IAM ポリシーの Allow よりも常に優先されるため、同じインスタンスプロファイルの権限を流用しても、別 VPC やオフィス端末からは取得できなくなります
アイデンティティではなくリクエストの経路そのものを条件にできるため、ライセンス条件を最も確実に担保できる構成です。

D. VPCのルートテーブルからインターネットゲートウェイ向けのデフォルトルートを削除し、Amazon S3のプレフィックスリスト宛のルートだけを残す

ルートテーブルの変更はその VPC 内から外へ出る経路を制御するだけで、バケット側の受け入れ条件は何も変わりません。
別 VPC やオフィスのネットワークは自分たちのルーティングで S3 のパブリックエンドポイントへ到達できるため、要件を満たしません。
なお、S3 のプレフィックスリスト宛のルートはゲートウェイエンドポイント作成時に自動的に追加されるものであり、これ自体はアクセス制御の手段ではありません。

構成図

専用 VPC の EC2 ──ゲートウェイエンドポイント(vpce-xxxx)──▶ Amazon S3(許可)
別 VPC / オフィス端末 ──インターネット経由(SourceVpce 無し)──▶ Amazon S3(バケットポリシーで拒否)
これだけ覚える(記憶フック)
経路を縛るのはバケットポリシーの Deny。エンドポイントを作るだけでは他の経路が開いたまま。
正解への思考ルート 問題文から要件を抽出し、選択肢の適否を判断するのがポイントです。
要件 判断ポイント
同じ IAM 権限を流用すれば他の経路からも取得できてしまう アイデンティティベースの制御では経路を縛れない。リソースポリシー側の条件が必要
→選択肢(B)を消す
専用 VPC 以外の経路からの取得は一切許さない 「一切許さない」=明示的 Deny で書く。Allow の絞り込みでは他経路が残る
→選択肢(A)を消す、選択肢(C)が正解
経路を識別する条件キーは何か aws:SourceVpce(特定の VPC エンドポイント経由か)。VPC 単位なら aws:SourceVpc
→選択肢(C)が正解
エンドポイントポリシーの効果範囲 そのエンドポイントを通る通信にしか効かない。バケットの入口を塞ぐ機能ではない
→選択肢(A)を消す
ルーティング変更で代替できるか 自 VPC の出口を変えるだけで、他ネットワークからの到達は止められない
→選択肢(D)を消す
ひっかけポイント
  • 選択肢(A)は「ゲートウェイエンドポイント+エンドポイントポリシー」で正解に見えるが、「バケットポリシーは設定しない」と明記されている点が決定打。経路の限定はバケット側の Deny がなければ成立しない
  • aws:PrincipalOrgID は頻出の条件キーだが、判定するのはプリンシパルの所属。「どこから来たか」を問う本問とは制御軸が違う
  • ルートテーブルや NACL などネットワーク設定で S3 を守ろうとするのは典型的な誤り。S3 はリージョンのサービスエンドポイントであり、守るべき入口はバケットポリシー
  • 明示的 Deny を書くときは、コンソール操作や他 AWS サービスからのアクセスも巻き込んで自分自身を締め出す(ロックアウト)危険がある。管理用ロールの除外条件を入れるのが実務の定石
出題バリエーション 同じ知識が本番では条件を変えて出題されます。
問題文がこう変わったら 正解はこう変わる
「特定の VPC 単位(複数エンドポイントを含む)で限定したい」 条件キーが aws:SourceVpc に変わる。
「オンプレミスの固定 IP からのアクセスだけ許可したい」 aws:SourceIp 条件(Deny 併用)が正解軸に。
「特定の組織・OU に属するアカウントのみ許可したい」 aws:PrincipalOrgID / aws:PrincipalOrgPaths が正解軸に変わる(本問では誤答)。
「逆に、VPC から自社バケット以外の S3 へデータを持ち出せないようにしたい」 VPC エンドポイントポリシーで自社バケットのみ許可する構成が正解軸に。
「S3 をプライベート IP でオンプレミスからも使いたい」 ゲートウェイエンドポイントではなく インターフェイスエンドポイント(AWS PrivateLink) が正解軸に。
関連サービスの解説 Amazon EC2
Amazon Simple Storage Service (Amazon S3)
Amazon VPC
+ 質問 / コメント
解答・解説に疑問がある場合や、よりよい解説がある場合など、お気軽にコメントください。ただし、短文コメントは表示されません。また、中傷などコメントの内容によっては、会員機能を停止させて頂きます。教え学び合える場になれば嬉しいです。(コメント投稿にはログインが必要です)
正答率 0%
No.9 解説
ある地図データ配信企業は、有償ライセンスで提供を受けた高精度地図タイルの原本をAmazon S3バケットに保管し、東京リージョンの専用VPC内で稼働するレンダリング用のAmazon EC2クラスターからのみ読み取らせたいと考えている。現在はインスタンスプロファイルのIAMロールで読み取りを許可しているが、同じ権限設定を流用すれば別のVPCやオフィスの端末からもバケットの内容を取得できてしまう状態にある。ライセンス条件上、この専用VPC以外の経路からの取得は一切許してはならない。

この要件を最も確実に満たす対応はどれか。
  • VPCにAmazon S3用のゲートウェイエンドポイントを作成し、エンドポイントポリシーで対象バケットへのアクセスのみを許可する。バケットポリシーは設定しない
  • バケットポリシーにaws:PrincipalOrgID条件を設定し、自社のAWS Organizationsに所属するプリンシパルからのリクエストのみを許可する
  • VPCにAmazon S3用のゲートウェイエンドポイントを作成し、バケットポリシーでaws:SourceVpce条件を用いて当該エンドポイントを経由しないリクエストをすべて拒否する
  • VPCのルートテーブルからインターネットゲートウェイ向けのデフォルトルートを削除し、Amazon S3のプレフィックスリスト宛のルートだけを残す

(会員限定)当問題の評価をお願いします。改善に活用します。