直近6か月以内に本講座のレビューに関して記載された記事はありません。
更新履歴
2025/4: 演習4 フルセット(65問)にアップデートしました。
2025/12: AWS認定試験C03アップデートに伴う問題集のアップデートを行いました。
2026/3: 図解を追加しました。
2026/6: 一部問題を入れ替えました。
2026/8: AWSサービスアップデートに伴う問題の全面見直しによる刷新を行いました。
C03アップデート部分のみ(C02とC03の差分)を学習したい方は以下の問題にお取り組みください。
演習5
48, 75, 78, 86, 90, 91, 92, 93, 150, 153, 156, 157, 160, 170, 196, 216, 217, 219, 220, 221, 222, 244
演習6
14, 20, 36, 37, 38, 39, 40
AWS認定セキュリティ専門知識(SCS)問題集 C03対応アップデートのお知らせ
AWS認定セキュリティ専門知識(SCS)試験がC02からC03にアップデートされたことに伴い、本問題集も完全対応いたしました。
主なアップデート内容
新規出題形式への対応
並べ替え問題 ※プラットフォームの制約上6択形式で再現しています
内容一致問題 ※プラットフォームの制約上6択形式で再現しています
最新のAWSサービス・技術への対応
OCSF(Open Cybersecurity Schema Framework)
Amazon Q Developer / Amazon Q Business
Amazon SageMaker AIのセキュリティ
Amazon CodeGuru
生成AIのセキュリティ
Amazon Security Lake
その他、C03試験範囲に含まれる最新のセキュリティサービスやベストプラクティス
コース紹介
SCS-C03の全ての出題範囲を網羅した実践問題集です。
AWS SCS(AWS Certified Security - Specialty)に合格したい方はもちろんのこと、AWSでセキュリティエンジニア ロールを担う方の効率的な学習をサポートするコースです。スペシャリティ試験は解くための前提となる知識が多いため、その前提知識についての解説は詳しく記載するようにしました。
本問題集のサンプル
以下本問題集に収録されている問題サンプルです。ご自身が求めているレベルかを確認してください
問題文:
ある企業のプラットフォーム部門は、本番環境で 3,000 を超える AWS Lambda 関数 を運用しています。 セキュリティレビューの結果、外部サービスの API トークンや署名キーが 関数の環境変数にプレーンテキストで設定 されており、参照権限を持つ利用者であれば Lambda コンソールでそのまま読み取れる状態でした。 対象の値はいずれも 数十バイト程度の短い文字列 で、定期的なローテーションは要件に含まれていません。
これらの値を暗号化された仕組みで管理し直しつつ、最もコスト効率の良い方法 で対応するには、どの構成を採用すべきでしょうか?
選択肢:
A. AWS CloudTrail で関数の設定を参照する操作を記録し、Amazon EventBridge のルールで想定外の参照を検知して通知する。
B. 機密情報を含む設定ファイルを AWS Lambda のレイヤーとして発行し、対象の関数にアタッチして実行時にファイルから読み込む方式へ移行する。 レイヤーの利用許可と IAM 権限を設定し、必要な Lambda 関数の実行ロールだけが該当するレイヤーバージョンを参照できるようにする。
C. 値ごとに AWS Secrets Manager のシークレットを作成し、関数から取得 API で読み出す方式へ移行する。 実行ロールには、対象シークレットの取得だけを認めるポリシーを付与する。
D. 値ごとに AWS Systems Manager Parameter Store の標準パラメータを SecureString 型で作成し、復号付きの取得 API で読み出す。 実行ロールには、対象パラメータの取得と復号だけを認めるポリシーを付与する。
考えてからスクロールしてください。
・
・
・
・
・
・
・
・
正解:D
A. AWS CloudTrail で関数の設定を参照する操作を記録し、Amazon EventBridge のルールで想定外の参照を検知して通知する。
不正解 CloudTrail と EventBridge の組み合わせは、関数設定の参照操作を記録して通知する検知の仕組みにとどまります。機密情報が環境変数に平文で置かれている状態は変わらず、参照権限を持つ利用者は通知が届く前に値をそのまま読み取れます。値を暗号化されたストアへ移すという要件を満たしておらず、事後的な監視を追加するだけで根本対策にはなりません。
B. 機密情報を含む設定ファイルを AWS Lambda のレイヤーとして発行し、対象の関数にアタッチして実行時にファイルから読み込む方式へ移行する。 レイヤーの利用許可と IAM 権限を設定し、必要な Lambda 関数の実行ロールだけが該当するレイヤーバージョンを参照できるようにする。
不正解 Lambda のレイヤーは ZIP アーカイブを関数へ配布する仕組みであり、シークレットストアではありません。GetLayerVersion API はレイヤーアーカイブのダウンロード用リンクを返すため、レイヤーを参照できる利用者は中身をそのまま取得でき、暗号化された状態で保管して実行時にだけ復号するという制御はできません。値を変更するたびにレイヤーの再発行と各関数の設定更新が必要になる点でも、この規模の環境には適しません。
C. 値ごとに AWS Secrets Manager のシークレットを作成し、関数から取得 API で読み出す方式へ移行する。 実行ロールには、対象シークレットの取得だけを認めるポリシーを付与する。
不正解 AWS Secrets Manager は機密情報の保管に適したサービスで、暗号化保存ときめ細かなアクセス制御に加え、データベース認証情報などの自動ローテーションやクロスアカウント共有にも対応します。ただし有料サービスであり、シークレット 1 件につき月額 0.40USD、API リクエスト 10,000 回ごとに 0.05USD の料金が発生します。今回のようにローテーションを必要としない短い値を関数の数だけ登録すると、シークレットの件数と取得回数の両方で費用が積み上がります。暗号化とアクセス制御という要件そのものは満たすものの、同じ要件を追加料金なしで満たせる方式がある以上、最もコスト効率が良い方法とは言えません。
D. 値ごとに AWS Systems Manager Parameter Store の標準パラメータを SecureString 型で作成し、復号付きの取得 API で読み出す。 実行ロールには、対象パラメータの取得と復号だけを認めるポリシーを付与する。
正解 SecureString 型のパラメータは値を AWS KMS のキーで暗号化して保管し、WithDecryption を指定した取得 API に対して復号済みの値を返します。標準パラメータは 1 つのアカウント・リージョンあたり 10,000 件まで、値のサイズは 4KB まで扱え、保存も標準スループットでの取得も追加料金がかかりません。数十バイトの値を多数の関数から参照する今回の条件では、暗号化とアクセス制御を満たしたうえで費用が発生しない点が決め手になります。読み取りを許可する範囲はパラメータの ARN 単位で指定できるため、必要な関数の実行ロールだけに限定できます。
全体的な説明
問われている要件
環境変数に平文で置かれた API トークンや署名キーを、暗号化された仕組みで安全に管理し直すこと
3,000 を超える Lambda 関数という規模でも最もコスト効率の良い方法を選ぶこと
機密情報へのアクセスを必要な Lambda 関数だけに制限できること
保存する値が数十バイト程度の短い文字列であり、ローテーションは求められていないこと
前提知識
Lambda 環境変数のリスクについて
Lambda の環境変数は保存時に AWS KMS で暗号化されますが、参照権限(lambda:GetFunctionConfiguration など)を持つユーザーにはコンソールや API で復号された平文の値が表示されます。
API トークンや署名キーを環境変数に直接保存すると、権限を持つ全員に値が見えるうえ、多数の関数に散在した値の更新も困難になります。
AWS Systems Manager Parameter Store について
設定値や機密情報を階層構造の名前で一元管理できるストアです。標準パラメータは 1 つのアカウント・リージョンあたり 10,000 件、値のサイズ 4KB までを追加料金なしで利用でき、8KB まで扱えるアドバンストパラメータは有料です。
セキュアストリング型のパラメータは KMS のキーで暗号化され、取得時に復号オプション(WithDecryption)を指定すると復号済みの値を受け取れます。
AWS Secrets Manager について
パスワードやデータベース認証情報などのシークレット管理に特化したサービスで、Lambda と連携したシークレットの自動ローテーションやクロスアカウント共有をサポートします。
シークレット単位・API リクエスト単位で課金される有料サービスであり、ローテーションが不要な小さい値を大量に管理する用途ではコスト面で不利になります。
Lambda レイヤーの位置付けについて
レイヤーはライブラリや共通コードを ZIP アーカイブとして複数の関数へ配布する仕組みで、GetLayerVersion API はアーカイブのダウンロード用リンクを返します。暗号化した状態で保管して実行時に復号するといったシークレット管理の機能は持ちません。
IAM によるアクセス制御について
ssm:GetParameter アクションをパラメータの ARN 単位で許可することで、必要な Lambda 関数の実行ロールだけに特定パラメータの読み取りを絞り込めます。セキュアストリングの復号には kms:Decrypt 権限も必要です。
AWS Parameters and Secrets Lambda Extension を使うと、取得した値を関数内にキャッシュして API 呼び出し回数を削減できます。
Lambda 実行ロールには対象パラメータへの ssm:GetParameter だけを許可し、関数は環境変数を持たずに実行時に Parameter Store から SecureString 型のパラメータを取得する。値は KMS のキーで暗号化されており、取得時に復号された値が関数へ返される。
解くための考え方
まず、環境変数に平文で置かれた機密情報を暗号化された専用のストアへ移し、実行時に取得する構成へ変えるという方向性を固めます。CloudTrail と EventBridge で参照操作を検知する案は、平文の値が関数の設定に残ったままで、読み取り自体を防げないため根本対策になりません。レイヤーに設定ファイルを同梱する案も、レイヤーは配布の仕組みであって暗号化保管とアクセス時の復号を担うものではないため、要件を満たしません。残るのは Secrets Manager と Parameter Store の比較で、どちらも KMS による暗号化と IAM によるアクセス制御という要件は満たせます。ここで決め手になるのが「3,000 を超える関数」「数十バイトの短い値」「ローテーションは不要」「最もコスト効率の良い方法」という条件です。Secrets Manager は自動ローテーションなどの高機能を備える分、シークレット数と API リクエスト数に応じた料金が発生し、この規模ではコストが積み上がります。一方、Parameter Store の標準パラメータは追加料金なしで利用でき、セキュアストリングを使えば KMS 暗号化の要件も満たせるため、コスト面で明確に優位です。したがって、機密情報をセキュアストリングとして Parameter Store に保存し、IAM ポリシーで必要な Lambda 関数だけにパラメータへのアクセスを許可する構成が最適解となります。逆に、データベース認証情報の定期的な自動ローテーションが求められる場合など、要件が変われば Secrets Manager が適切な選択になる、という使い分けの軸も併せて押さえておきましょう。
参考資料(★本編には更新ドキュメントへのリンクが付きます。★)
AWS Systems Manager Parameter Store
AWS Secrets Manager
Lambda 環境変数
レイヤーによる Lambda 依存関係の管理
SCS-C03の特徴
AWS認定SCS-C03(Security - Specialty)は、高度なセキュリティ設計と運用知識が求められる難関試験です。実践的なシナリオベースの出題であり、単にAWSサービスの機能を理解しておくだけでは点数を取ることは難しいです。IAM、ネットワークセキュリティ、データ保護、モニタリングなどの幅広いセキュリティ分野に精通していることが前提となります。特にセキュリティリスクの評価やインシデント対応に関する深い理解が必要です。
本問題集の特徴
SCS-C03の出題形式に沿った本番ライクな問題
全問題に詳細な解説とAWS公式ドキュメントへのリンクを記載
不正解選択肢の理由についての解説
長文の問題文から問われている要点を解説
問題を解くための詳しい前提知識の説明
本コースの特徴を単語単位でまとめました。以下の単語が気になる方は、ぜひ本講座の受講をオススメします。
本講座を受講した皆さんの感想を以下にまとめます。
参考になる受講者の口コミやレビューを以下にまとめます。
・アラフォー社内SEが1年間でAWS全冠した話[2026-03-05に投稿]
・【975点】AWS Certified Advanced Networking - Specialty (ANS-C01) 合格体験記[2025-09-04に投稿]