Uncategorized

#42

以下に 問題1 の内容を指定フォーマットで整理します。


■問題文(そのまま)

ある会社では、転送中のすべての Amazon S3 バケットデータの暗号化を義務付けるガイドラインがあります。セキュリティエンジニアは、データが暗号化されていない場合、すべての S3 操作を拒否する S3 バケットポリシーを実装する必要があります。

この要件を満たす S3 バケットポリシーを選択してください。


■選択肢(そのまま)

A

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowSSLRequestsOnly",
      "Action": "s3:*",
      "Effect": "Deny",
      "Resource": [
        "arn:aws:s3:::DOC-EXAMPLE-BUCKET",
        "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*"
      ],
      "Condition": {
        "StringNotEquals": {
          "s3:x-amz-server-side-encryption": "AES256"
        }
      },
      "Principal": "*"
    }
  ]
}

B

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowSSLRequestsOnly",
      "Action": "s3:*",
      "Effect": "Deny",
      "Resource": [
        "arn:aws:s3:::DOC-EXAMPLE-BUCKET",
        "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*"
      ],
      "Condition": {
        "StringNotEquals": {
          "s3:x-amz-server-side-encryption": true
        }
      },
      "Principal": "*"
    }
  ]
}

C

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowSSLRequestsOnly",
      "Action": "s3:*",
      "Effect": "Deny",
      "Resource": [
        "arn:aws:s3:::DOC-EXAMPLE-BUCKET",
        "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*"
      ],
      "Condition": {
        "Bool": {
          "aws:SecureTransport": "false"
        }
      },
      "Principal": "*"
    }
  ]
}

D

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowSSLRequestsOnly",
      "Action": "s3:*",
      "Effect": "Deny",
      "Resource": [
        "arn:aws:s3:::DOC-EXAMPLE-BUCKET",
        "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*"
      ],
      "Condition": {
        "Bool": {
          "aws:SecureTransport": "true"
        }
      },
      "Principal": "*"
    }
  ]
}

■問題文の要件の概要

  • 転送中(in transit)のデータをすべて暗号化する必要がある
  • つまり HTTPS(SSL/TLS)経由で通信することを強制する必要がある
  • 条件に合わないすべてのリクエストを 拒否するポリシー を構成する必要がある

■正解の選択肢と解説

C

"Condition": {
  "Bool": {
    "aws:SecureTransport": "false"
  }
}

解説:

このポリシーは、リクエストが HTTPS(aws:SecureTransport)でない場合(false)、すべての操作を拒否します。

  • aws:SecureTransport は、S3 リクエストが SSL/TLS(HTTPS)経由か否かを判定するキー。
  • false の場合に Deny すれば、HTTP 通信をブロックできる。
  • 転送中の暗号化を 強制する正しい方法です。

■不正解の選択肢の理由

A / B

  • "s3:x-amz-server-side-encryption" を条件に使っているが、これは **サーバーサイド暗号化(SSE)**の指定であり、**保存時の暗号化(at rest)**に関する設定。
  • 本問の要件は **転送中の暗号化(in transit)**なので条件が合わない。

D

"Condition": {
  "Bool": {
    "aws:SecureTransport": "true"
  }
}
  • true のときに Deny しているので、HTTPS を使っている通信を拒否するという逆の意味になってしまう。
  • この条件では HTTPSしか許可するという目的は果たせない。

■SCS試験で押さえておくべきポイント

観点ポイント
✅ 転送中の暗号化の強制aws:SecureTransport 条件キーを使って HTTPS を強制
✅ 暗号化方式の違いs3:x-amz-server-side-encryption は保存時暗号化(SSE)であり、本問には不適
✅ Condition の構文"Bool": { "aws:SecureTransport": "false" }"Effect": "Deny" とセットで使う
✅ よくある間違いtrue のときに拒否するなど、逆の条件を設定しないよう注意

この問題は S3のバケットポリシーによるセキュリティ強制(転送時の暗号化) に関する頻出テーマです。
引き続き問題があれば、送ってください。

以下に 問題2 の内容を指定フォーマットで整理します。


■問題文(そのまま)

