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

DevOpsエンジニア-プロフェッショナル

正解 C問題
分野6:セキュリティとコンプライアンス タスクステートメント6.3:セキュリティモニタリングと監査ソリューションの実装
合格に向けて、もっと深く学習する
豊富な問題と詳細なAWSサービス解説を、24時間無料でお試しいただけます
プレミアム会員機能を無料で試す ❯
問題文と選択肢
ある医療機関ネットワークでは、電子カルテ管理システムに対して行われたすべてのAPI呼び出しを記録していますが、内部関係者による不審なアクセスが疑われる事案が発生しました。調査チームは、記録されたログファイルが実際のイベントの並びを正確に表しており、後から一切改ざん・削除されていないことを100%の確実性をもって証明できる仕組みを必要としています。

この要件を満たす最も効果的な方法はどれですか。
  • AWS CloudTrailで証跡を有効化してログをAmazon S3へ配信し、ログファイルをAmazon S3 Object Lock(コンプライアンスモード)で保護する。ログが変更されていないことはS3のサーバーアクセスログを確認して証明する。
  • AWS Configでリソース構成の記録を有効化し、変更履歴をAmazon S3へ配信する。ログ検証整合性APIを使ってログファイルの改ざんの有無を検証する。
  • AWS CloudTrailで証跡を有効化してログをAmazon S3へ配信し、あわせてログファイル検証機能(ダイジェストファイルによるSHA-256ハッシュ検証)を有効にする。CLIのvalidate-logsコマンドで各ログファイルが未変更であることを検証する。
  • AWS CloudTrailで証跡を有効化してログをAmazon S3へ配信し、ライフサイクルポリシーで即座にS3 Glacierへアーカイブしたうえで、Glacier Vault Lockポリシーを適用する。
解説 頻出度★★★★
この問題は、「API 呼び出しの記録 × 改ざんも削除もされていないことを 100% 証明する」の要件で、削除を防ぐ仕組みではなく、ハッシュと署名で検証できる CloudTrail のログファイル検証を選べるかがポイント

A. AWS CloudTrailで証跡を有効化してログをAmazon S3へ配信し、ログファイルをAmazon S3 Object Lock(コンプライアンスモード)で保護する。ログが変更されていないことはS3のサーバーアクセスログを確認して証明する。

Amazon S3 Object Lock のコンプライアンスモードは、保持期間中の削除も上書きも誰にも許さない強力な仕組みで、それ自体は有効な保護策です。しかしこれは「これから壊されないこと」の保証であって、すでに配信されたファイルが未改変であることを検証する手段ではありません
さらに証明手段として挙げられている S3 のサーバーアクセスログはベストエフォート配信で、記録の欠落があり得るうえ、ファイルの中身が変わっていないことを示すものでもありません。後半の証明方法が要件を満たしていません。

B. AWS Configでリソース構成の記録を有効化し、変更履歴をAmazon S3へ配信する。ログ検証整合性APIを使ってログファイルの改ざんの有無を検証する。

AWS Config が記録するのはリソースの構成変更の履歴であり、電子カルテ管理システムに対する API 呼び出しそのものではありません。要件のログを扱えていない時点で不適です。
また「ログ検証整合性 API」という名前の API は存在しません。もっともらしい名称で、検証機能があるかのように見せている選択肢です。

正解

C. AWS CloudTrailで証跡を有効化してログをAmazon S3へ配信し、あわせてログファイル検証機能(ダイジェストファイルによるSHA-256ハッシュ検証)を有効にする。CLIのvalidate-logsコマンドで各ログファイルが未変更であることを検証する。

正解です。証跡でログファイル検証を有効にすると、CloudTrail は 1 時間ごとにダイジェストファイルを出力します。ダイジェストには対象期間に配信された各ログファイルの SHA-256 ハッシュが記録され、ダイジェスト自体は CloudTrail の秘密鍵で電子署名されます。
さらに各ダイジェストは直前のダイジェストを参照して連鎖するため、ログファイルの中身の改変だけでなく、ファイルの削除・差し替えや期間の抜けまで検出できます。
検証は aws cloudtrail validate-logs コマンドで機械的に実行でき、「イベントの並びを正確に表し、後から改ざん・削除されていない」ことを確実に示せる唯一の選択肢です。

D. AWS CloudTrailで証跡を有効化してログをAmazon S3へ配信し、ライフサイクルポリシーで即座にS3 Glacierへアーカイブしたうえで、Glacier Vault Lockポリシーを適用する。

S3 Glacier へのアーカイブと Vault Lock は保持ポリシーを固定して削除を防ぐ仕組みであり、ファイルの内容が改ざんされていないことを検証する手段ではありません
加えて、S3 のライフサイクルで移行する Glacier はストレージクラスであるのに対し、Vault Lock が対象とするのは S3 Glacier のボールトで、構成としても噛み合っていません。
調査のたびに取り出し(復元)の待ち時間が発生する点も、監査目的の運用に向きません。

