DEAデータのセキュリティとガバナンス
ある金融企業の Amazon Redshift クラスターでは、誰がいつどのテーブルにアクセスし、どのような SQL を実行したかを長期間保管し、コンプライアンス監査に提出する必要があります。クラスターの再起動後も監査ログが失われず、外部の分析ツールでも検索可能にしたいと考えています。最も適切な方法はどれですか。
ARedshift の監査ログ機能を有効化し、接続ログ・ユーザーログ・ユーザーアクティビティログを Amazon S3 に出力する
✓ 正解
Redshift の監査ログ機能は接続・ユーザー・ユーザーアクティビティ(SQL 内容)のログを S3 に永続出力でき、再起動後も保持される。Athena 等で検索可能なため長期監査の要件を満たし最適。
BRedshift クラスターの STL システムテーブルを定期的にクエリし、結果を CSV でローカルに保存する
STL システムテーブルはクエリ履歴を保持するが数日でローテーションされ、クラスター再起動でも失われ得る。長期保管とログ消失防止の要件を満たさないため不適切。
CAWS CloudTrail を有効化し、Redshift 内で実行された全 SQL クエリを記録して S3 に保管する
CloudTrail は Redshift の管理 API 呼び出しを記録するが、クラスター内部で実行された個々の SQL クエリ文の内容は記録しない。実行 SQL の監査という要件を満たせない。
DAmazon CloudWatch Logs に Redshift のクエリパフォーマンスメトリクスを送信し保管する
CloudWatch のパフォーマンスメトリクスは CPU やクエリ時間などの数値監視データであり、誰がどの SQL を実行したかという監査証跡を提供しない。要件と無関係。
解説
Amazon Redshiftの監査ログ機能(Audit Logging)は、接続ログ・ユーザーログ・ユーザーアクティビティログ(実行されたSQLを含む)をAmazon S3またはCloudWatch Logsに出力できます。S3に出力すれば、クラスター再起動やシステムテーブルのローテーション後もログが永続的に保持され、Athenaなどの外部ツールで検索・分析できるため、長期保管とコンプライアンス監査の要件を満たします。
STLシステムテーブルはクラスター内にのみ存在し保持期間が限られるため、長期保管には不適切です。CloudTrailはRedshiftのAPI操作(クラスター作成・変更など)は記録しますが、SQL文(DML)の内容は記録しません。CloudWatch Logsはパフォーマンスメトリクスの監視を目的とするものであり、実行SQLの監査ログ取得には対応していません。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでDEAを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →