AWS SAA-C03 D1セキュアアーキテクチャ設計|IAM/KMS/GuardDuty/WAF試験対策完全ガイド

目次

1. はじめに — D1セキュアアーキテクチャ設計とは

本記事は「AWS SAA-C03 試験対策」シリーズの Vol1 です。
まだシリーズ全体像をつかんでいない方は、4ドメインの俯瞰とサービスマップを解説した Vol0 ロードマップを先にご覧ください。

SAA-C03 の出題は4つのドメインに分かれていますが、そのなかで 最大の配点(30%) を持つのが D1「Design Secure Architectures(セキュアアーキテクチャ設計)」です。
65問換算で約20問、120問の問題バンクに相当します。

なぜセキュリティが最重視されるのでしょうか。
AWS の設計原則「Well-Architected Framework」でもセキュリティは5本柱の筆頭に挙げられています。
クラウド上のシステムは適切な設計なくしてデータを守ることができません。
D1 はその設計力を問うドメインです。

この記事(Vol1)で得られること

  • D1の出題範囲と「5つのセキュリティ軸」の全体像(§1〜§2)
  • IAM/STS/Identity Center — アクセス管理の核心と最小権限原則(§2)
  • KMS・Secrets Manager — エンベロープ暗号化とシークレット管理(§3)
  • GuardDuty・Macie・Inspector — 脅威検知と脆弱性スキャン(§4)
  • WAF・Shield・Network Firewall — 境界防御の多層設計(§5)
  • VPC セキュリティ — SG/NACL/NAT/Endpoints の使い分け(§6)
  • CloudTrail・Config — 監査証跡とコンプライアンス自動化(§7)
  • 共有責任モデル — 試験での判断軸(§8)

1-1. D1の出題範囲を5軸で整理する

D1 は範囲が広く感じますが、問われるテーマは大きく 5つの軸 で整理できます。

テーマ代表サービス
1アクセス管理IAM / STS / IAM Identity Center / SCP
2暗号化・秘密管理KMS / Secrets Manager / ACM
3脅威検知・脆弱性管理GuardDuty / Macie / Inspector
4境界防御WAF / Shield / Network Firewall
5ネットワーク分離・監査VPC / CloudTrail / Config

試験の設問は「どのサービスを使うべきか」を問うシナリオ形式が中心です。
各サービスが どの軸に属し、何を解決するのか を結びつけて覚えることが合格への近道です。

D1学習のコツ

  • 「IAM Roles」と「IAM Users」を区別し、EC2やLambdaへの権限付与には常にIAM Rolesを使うことを徹底しましょう
  • 暗号化の問題は「誰がキーを管理するか(AWS管理 or 顧客管理)」という軸で選択肢を絞れます
  • ネットワーク設問の最頻出は「Security GroupはステートフルでNACLはステートレス」という対比です。インバウンドとアウトバウンドの動作の違いを必ず確認してください

2. IAM・STS・Identity Center — アクセス管理の核心

D1 の中でも最頻出サービスが IAM(Identity and Access Management) です。
問題バンク400問でIAMは140回出現し、S3に次ぐ第2位の頻出度を誇ります。

2-1. IAM の基本構造

IAM は「誰が(Principal)、何を(Action)、どのリソースに(Resource)、どんな条件で(Condition)実行できるか」をポリシー(JSON)で定義するサービスです。

要素内容
IAM User長期アクセスキーを持つ個人のアカウント。本番環境では使用を最小化する
IAM Groupユーザーをまとめて同一ポリシーを適用するための入れ物。グループにはポリシーを直接アタッチする
IAM Role一時的な権限をAWSサービスや別アカウントに委譲する仕組み。EC2やLambdaへの権限付与はRoleが原則
IAM Policy許可/拒否する操作をJSON形式で定義。Identity-basedとResource-basedの2種類がある

試験で最頻出のシナリオは「EC2インスタンスからS3バケットにアクセスさせたい」です。
正解は「EC2インスタンスに IAM Role をアタッチする」です。アクセスキーをEC2に埋め込むことは絶対に避けるべきアンチパターンです。

2-2. STS(Security Token Service)とクロスアカウントアクセス

STS は 一時的な認証情報(トークン) を発行するサービスです。
IAM Role を「引き受ける(AssumeRole)」ときに内部で動作します。

クロスアカウントアクセスの典型パターンは次の通りです。

  1. アカウントBに IAM Role を作成し、信頼ポリシーでアカウントAを信頼先として指定する
  2. アカウントAのIAM UserやRoleが sts:AssumeRole で一時認証情報を取得する
  3. 取得した一時認証情報でアカウントBのリソースを操作する

