AWS認定ソリューションアーキテクト アソシエイト(SAA-C03)「セキュアアーキテクチャの設計」の練習問題9問です。IAM設計と最小権限・データ暗号化とKMS・セキュリティグループとネットワークACLの違い・複数アカウント管理(AWS Organizations)・保管時/転送時の暗号化など、要件に合った安全な構成を選ぶ力を確認できます。解けなかった問題は、各問の解説末尾のリンクから対応する解説記事に進んでください。
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 学習ロードマップ で確認できます。