企業は、AWS Systems Manager Patch Manager を使用して、Amazon Linux 2 を実行する Amazon EC2 インスタンスにパッチを適用したいと考えています。EC2 インスタンスは、単一の AWS アカウントで実行されています。アカウント内の EC2 インスタンスからのインターネット接続は許可されていません。

セキュリティエンジニアは、Patch Manager で関連する設定を構成しています。セキュリティエンジニアは、EC2 インスタンスが Systems Manager のエンドポイントに接続できることを確認する必要があります。

これらの要件を満たすための手順の組み合わせてを選択してください。 (3 つ選択)


■選択肢(そのまま)

A
ゲートウェイ VPC エンドポイントへのルートでルートテーブルを更新します。

B
com.amazonaws.[region].s3 に対してゲートウェイ VPC エンドポイントを作成します。

C
Systems Manager のトラフィックを NAT ゲートウェイ経由でルーティングするように、ルートテーブルを更新します。

D
com.amazonaws.[region].ec2messages および com.amazonaws.[region].ssm のために VPC エンドポイントを作成します。

E
NAT ゲートウェイを作成します。

F
NAT ゲートウェイを通して更新トラフィックをルーティングするためにルートテーブルを更新します。


■問題文の要件の概要

  • Patch Manager を使って EC2 にパッチを適用したい
  • インターネット接続が禁止されている
  • Systems Manager に接続できるように構成する必要がある
  • NAT ゲートウェイは使えない
  • Private Subnet から Patch 用のリソース(SSM, EC2Messages, S3 など)へ接続が必要

■正解の選択肢と解説

A
「ゲートウェイ VPC エンドポイントへのルートでルートテーブルを更新します。」
→ ゲートウェイ型 VPC エンドポイント(S3)を使うには、ルートテーブルでルートを追加する必要がある。

B
「com.amazonaws.[region].s3 に対してゲートウェイ VPC エンドポイントを作成します。」
→ S3 へのアクセス(パッチダウンロード)に必須。Patch Manager は Amazon S3 にあるリポジトリを参照。

D
「com.amazonaws.[region].ec2messages および com.amazonaws.[region].ssm のために VPC エンドポイントを作成します。」
→ EC2 が Systems Manager とやり取りするにはこれらのインターフェース型エンドポイントが必要。


■不正解の選択肢の理由

C
「NAT ゲートウェイ経由でルーティングするようにルートテーブルを更新」
→ 問題文に **「インターネット接続は許可されていない」**とあるため、NAT ゲートウェイを使うのは前提違反。

E
「NAT ゲートウェイを作成します」
→ インターネット接続の禁止により使用不可。

F
「NAT ゲートウェイを通してルートを更新」
→ 同上。NAT 経由の構成は要件に違反。


■SCS試験で押さえておくべきポイント

観点詳細
SSMとの通信に必要なエンドポイントssm, ec2messages, ssmmessagesインターフェース型 VPC エンドポイント
Patchの取得元としてのS3Patch Manager はパッチカタログを Amazon S3 から取得するので、s3ゲートウェイ型 VPC エンドポイントが必要
インターネットが使えない場合NAT ゲートウェイは使用不可。全通信は VPC エンドポイント経由にすべき
ルートテーブルの設定ゲートウェイ型エンドポイント(S3など)は明示的にルートテーブルへ設定が必要

この問題は、インターネット非接続環境での Systems Manager 構成に関する実務的な設計問題です。
他の問題もあれば、引き続き送ってください。

以下に 問題3 の内容を指定フォーマットで整理します。


■問題文(そのまま)

ある企業は最近、AWS でのすべてのユーザーアクションをログに記録することを要求する新しいコンプライアンス基準を採用しました。ユーザーアクションは、AWS Organizations の組織に属するすべてのアカウントに対してログに記録する必要があります。同社は、指定されたアクションが発生したときに応答するアラームを設定する必要があります。アラームは、アラートを電子メール配信リストに転送する必要があります。アラートは、可能な限りリアルタイムに近いタイミングで発生する必要があります。


■選択肢(そのまま)