「別AWSアカウントのリソースへアクセスする方法は?」という設問では、クロスアカウントRoleのAssumeRole が正解です。

2-3. IAM Identity Center(旧AWS SSO)

IAM Identity Center は、複数のAWSアカウントやビジネスアプリケーションへの シングルサインオン(SSO) を提供します。
AWS Organizations と連携し、組織全体のユーザー管理を一元化できます。

機能内容
Permission Sets一組の権限をまとめた定義。複数アカウントに一括で適用できる
ABAC(属性ベースアクセス制御)ユーザーの属性(部署・役職など)に基づいて動的に権限を付与する
SCIMプロビジョニングOkta・Azure ADなどの外部IdPからユーザーを自動同期する

「複数AWSアカウントへの一元的なシングルサインオンを実現したい」という設問では IAM Identity Center が正解です。

2-4. SCPとOrganizations — 予防的ガードレール

AWS Organizations の SCP(Service Control Policy) は、組織内のアカウントに対して「この操作は絶対に禁止」という 予防的なガードレール を設定できます。

SCP はアカウントの最大権限を制限するものです。
SCP でS3の削除を拒否すれば、そのアカウントのAdministratorでさえS3バケットを削除できなくなります。
「Organizations配下のアカウントで特定のリージョン以外へのリソース作成を禁止したい」という設問では SCP が正解です。

3. KMS・Secrets Manager — 暗号化戦略

3-1. KMS(Key Management Service)とCMKの種類

AWS KMS は暗号化キーの作成・管理・使用を担うサービスです。
試験では CMK(Customer Master Key)の種類 の使い分けが頻出です。

CMK種別管理者使いどころ
AWS管理キー(aws/s3等)AWS設定不要でサービス内暗号化。キーポリシーの変更不可
カスタマー管理キー(CMK)顧客キーポリシー・ローテーション・監査が自在。コンプライアンス要件に対応
外部キー材料インポート(BYOK)顧客(オンプレHSM等から持ち込み)自社管理のキー材料をKMSで使いたい場合

「コンプライアンス要件のためキーの使用ログを取りたい」「年1回のキーローテーションを行いたい」という設問では カスタマー管理CMK が正解です。

3-2. エンベロープ暗号化の仕組み

KMS は大量データを直接暗号化するのではなく、エンベロープ暗号化 という方式を使います。

  1. KMS が データキー(DK) と呼ばれる対称キーを生成する
  2. データキーで実際のデータを暗号化する
  3. データキー自体を CMK で暗号化して保存する(= 封筒に入れる = envelope)

この仕組みにより、KMS に大量のデータを送らなくても高速に暗号化できます。
S3、EBS、RDS、DynamoDB は内部でこの方式を採用しています。

fig01: KMS暗号化階層と共有責任モデル境界
fig01: KMSエンベロープ暗号化と共有責任モデル境界図

3-3. 主要サービスの暗号化オプション

D1 では「どのサービスをどのキーで暗号化するか」の使い分けが問われます。

サービス暗号化オプション
S3SSE-S3(AWS管理)/ SSE-KMS(CMK・監査可)/ SSE-C(顧客キー持込)/ クライアントサイド
EBSスナップショット含め CMK で暗号化。起動時に有効化推奨
RDSインスタンス作成時に有効化(後から変更不可)。スナップショットも暗号化される
DynamoDBデフォルトでAWS管理キーで暗号化。CMKへの切り替えも可能

「S3のデータが不正アクセスされても読み取られないようにしたい、かつ誰がいつキーを使ったか監査したい」という設問では SSE-KMS が正解です。

3-4. AWS Secrets Manager — シークレットの自動管理

AWS Secrets Manager は、データベースのパスワードやAPIキーなどの シークレット情報 を安全に保存し、自動ローテーションする機能を提供します。

機能内容
自動ローテーションLambda関数を使って指定周期でパスワードを自動更新。RDS/Redshift/DocumentDBはネイティブ対応
クロスアカウント共有Resource-based Policy でシークレットを別アカウントと共有できる
KMS連携保存するシークレット値はCMKで暗号化される

「アプリケーションのDB接続パスワードをコードにハードコードせず、定期的に自動更新したい」という設問では Secrets Manager が正解です。
Systems Manager Parameter Store と比較すると、自動ローテーション がSecrets Manager の最大の差別化ポイントです。

4. GuardDuty・Macie・Inspector — 脅威検知・データ保護

