1.4標準
顧客IDを受け取り、AthenaまたはRedshiftで対象データを検索する。
入力値をSQL文字列へ直接連結せず、意図しない条件変更を防ぐ。
最も適切な方法はどれか。
× 不正解
パラメータ化クエリや型検証で入力値をSQL構文から分離し、SQLインジェクションと意図しない全件検索を防ぐ。
詳細解説
正しいパラメータ化クエリまたは厳格な型検証を使う
入力値をSQL構文と分離し、許容形式を検証してインジェクションを防ぐ。
入力値をSQL構文と分離し、許容形式を検証してインジェクションを防ぐ。
誤り入力をSQL文字列へそのまま連結する
引用符や演算子を含む入力で条件が変わり、SQLインジェクションの危険がある。
引用符や演算子を含む入力で条件が変わり、SQLインジェクションの危険がある。
誤りS3バケットを公開してクエリを簡単にする
公開設定は入力検証を行わず、機密データを露出させる。
公開設定は入力検証を行わず、機密データを露出させる。
誤りCloudTrailのログをWHERE句へ追加する
監査ログを条件へ追加しても、入力値の安全性を確保しない。
監査ログを条件へ追加しても、入力値の安全性を確保しない。
実際に確かめる
一時的な検証環境で実行できる例です。
Amazon Athena・Redshiftのパラメータ化クエリ、IAM、S3セキュリティの公式説明を確認する。期待される結果
SQL入力検証とS3公開・監査ログの役割を区別できる。理解のポイント
- SQL
- パラメータ化
- 入力検証
- インジェクション
確認時の注意
- 確認環境: AWS公式DEA-C01試験ガイドと各サービスの公式ドキュメントの確認
- AWS公式DEA-C01 Domain 1と各サービスの公式ドキュメントを確認する。
基礎のおさらい
コードとデータの分離
SQLテンプレートと値を別引数にし、文字列連結を避ける。
権限の最小化
クエリ実行ロール、対象テーブル、S3データの権限を必要最小限にする。
問題IDAWS-DEA-087
確認環境AWS公式DEA-C01試験ガイドと各サービスの公式ドキュメントの確認
最終技術確認2026-08-20
誤り・権利侵害を報告