A
AWS CloudTrail の証跡を組織の証跡として実装します。Amazon CloudWatch Logs 転送を使用して証跡を設定します。CloudWatch Logs で、会社が指定するユーザーアクションイベントのメトリクスフィルターを設定します。Amazon CloudWatch アラームを作成して、報告された期間内に発生したアラートを提供し、Amazon Simple Notification Service (Amazon SNS) トピックにメッセージを公開します。

B
AWS CloudTrail の証跡を実装します。ログを Amazon S3 バケットに保存するように証跡を設定します。1 時間ごとに、S3 バケットを参照する AWS Glue Data Catalog を作成します。ログで指定されたアクションを識別するために、Data Catalog に対してクエリを開始するように Amazon Athena を設定します。

C
AWS CloudTrail の証跡を実装します。Amazon CloudWatch Logs 転送を使用して証跡を設定します。CloudWatch Logs で、会社が指定するユーザーアクションイベントのメトリクスフィルターを設定します。Amazon CloudWatch アラームを作成して、報告された期間内に発生したアラートを提供し、メッセージを Amazon Simple Queue Service (Amazon SQS) キューに送信します。

D
AWS CloudTrail の証跡を組織の証跡として実装します。Amazon S3 バケットにログを保存するように証跡を設定します。S3 バケットにプッシュされる新しいログファイルを取り込むファイルシステムとして S3 バケットをマウントするように Amazon EC2 インスタンスを設定します。指定されたアクションのいずれかがログで見つかった場合に、Amazon Simple Notification Service (Amazon SNS) トピックにメッセージを公開するようにも EC2 インスタンスを設定します。


■問題文の要件の概要

  • AWS Organizations 全体のアカウントでユーザーアクションをログに記録する必要がある。
  • アクション発生時にリアルタイムに近いアラートを送信したい。
  • アラートは電子メールに転送する必要がある(≒SNSトピックで通知)。

■正解の選択肢と解説

A
「CloudTrail 組織証跡 + CloudWatch Logs + メトリクスフィルター + CloudWatch アラーム + SNS」

  • 組織の証跡: AWS Organizations 全体をカバー。
  • CloudWatch Logs 連携: リアルタイム性を確保。
  • メトリクスフィルター + アラーム + SNS通知: 特定アクションをトリガーに即座に通知可能。

この構成は、リアルタイム性と組織全体の監査要件を満たすベストプラクティスです。


■不正解の選択肢の理由

B

  • CloudTrail → S3 → Glue/Athena という構成は バッチ処理向けであり、リアルタイム性に欠ける
  • また、組織の証跡ではないため全アカウント網羅できない可能性がある。

C

  • CloudWatch Logs → メトリクスフィルターまでは正しいが、通知先が **SQS(Queue)**であり、**即時通知(メール)**には適していない。

D

  • CloudTrail → S3 → EC2 によるログ解析は冗長かつ遅延がある。
  • EC2 によるログ監視処理は管理が複雑、リアルタイム性が低いため要件に合わない。

■SCS試験で押さえておくべきポイント

観点内容
✅ CloudTrail 組織証跡Organizations に属する全アカウントの API イベントを記録可能
✅ CloudWatch Logs 連携ログをリアルタイム監視できる
✅ メトリクスフィルター + アラームログパターンを検出して通知可能
✅ 通知手段SNS を使えばメールや Lambda 連携も容易に可能
⚠️ Athena / Glueバッチ分析や履歴分析には有用だが、リアルタイム性に欠ける
⚠️ EC2 ログ解析管理が煩雑、費用や運用負荷が高く推奨されない

続けて問題があればお送りください。リアルタイム通知や監査要件は SCS において頻出論点です。

以下に 問題4 の内容を指定フォーマットで整理します。


■問題文(そのまま)

企業のポリシーでは、呼び出し前にコードが変更されていないことを確認するために、コードを検証する必要があります。セキュリティエンジニアは、AWS Lambda 関数のコードを更新する必要があります。開発者はコードを確定し、Amazon S3 バケットにコードを保存しています。

これらの要件を満たすための最適な方法を選択してください。(2 つ選択)


■選択肢(そのまま)

A
AWS Secrets Manager ですべてのパスワードを保存します。