これだけ覚える(記憶フック)
「改ざんされていないと証明せよ」= CloudTrail のログファイル検証。削除防止と改ざん証明は別物。
正解への思考ルート 問題文から要件を抽出し、選択肢の適否を判断するのがポイントです。
要件 判断ポイント
記録したいのはシステムに対する API 呼び出し API 呼び出しの記録は CloudTrail の担当。AWS Config が扱うのはリソース構成の変更履歴
→選択肢(B)を消す
改ざん・削除されていないことを証明する 削除を防ぐ仕組みと、未改変を証明する仕組みは別物。証明にはハッシュと署名による検証機構が要る
→選択肢(A・D)を消す
イベントの並びを正確に表している(抜けがない) ダイジェストファイルが直前のダイジェストを参照して連鎖するため、ファイルの削除や期間の欠落まで検出できる
→選択肢(C)が正解
100% の確実性をもって証明する aws cloudtrail validate-logs で機械的に検証でき、人の判断に依存しない
→選択肢(C)が正解
証明に使う証跡そのものの信頼性 S3 のサーバーアクセスログはベストエフォート配信で欠落し得るため、証拠として使えない
→選択肢(A)を消す
ひっかけポイント
  • 選択肢 A の「S3 Object Lock(コンプライアンスモード)」は本物の強力な保護で、前半だけ読むと正解に見える。誤りは後半の「サーバーアクセスログで証明する」部分にある
  • 「削除・改ざんを防ぐ」と「改ざんされていないと証明する」は別の要件。A と D は前者しか満たしておらず、設問が求めている検証手段が欠けている
  • 選択肢 B の「ログ検証整合性 API」のように実在しない API 名を混ぜてくる。知らない名前が出たら、そのサービスの守備範囲(Config=リソース構成)に立ち返って判断する
  • 選択肢 D は S3 ライフサイクルによる Glacier ストレージクラスへの移行と、S3 Glacier のボールトに対する Vault Lock を混ぜており、構成としても成立していない
出題バリエーション 同じ知識が本番では条件を変えて出題されます。
問題文がこう変わったら 正解はこう変わる
「ログの削除自体を物理的に防ぎたい」に変わったら S3 Object Lock(コンプライアンスモード)や、専用のログアーカイブアカウントへの集約が正解軸に。
複数アカウント・複数リージョンのログをまとめて記録したい」に変わったら AWS Organizations の組織の証跡(Organization trail)が正解に。
リソース構成の変更履歴とコンプライアンス評価が必要」に変わったら AWS Config とルール/適合パックが正解に切り替わる。
「不審な API 呼び出しをリアルタイムに検知したい」に変わったら CloudWatch Logs のメトリクスフィルターとアラーム、Amazon GuardDuty が正解軸に。
「過去のログを SQL で長期に分析したい」に変わったら Amazon Athena での S3 上のログ分析や、CloudTrail Lake が論点に。
関連サービスの解説 Amazon Simple Storage Service (Amazon S3)
AWS CloudTrail
+ 質問 / コメント
解答・解説に疑問がある場合や、よりよい解説がある場合など、お気軽にコメントください。ただし、短文コメントは表示されません。また、中傷などコメントの内容によっては、会員機能を停止させて頂きます。教え学び合える場になれば嬉しいです。(コメント投稿にはログインが必要です)
正答率 0%
No.10 解説
ある医療機関ネットワークでは、電子カルテ管理システムに対して行われたすべてのAPI呼び出しを記録していますが、内部関係者による不審なアクセスが疑われる事案が発生しました。調査チームは、記録されたログファイルが実際のイベントの並びを正確に表しており、後から一切改ざん・削除されていないことを100%の確実性をもって証明できる仕組みを必要としています。

この要件を満たす最も効果的な方法はどれですか。
  • AWS CloudTrailで証跡を有効化してログをAmazon S3へ配信し、ログファイルをAmazon S3 Object Lock(コンプライアンスモード)で保護する。ログが変更されていないことはS3のサーバーアクセスログを確認して証明する。
  • AWS Configでリソース構成の記録を有効化し、変更履歴をAmazon S3へ配信する。ログ検証整合性APIを使ってログファイルの改ざんの有無を検証する。
  • AWS CloudTrailで証跡を有効化してログをAmazon S3へ配信し、あわせてログファイル検証機能(ダイジェストファイルによるSHA-256ハッシュ検証)を有効にする。CLIのvalidate-logsコマンドで各ログファイルが未変更であることを検証する。
  • AWS CloudTrailで証跡を有効化してログをAmazon S3へ配信し、ライフサイクルポリシーで即座にS3 Glacierへアーカイブしたうえで、Glacier Vault Lockポリシーを適用する。

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