4-1. Amazon GuardDuty — インテリジェントな脅威検知

Amazon GuardDuty は、AWSアカウント内の脅威を 継続的かつ自動的に検知 するサービスです。
VPC フローログ、CloudTrail ログ、DNS ログ、S3 アクセスログなどを機械学習で分析し、不審な活動を Finding として報告します。

GuardDuty の Findings の主要なカテゴリを押さえましょう。

カテゴリ例内容
UnauthorizedAccess通常とは異なる場所や時間からのアクセス
BackdoorC2サーバーへの通信やマルウェアの活動
CryptoCurrency暗号通貨マイニングの疑いがある活動
Recon(偵察)ポートスキャンやAPIの異常な列挙

GuardDuty はエージェントレスで有効化でき、既存ワークロードへの影響がゼロです。
「追加コストを最小限にしながらAWSアカウント全体の脅威検知を始めたい」という設問では GuardDuty が正解です。

4-2. Amazon Macie — S3の機密データ自動検出

Amazon Macie は、S3バケット内のデータを機械学習でスキャンし、PII(個人情報) や機密情報を自動検出・分類するサービスです。

  • 検出できるデータ: 氏名・メールアドレス・クレジットカード番号・マイナンバーなど
  • バケットのアクセス制御の問題(パブリック公開など)も検出する
  • 検出結果は Security Hub や EventBridge と連携して自動対応できる

「S3に保存された大量のデータのなかから個人情報の格納場所を発見・可視化したい」という設問では Macie が正解です。

4-3. Amazon Inspector — 脆弱性スキャン

Amazon Inspector は、EC2インスタンス・Lambda関数・コンテナイメージの ソフトウェア脆弱性とネットワーク露出 を継続的にスキャンするサービスです。

スキャン対象内容
EC2OSパッケージの既知CVE・CIS Benchmarkへの準拠確認
Lambda関数コードと依存ライブラリの脆弱性
コンテナ(ECR)プッシュ時と定期的な自動スキャン

Inspector は Systems Manager Agent を活用するため、対象リソースへのエージェント管理が必要です。
「EC2インスタンスのOSとアプリの脆弱性を継続的に検出・優先度付けしたい」という設問では Inspector が正解です。

GuardDuty / Macie / Inspector の使い分け

  • GuardDuty: 不正アクセス・脅威行動(誰かが攻撃してきている)を検知
  • Macie: S3内の機密データ(何が入っているか)を検出
  • Inspector: EC2/Lambda/コンテナの脆弱性(どこに穴があるか)をスキャン

「何を守りたいか」「何を検出したいか」で3サービスを使い分けましょう。

5. WAF・Shield・Network Firewall — 境界防御

5-1. AWS WAF — Webアプリの境界保護

AWS WAF(Web Application Firewall)は、HTTP/HTTPSトラフィックを検査し、SQLインジェクション・XSSなどのWebアプリへの攻撃 を遮断するサービスです。

WAF の主要概念を整理します。

概念内容
WebACL(Web Access Control List)ルールをまとめた設定単位。CloudFront・ALB・API Gatewayにアタッチして使用
ルール条件(IPアドレス・URI・ヘッダーなど)と許可/拒否のアクションを定義
マネージドルールグループAWSまたはサードパーティが提供する既製ルールセット(OWASP Top 10対応等)
レートベースルール一定時間内のリクエスト数が閾値を超えた場合に自動的にブロック(DDoS軽減に活用)

WAF はネットワーク層(L3/L4)ではなく アプリケーション層(L7) で動作します。
「Webアプリへの不正なHTTPリクエストをブロックしたい」という設問では WAF が正解です。

5-2. AWS Shield — DDoS 自動防御

AWS Shield は DDoS(分散サービス拒否)攻撃 からAWSリソースを守るサービスです。

ティア内容
Shield Standard全AWSユーザーに無料で自動適用。L3/L4のDDoS攻撃を自動緩和
Shield Advanced有料オプション。L7攻撃への対応・DDoS Response Team(DRT)のサポート・コスト保護保険・リアルタイム可視性を提供

「DDoS攻撃に対してAWS専門チームのサポートと詳細なメトリクスが必要」という設問では Shield Advanced が正解です。
WAF + Shield Advanced の組み合わせが「多層防御(Defense in Depth)」の典型構成です。

5-3. AWS Network Firewall — VPC内の高度なフィルタリング