B
S3 バケットに ZIP ファイルで新しいコードをデプロイします。

C
Amazon CodeGuru でコードを分析します。

D
AWS Signer を使用して署名ジョブを呼び出します。新しい署名付きコードを Lambda 関数にデプロイします。

E
AWS Key Management Service (AWS KMS) を使用してコードを暗号化します。


■問題文の要件の概要

  • Lambda関数のコードが 実行前に変更されていないことを検証したい。
  • コードは S3バケットに保存されている。
  • セキュリティエンジニアが安全にデプロイしたい。

■正解の選択肢と解説

B. S3 バケットに ZIP ファイルで新しいコードをデプロイする

→ Lambda関数にコードをデプロイする際は、ZIP形式でS3に保存し、それを指定してデプロイするのが標準的。署名や検証の対象にもなりやすい形式。

D. AWS Signer を使用して署名ジョブを呼び出す。新しい署名付きコードを Lambda 関数にデプロイする

→ AWS Signer により、コードに署名を付与し、Lambda に署名付きコードを使ってデプロイすることで、「変更がないこと(整合性)を検証」できる。


■不正解の選択肢の理由

A. Secrets Manager にパスワードを保存
→ これはシークレット管理であり、コードの整合性検証とは無関係。

C. Amazon CodeGuru
コード品質やパフォーマンス分析を行うサービスであり、整合性検証や変更検知の機能は提供しない。

E. AWS KMS を使ってコードを暗号化
→ 暗号化はできますが、暗号化=整合性検証ではありません。KMSは主にデータ保護用途。


■SCS試験で押さえておくべきポイント

観点内容
✅ Lambda セキュリティコード署名により、変更の有無を検出できる
✅ AWS SignerLambda関数に署名付きコードを使うと、未署名コードの拒否や整合性チェックが可能
✅ ZIP形式デプロイLambdaでは ZIP ファイルが基本的なデプロイ形式(S3 or 直接アップロード)
❌ Secrets Manager/KMSセキュリティ関連サービスだが、コード整合性確認には不適
❌ CodeGuru静的解析ツールであり、セキュリティポリシー遵守用途ではない

続けて次の問題があればどうぞ。Lambdaのコード署名(AWS Signer)はSCS試験でもよく問われる重要トピックです。

以下に 問題5 の内容を指定フォーマットで整理します。


■問題文(そのまま)

ある企業は、機密データを Amazon S3 バケットに保存しています。同社は、Amazon S3 マネージドキーによるサーバー側の暗号化 (SSE-S3) を使用して、保存データを暗号化します。

セキュリティエンジニアは、S3 バケット内のデータが変更されないようにする必要があります。

この要件を満たすソリューションを選択してください。


■選択肢(そのまま)

A
S3 バケットポリシーを設定して、DELETE および PUT オブジェクトのアクセス許可を拒否します。

B
S3 バケットの暗号化を変更して、AWS Key Management Service (AWS KMS) のカスタマーマネージドキーを使用します。

C
S3 バケットに MFA (多要素認証) Delete 保護を設定します。

D
S3 バケットのバージョニングを有効にして、コンプライアンスモードで S3 オブジェクトロックを設定します。


■問題文の要件の概要

  • S3 に保存されている機密データが改ざん・変更されないことが求められている
  • データの**整合性・不変性(immutability)**の確保がポイント
  • 暗号化(SSE-S3)はすでに利用中 → それだけでは改ざん防止にはならない

■正解の選択肢と解説

D. S3 バケットのバージョニングを有効にして、コンプライアンスモードで S3 オブジェクトロックを設定します。

→ **S3 オブジェクトロック(コンプライアンスモード)**を使用すると、AWSアカウントのrootユーザーであっても削除・上書きが不可能になります。また、バージョニングによりオブジェクトの改ざんや誤操作からの復旧も可能になるため、要件(改ざん防止)を満たします。


■不正解の選択肢の理由

A. S3 バケットポリシーを設定して、DELETE および PUT オブジェクトのアクセス許可を拒否します。
→ 一見有効に見えますが、バケットポリシーを変更できる権限を持つユーザーがいれば、制限を回避できるため、完全な改ざん防止策にはなりません。

