AWS認定ソリューションアーキテクト アソシエイト(SAA-C03)「セキュアアーキテクチャの設計」の練習問題9問です。セキュアな構成選びは、正解を覚えるより”よくある思い込み”を外すほうが速い。「キーを設定ファイルに書けば動くから安全」「公開すれば手っ取り早い」——こうした近道が、なぜ不正解になるのかを先に押さえましょう。
“よくある思い込み”を外す — セキュア設計の誤解Q&A

誤答の選択肢は、実は現場でやりがちな”近道”をそのまま書いてあることが多いです。代表的な思い込みを、正しい考え方に置き換えておきます。
思い込み①「アクセスキーをコードに直書きすれば手軽で安全」 → 流出リスクが高く不適切。EC2 などにはIAMロールを割り当て、一時的な認証情報を自動発行させます。
思い込み②「権限は多めに付けておけば後で困らない」 → 逆です。最小権限で始め、足りなければ足す。乗っ取られても被害を小さくできます。
思い込み③「暗号化は保存データだけで十分」 → 通信中も守ります。転送時はTLS、鍵の管理はKMSに集約します。
思い込み④「外部に渡すなら公開するのが早い」 → 全公開は漏えい直結。別アカウントにはIAMロールのAssumeRoleで必要範囲だけ一時的に貸します。
ネットワークの境界も同じ発想です。外部に出す必要のないDBはプライベートサブネットへ置き、セキュリティグループ(ステートフル)とNACL(ステートレス)の違いを踏まえて通信を絞ります。実務で15年以上権限設計を見てきた感覚では、この「まず絞る」を守れるかが、堅い構成と穴のある構成の分かれ目です。
・「ルートユーザーで作業すると速い」… 全権限ゆえ日常利用は避け、MFAで保護する。
・「SGとNACLは同じ」… SGはインスタンス単位で戻り通信を自動許可、NACLはサブネット単位で戻りも明示。
・「暗号化すれば権限管理は不要」… 暗号化とアクセス制御は別の守り。両方が要る。
『よくある思い込み』を一つずつ手放すつもりで、9問に取り組んでみてください。
Q1. EC2 インスタンス上のアプリケーションから S3 バケットへアクセスさせたいとき、セキュリティ面でもっとも適切な方法はどれですか?
回答
解説
正解は「B」です。
EC2 上のアプリに権限を渡すときは、IAM ロールをインスタンスに割り当てるのが基本です。ロールを使うと、アクセスキーを書き込まずに済み、AWS が一時的な認証情報を自動で発行・更新してくれます。鍵を貼り紙で持ち歩く代わりに、その場で発行される入館証を使うイメージです。
A や C のようにキーをコードへ書き込む方法は、流出すると悪用される危険があり推奨されません。とくに C のルートユーザーは全権限を持つため、日常運用での使用は避けます。D の全公開はデータ漏えいに直結します。
Q2. IAM でユーザーやロールに権限を与えるときの「最小権限の原則」を正しく説明しているものはどれですか?
回答
解説
正解は「A」です。
最小権限の原則とは、その人やシステムが仕事をするのに必要な権限だけを与え、それ以上は与えないという考え方です。万一アカウントが乗っ取られても、できる操作が限られていれば被害を小さく抑えられます。会社の入館証を、必要な部屋にだけ通れるよう設定するのと同じ発想です。
B のように先に強い権限を渡す方法はリスクが大きく、原則に反します。C や D のように権限を一律・共有にすると、誰が何をできるのか管理できなくなります。
Q3. S3 に保存するデータを暗号化したいとき、暗号鍵の作成・管理・ローテーションを一元的に行える AWS のサービスはどれですか?
回答
解説
正解は「D」です。
AWS KMS(Key Management Service)は、暗号化に使う鍵(キー)を作成・保管・管理するためのサービスです。S3・EBS・RDS など多くのサービスと連携し、ボタンひとつで保管データの暗号化を有効にできます。鍵を定期的に入れ替える(ローテーション)設定もでき、鍵そのものを安全な金庫で預かってもらうイメージです。
A の CloudWatch は監視、B の CloudTrail は操作履歴の記録、C の Route 53 は DNS のサービスで、いずれも暗号鍵を管理するものではありません。
Q4. セキュリティグループとネットワークACL(NACL)の違いについて、正しく説明しているものはどれですか?
回答
解説
正解は「C」です。
セキュリティグループはインスタンス(ENI)単位で働くステートフルなファイアウォールで、許可した通信の戻り(応答)は自動的に通します。一方ネットワークACL(NACL)はサブネット単位で働くステートレスな仕組みで、行きと戻りの両方をルールで明示する必要があります。セキュリティグループは許可ルールのみ、NACL は許可・拒否の両方を番号順に評価します。
A は単位の説明が逆、B は許可ルールが書けないという点が誤り、D は両者を同一視している点が誤りです。
ファイアウォール・IDS・IPSとは(詳しい解説)を見る
AWS のセキュリティグループと NACL とは(詳しい解説)を見る
Q5. 複数の AWS アカウントをまとめて管理し、請求の一括化やアカウントをまたいだポリシー適用を行いたいとき、もっとも適したサービスはどれですか?
回答
解説
正解は「A」です。
AWS Organizationsは、複数の AWS アカウントを1つの組織としてまとめて管理するサービスです。請求をまとめる(一括請求)ことでボリューム割引を受けやすくなり、サービスコントロールポリシー(SCP)を使えば、組織全体やグループ単位で「使えるサービスの上限」を設定できます。部署ごとに分けたアカウントを、本社がまとめて統制するイメージです。
B の S3 はストレージ、C の EC2 は仮想サーバー、D の CloudFront は配信のサービスで、いずれもアカウントをまたいだ統合管理を行うものではありません。
Q6. Web サーバーとクライアント間でやり取りされるデータを、通信の途中で盗み見られないように保護したいとき、適切なのはどれですか?
回答
解説
正解は「B」です。
暗号化には大きく2種類あります。保存したデータを守る保管時の暗号化と、通信の途中を守る転送時の暗号化です。通信を盗み見から守るには、TLS/SSL(HTTPS など)を使って転送中のデータを暗号化します。封筒の中身を見えなくして郵送するイメージです。両方をそろえて初めて、保管中も通信中もデータが守られます。
A は転送時の保護を省いている点が誤り、C のパスワードの長さや D のファイル名は、通信経路の暗号化とは別の話です。
Q7. 社外のパートナー企業に、自社の特定の S3 バケットだけを一時的に操作させたいとき、セキュアな方法としてもっとも適切なのはどれですか?
回答
解説
正解は「D」です。
別の AWS アカウントに一時的なアクセスを許す場合は、IAM ロールを用意し、相手にそのロールを引き受け(AssumeRole)させる方法が安全です。相手は自分のアカウントから、許可された範囲の権限だけを一時的に借りられます。必要な部屋だけ通れる来客用の入館証を、その都度発行するイメージです。終わったら権限を外せます。
A のパスワード共有や B のアクセスキー共有は、強い権限を渡してしまい流出リスクが高く危険です。C の全公開はデータ漏えいに直結します。
Q8. AWS のセキュリティにおける「責任共有モデル」で、利用者側が責任を持つ範囲として正しいものはどれですか?
回答
解説
正解は「C」です。
責任共有モデルでは、AWS が「クラウドのセキュリティ」(物理施設・ハードウェア・基盤ネットワーク)を担い、利用者は「クラウド内のセキュリティ」を担います。利用者側の責任は、IAM での権限設定・データの暗号化・OSやアプリの設定・通信の保護などです。賃貸マンションで、建物の警備は大家、部屋の鍵かけは住人が担うイメージに近いです。
A の物理警備、B のハードウェア保守、D の基盤ネットワーク運用は、いずれも AWS 側の責任範囲です。
Q9. データベースをインターネットから直接アクセスできないようにしたいとき、VPC の構成としてもっとも適切なのはどれですか?
回答
解説
正解は「B」です。
外部に公開する必要のないデータベースは、プライベートサブネットに配置するのが基本です。プライベートサブネットはインターネットゲートウェイへの経路を持たないため、外部から直接アクセスできません。Web サーバーはパブリックサブネットに置き、そこを経由してデータベースへ通すことで、入口を1つに絞って守れます。建物の受付(公開)の奥に金庫室(非公開)を置くイメージです。
A や C のようにデータベースを公開すると攻撃にさらされます。D の構成は内部リソースまで無防備になり、安全性が大きく下がります。
試験全体の流れを俯瞰したい時は、AWS SAA 試験全体概要 に戻れます。
学習の全体像と次に進む分野は、AWS SAA 学習ロードマップ で確認できます。