AWS Network Firewall は、VPCレベルで ステートフル/ステートレス のネットワークフィルタリングを提供するマネージドサービスです。

  • ステートレスルール: IPアドレス・ポート・プロトコルのみで判断(NACLに近い動作)
  • ステートフルルール: 通信の文脈(セッション)を追跡し、不審なドメインや署名でブロック
  • IDS/IPS機能: Suricata互換の署名ベースの侵入検知・防御

「VPCから外部への通信を特定のドメインのみ許可し、それ以外は拒否したい」という設問では Network Firewall が正解です。

6. VPC セキュリティ — ネットワーク分離

6-1. Security Groups と NACL の対比

VPC のネットワーク制御で最頻出の論点が Security Groups(SG)NACL(Network Access Control List) の違いです。

項目Security GroupsNACL
適用レベルインスタンス(ENI)単位サブネット単位
ステートフル性ステートフル(戻りトラフィック自動許可)ステートレス(インバウンド・アウトバウンド個別設定が必要)
ルール許可(Allow)のみ。拒否(Deny)は設定不可許可(Allow)と拒否(Deny)の両方を設定可能
評価方式全ルールを評価してからアクセス許可ルール番号順(小さいほど優先)で評価し最初にマッチしたルールを適用

試験で最頻出の誤解は「Security GroupsでDenyルールを設定する」です。
SGはAllowルールしか設定できません。特定のIPを遮断したい場合は NACL のDenyルール を使います。

6-2. NAT Gateway — プライベートサブネットの通信設計

プライベートサブネットにあるEC2が外部と通信するには NAT Gateway が必要です。

  • NAT Gateway はパブリックサブネットに配置する
  • プライベートサブネットのルートテーブルで「0.0.0.0/0 → NAT Gateway」と設定する
  • NAT Gateway は AZ(アベイラビリティゾーン)単位 のサービスのため、高可用性が必要な場合は複数AZに配置する

「プライベートサブネットのEC2インスタンスからセキュアに外部と通信したい」という設問では NAT Gateway が正解です。

6-3. VPC Endpoints — プライベート接続でコスト削減

VPC Endpoints を使うと、インターネットゲートウェイや NAT Gateway を経由せずに VPC内のプライベートな通信路でAWSサービスに接続 できます。

種別対応サービス特徴
Gateway型S3・DynamoDBルートテーブルへの設定が必要。無料
Interface型(PrivateLink)ほぼ全てのAWSサービスENIとして作成。時間料金あり

「EC2からS3への通信をインターネットを経由せず、転送コストも削減したい」という設問では S3 Gateway Endpoint が正解です。

6-4. VPC Flow Logs — 脅威検知とトラブルシュート

VPC Flow Logs は、VPCのネットワークインターフェースを通過するIPトラフィックの情報を記録するサービスです。
CloudWatch Logs または S3 に保存し、GuardDuty や Athena での分析に活用します。

「VPCへの不審なアクセスを調査したい」「どのIPからの通信が拒否されているか確認したい」という設問では VPC Flow Logs が正解です。

7. CloudTrail・Config — 監査・コンプライアンス

7-1. AWS CloudTrail — 操作ログの証跡

AWS CloudTrail は、AWSアカウント内で行われた API呼び出しのすべてを記録 するサービスです。
「誰が(Who)、いつ(When)、何を(What)、どこから(From Where)したか」を追跡する 監査証跡 として機能します。

概念内容
管理イベント(Management Events)AWSリソースの操作(EC2インスタンス作成・IAMポリシー変更など)。デフォルトで有効
データイベント(Data Events)S3オブジェクトへの読み書き・Lambda関数の実行など。追加設定が必要
CloudTrail Lakeクエリ可能なイベントデータストア。SQLで分析できる

CloudTrail ログのベストプラクティスは、マルチリージョントレイルを有効化し、S3バケットへ集約することです。
ログファイル検証を有効化すると、ログの改ざんを検出できます。

試験で最頻出のシナリオは「誰がIAMポリシーを変更したか調査したい」です。正解は常に CloudTrail です。

7-2. AWS Config — リソース設定の継続監視

AWS Config は、AWSリソースの設定変更を継続的に記録し、コンプライアンスルール への準拠状況を評価するサービスです。

機能内容
Config Rulesリソースの設定が期待値どおりかを自動評価(マネージドルール100種以上)
自動修復(Auto Remediation)ルール違反を検出したら Systems Manager Automation で自動修正
コンフォーマンスパック複数のConfig Rulesをまとめて組織全体に展開(PCI DSS・NIST等のテンプレートあり)

CloudTrail との違いを整理しましょう。
CloudTrail は「誰が何をしたか(API操作の記録)」、Config は「何がどんな状態か(リソース設定の評価)」です。