B. S3 バケットの暗号化を変更して、AWS KMS のカスタマーマネージドキーを使用します。
→ KMS による暗号化は保存時のデータ保護に有効ですが、データの変更や削除を防ぐものではないため不適。

C. S3 バケットに MFA Delete 保護を設定します。
→ MFA Delete はバージョニング有効時の削除操作を制限できますが、オブジェクトの変更や上書きは防げません。また設定や運用が難しく、試験でも過去問頻出だが万能ではない点に注意


■SCS試験で押さえておくべきポイント

観点内容
✅ データの不変性(immutability)**S3 Object Lock(コンプライアンスモード)**で改ざん防止が可能
✅ バージョニングバージョンの履歴を保持し、意図しない上書きや削除からの回復が可能
✅ SSE-S3/KMS暗号化は保存時保護であり、変更や削除防止には直結しない
❌ ポリシー制限拒否しても「ポリシーを変更可能な権限」を持つユーザーがいれば無力
❌ MFA Delete削除に制限はかかるが、上書きや変更には無力

この問題は データの整合性・不変性を確保する手段を正しく理解しているかを問う良問です。S3 Object Lock(特にコンプライアンスモード)はSCS試験で頻出ですので、ぜひ押さえておきましょう。

以下に 問題6 の内容を指定フォーマットで整理します。


■問題文(そのまま)

ある企業は、AWS アカウントで Amazon Macie、AWS Firewall Manager、Amazon Inspector、および AWS Shield Advanced を使用しています。同社は、アカウントに対して DDoS 攻撃が発生した場合にアラートを受信したいと考えています。

この要件を満たすソリューションを選択してください。


■選択肢(そのまま)

A
Amazon Macie を使用して、アクティブな DDoS イベントを検出します。Macie の調査結果に応答する Amazon CloudWatch アラームを作成します。

B
Amazon Inspector を使用してリソースを確認し、DDoS 攻撃に対して脆弱なリソースに対して Amazon CloudWatch アラームを呼び出します。

C
アクティブな DDoS イベントのために Firewall Manager のメトリクスを監視する Amazon CloudWatch アラームを作成します。

D
アクティブな DDoS イベントの AWS Shield Advanced メトリクスを監視する Amazon CloudWatch アラームを作成します。


■問題文の要件の概要

  • 企業はすでに AWS Shield Advanced を利用中
  • DDoS 攻撃発生時に通知(アラート)を受信したい
  • 他のサービス(Macie, Inspector, Firewall Manager)は導入済みだが、DDoS対策が目的

■正解の選択肢と解説

D. アクティブな DDoS イベントの AWS Shield Advanced メトリクスを監視する Amazon CloudWatch アラームを作成します。

