あるフィンテック企業では、Lambda関数がクレジットカード番号・社会保障番号(SSN:米国の個人識別番号)・メールアドレスなどのPII(個人識別情報)を処理します。開発者はデバッグのためCloudWatch Logsにアクセスする必要がありますが、コンプライアンス要件として「PIIがログに含まれた場合でも開発者から見えないようにする」ことが義務付けられています。アプリケーションコードを一切変更せずにこれを実現する最適な方法はどれですか?
Amazon CloudWatch Logsのデータ保護ポリシーは、ロググループへの書き込み時にクレジットカード番号・SSN・メールアドレス等のPIIをマネージドデータ識別子で自動検出し、アスタリスク(****)でマスキングします。アプリケーションコードの変更不要で、管理者は特別なIAM権限により監査目的で元データを確認できます。 選択肢BのKinesis+Lambda経由のPII除去は機能しますが、元のCloudWatch Logsには未加工のPIIが一時的に残り、アーキテクチャも複雑化します。アプリコード不変の要件は満たしますが、過剰な実装です。 選択肢Cは開発者のCloudWatch Logsアクセスを完全に剥奪するとデバッグができなくなり、デバッグアクセスを確保しながらPIIを隠すという要件を両立できません。 選択肢DのCloudWatch Logs InsightsダッシュボードはUIレベルの制限に過ぎず、APIやCLI経由での直接アクセスを防ぐことができないため、コンプライアンス要件の強制力として不十分です。