「すべてのS3バケットのパブリックアクセスが無効かどうかを継続的に監視し、違反があれば自動修正したい」という設問では Config Rules + Auto Remediation が正解です。

CloudTrail と Config の使い分けポイント

  • CloudTrail: 「誰が・いつ・何をしたか」のAPI操作の監査ログ
  • Config: 「リソースが期待する設定になっているか」の継続的なコンプライアンス評価
  • 多くの場合、両者を組み合わせて使います。変更を検知(Config)→操作者を特定(CloudTrail)という連携が典型です

8. 共有責任モデル — 試験での判断軸

8-1. 共有責任モデルの全体像

AWS のセキュリティは「セキュリティ OF クラウド(AWSの責任)」と「セキュリティ IN クラウド(顧客の責任)」に分けて考える 共有責任モデル が基本概念です。

fig02: 共有責任モデル境界図
fig02: 共有責任モデル — AWSと顧客の責任範囲

AWSの責任範囲(クラウドの物理基盤)

  • データセンターの物理セキュリティ
  • ハイパーバイザー・ストレージ・ネットワーク機器のセキュリティ
  • マネージドサービスのソフトウェアパッチ(RDSのOSパッチなど)

顧客の責任範囲(クラウド上の設定・データ)

  • ゲストOS・アプリケーションのパッチ適用(EC2など)
  • IAMポリシー・セキュリティグループ・暗号化設定
  • データの分類・保護・バックアップ

8-2. サービス別の責任分界チートシート

試験では「このシナリオでセキュリティ対策の責任はどちらか」という問いが出ます。
サービス種別で責任の境界が変わることを理解しましょう。

サービスモデルAWSの責任顧客の責任
EC2(IaaS相当)ハイパーバイザー以下・物理OSパッチ・ミドルウェア・アプリ・SG設定
RDS(マネージドDB)OS・DBエンジンパッチ・HADBの設定・アクセス制御・データ暗号化の有効化
Lambda(サーバーレス)実行環境・OSのパッチ関数コード・IAMロールの最小権限・環境変数の秘匿
S3(オブジェクトストレージ)インフラの耐久性・可用性バケットポリシー・ACL・暗号化設定・バージョニング

「RDSのOSパッチはAWSが担当する」「EC2のアプリケーションの脆弱性対応は顧客の責任」という線引きを確実に理解してください。

8-3. 最小権限の原則(Principle of Least Privilege)

D1 全体を貫くもう一つの重要概念が 最小権限の原則 です。
ユーザー・ロール・サービスに対して、業務上必要な最小限の権限のみを付与することがセキュリティの基本です。

実践的なアプローチとして覚えておきたいのは次の通りです。

  • AdministratorAccess を本番環境で使わない
  • ワイルドカード(*)の Action/Resource を避け、必要な操作だけを明示する
  • IAM Access Analyzer で意図しない外部公開ポリシーを検出する
  • 定期的にIAM Credentials Reportでアクセスキーを棚卸しする

9. CertTrend LMS D1問題演習

D1「セキュアアーキテクチャ設計」の120問を本番形式で演習できます。
IAM/KMS/GuardDuty/WAF/VPC/CloudTrailの出題頻度順に問題を解き、弱点を絞り込んでください。
正答だけでなく 誤答がなぜ誤りか をAWS公式ドキュメントに基づいて解説しているため、「わかったつもり」を確実に解消できます。

10. 実務で深掘り — セキュリティ本番運用記事

試験合格後は、本番環境でどう実装するかが次のステップです。
本シリーズ「SAA-C03試験対策」は試験対策・体系暗記を主眼としていますが、実際のインフラ設計・実装の詳細は以下の本番運用記事で深掘りできます。

試験で学んだ「なぜこのサービスを使うのか」という理解を土台に、本番運用記事で「どう実装するか」まで習得すれば、試験合格だけでなく実務でも即戦力として活躍できます。


次の Vol2 では D2「レジリエントアーキテクチャ設計(104問/26%)」を解説します。
SQS/SNS/EventBridge による疎結合、Auto Scaling、DR戦略4パターンを体系的に整理します。

Vol対象ドメイン状態
Vol0 ロードマップ全体(ハブ)公開済
Vol1(本記事) セキュアアーキテクチャ設計D1 (30%)公開済
Vol2 レジリエントアーキテクチャ設計D2 (26%)準備中
Vol3 高性能アーキテクチャ設計D3 (24%)準備中
Vol4 コスト最適化アーキテクチャ設計D4 (20%)準備中