AWS Shield Advanced は DDoS に特化したサービスで、アクティブな攻撃を検出すると CloudWatch メトリクス(例:DDoSDetected を発行します。
CloudWatch アラームを使えば、DDoS検出時に即座に通知(SNSやメール)が可能になるため、要件を完全に満たします。


■不正解の選択肢の理由

A. Macie で DDoS イベントを検出して CloudWatch アラームを設定
Macie は機密データの分類と保護に特化しており、ネットワーク攻撃の検出(特に DDoS)には対応していない。

B. Inspector で DDoS 脆弱性を確認して CloudWatch アラーム
Inspector は脆弱性スキャンのサービスで、攻撃のリアルタイム検出や通知は不可。攻撃検知とは無関係。

C. Firewall Manager のメトリクスを監視
→ Firewall Manager はWAFやShieldのポリシー管理を統合するサービスであり、直接的なDDoS検出機能やCloudWatch連携メトリクスは提供していない


■SCS試験で押さえておくべきポイント

観点内容
✅ DDoS検知と通知AWS Shield Advanced + CloudWatchアラームが標準的な構成
✅ DDoS関連メトリクスDDoSDetected, DDoSAttackPacketsPerSecond, DDoSAttackRequestsPerSecond など
✅ CloudWatchアラームメトリクスを条件にアラートを自動送信(SNS通知や自動対応)
❌ Macie / Inspectorデータセキュリティ・脆弱性管理であり、DDoSには非対応
❌ Firewall Managerポリシー一元管理は可能だが、DDoSイベント検出用のメトリクス提供はない

この問題は「DDoS対策の中でも“攻撃の検知と通知”に使う具体サービスとメトリクスの知識」を問う良問です。SCSではよく出るテーマなので、Shield Advanced + CloudWatch の連携は必ず押さえておきましょう。
次の問題があればどうぞ。

以下に 問題7 の内容を指定フォーマットで整理します。


■問題文(そのまま)

ある企業は、Amazon S3 に保存されているすべてのデータを暗号化する必要があります。同社は、AWS Key Management Service (AWS KMS) を使用して、暗号化キーを作成および管理したいと考えています。会社のセキュリティポリシーでは、会社独自のキーマテリアルをインポートし、キーに有効期限を設定し、必要に応じてキーをすぐに削除する機能が必要です。

これらの要件を満たすために AWS KMS をどのように設定する必要がありますか?


■選択肢(そのまま)

A
AWS KMS を設定し、カスタムキーストアを使用します。キーマテリアルのない AWS マネージドキーを作成します。会社のキーとキーマテリアルを KMS キーにインポートします。

B
AWS KMS を設定し、カスタムキーストアを使用します。キーマテリアルのないカスタマーマネージドキーを作成します。会社のキーとキーマテリアルを KMS キーにインポートします。

C
AWS KMS を設定し、デフォルトのキーストアを使用します。キーマテリアルのない AWS マネージドキーを作成します。会社のキーとキーマテリアルを KMS キーにインポートします。

D
AWS KMS を設定し、デフォルトのキーストアを使用します。キーマテリアルのないカスタマーマネージドキーを作成します。会社のキーとキーマテリアルを KMS キーにインポートします。


■問題文の要件の概要

  • 独自のキーマテリアルをインポートしたい
  • キーに有効期限を設定できる必要がある
  • キーを即座に削除できる機能も必要
  • データは S3 に保存(=KMS連携可能)

■正解の選択肢と解説

D. AWS KMS を設定し、デフォルトのキーストアを使用します。キーマテリアルのないカスタマーマネージドキーを作成します。会社のキーとキーマテリアルを KMS キーにインポートします。

→ AWS KMS の デフォルトキーストアでは、カスタマーマネージドキー(CMK)を作成し、独自のキーマテリアルをインポート可能。
また、有効期限(expiration time)の設定や、明示的な削除操作(ScheduleKeyDeletion)にも対応しており、企業のセキュリティポリシーに合致する。


■不正解の選択肢の理由

A. AWS マネージドキー(AWSが管理)を使ってキーマテリアルをインポートする
AWS マネージドキーにはキーマテリアルをインポートできない。管理は完全にAWS側で行われ、顧客は制御できない。

B. カスタムキーストアを使用してキーマテリアルをインポートする
→ 一見正解に見えるが、カスタムキーストアではキーマテリアルのインポートはサポートされていない(CloudHSMで生成されるため)。明確に誤り。

C. デフォルトのキーストアで AWS マネージドキーを使用しインポート
→ 同様に、AWS マネージドキーに対してはキーマテリアルのインポートは不可


■SCS試験で押さえておくべきポイント

観点内容
✅ キーマテリアルのインポートカスタマーマネージドキー + デフォルトキーストアで対応可能。
❌ AWS マネージドキー**インポート、削除、期限設定不可。**AWSが管理する。
❌ カスタムキーストアCloudHSMベースで、キーマテリアルインポートは非対応。主にHSMを必要とする高セキュリティ要件向け。
✅ キーの削除ScheduleKeyDeletion で即時〜最大7日まで削除スケジュール設定可能
✅ 有効期限設定ExpirationModel: KEY_MATERIAL_EXPIRES でキーマテリアルの有効期限を定義可能(インポート時)

この問題は **AWS KMS におけるキーの管理モードの理解(マネージド or カスタマー)とキーストアの違い(デフォルト or カスタム)**を問う良問です。
「独自キーマテリアルのインポート」=CMK + デフォルトキーストアと覚えておくと確実です。

次の問題があればどうぞ。