DOPモニタリングとロギング
ある医療系企業では、複数のマイクロサービスがアプリケーションログをCloudWatch Logsに出力している。監査により、一部のログにメールアドレスや保険証番号などの機密情報が平文で記録されていることが判明した。
開発チームによるコード修正を待たずに、今後CloudWatch Logsに取り込まれるログイベント内の機密データを自動的にマスキングしつつ、権限を持つ調査担当者のみが元の値を一時的に閲覧できるようにしたい。最小限の運用負荷でこれを実現する方法はどれか。
AAmazon Macieでロググループを定期スキャンし、検出された機密データを含むログイベントを自動的に削除する
Amazon MacieはS3内のオブジェクトを対象に機密データを検出するサービスで、CloudWatch Logsのロググループを直接スキャンできない。またログを自動削除すると監査証跡が失われ、調査担当者が元の値を閲覧するという要件も満たせない。
BCloudWatch Logsのデータ保護ポリシーをロググループに適用し、マネージドデータ識別子で機密データを検出・マスキングし、logs:Unmask権限を持つ担当者のみが元の値を閲覧できるようにする
✓ 正解
データ保護ポリシーはロググループ単位で適用でき、マネージドデータ識別子がメールアドレス等の機密データを自動検出してマスキングする。logs:Unmask権限を持つ担当者のみが一時的に元値を閲覧でき、コード修正も不要で運用負荷を最小に抑えられる。
Cサブスクリプションフィルターで全ログをLambda関数に転送し、正規表現ルールで機密フィールドを都度マスキングした結果を新しいロググループへ書き込み、元のロググループは短い保持期間を設定して自動失効させる
サブスクリプションフィルターとLambdaで正規表現マスキングを行う方式は実装・保守の負荷が高く、新しい機密パターンごとにコード更新が必要になる。元値を安全に一時閲覧する仕組みもなく、要件に対して過剰な運用コストがかかる。
Dログ出力側にKMSカスタマーマネージドキーを設定し、機密フィールドを暗号化した状態でロググループに保存する
KMSによるフィールド暗号化はログ出力側のアプリ改修が前提で「コード修正を待たずに」という要件に反する。暗号化は保管時の保護であり、特定担当者のみがマスクを解除して元値を閲覧するというきめ細かな制御は実現できない。
解説
CloudWatch Logsのデータ保護ポリシーはロググループ単位で機密データの検出・マスキングを行う機能です。マネージドデータ識別子がメールアドレスや各種IDを自動検出してマスクし、logs:Unmask権限を持つ担当者のみが一時的に元の値を閲覧できます。
マスキングは取り込み時に適用されるためポリシー適用後に届くログが対象となり、アプリのコード修正が不要で運用負荷が低いのが利点です(適用前に既に取り込まれた過去ログには遡及しません)。
選択肢0のAmazon MacieはS3を対象とするためCloudWatch Logsを直接スキャンできず、ログ削除は監査証跡を損ないます。
選択肢2のLambda正規表現マスキングは保守負荷が高く元値の安全な閲覧手段もありません。
選択肢3のKMS暗号化はアプリ改修が前提で、特定担当者のみのマスク解除閲覧は実現できません。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでDOPを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →