# 00_overview/00_06_audit_log.md # 監査ログ設計 **保存先**: `public_html/docs/00_overview/00_06_audit_log.md` **作成日**: 2026-10-27 **担当**: Deepseek(5代目) **状態**: 初版(v1.0)。全体管理者・真柴様の承認前につき、内容は確定ではない --- ## 1. 目的 情報漏洩や不正操作が発生した際に、「誰が・いつ・何をしたか」を追跡できるようにする。あわせて、操作の証跡を残すことで、権限者の暴走を抑止する。 ## 2. 記録対象の操作一覧 | 操作の種類 | 記録内容の例 | 優先度 | |---|---|---| | ログイン成功・失敗 | 日時、ユーザーID、IPアドレス、成否 | 高 | | ログアウト | 日時、ユーザーID | 中 | | 権限変更 | 日時、実行者、対象者、変更前後の権限 | 高 | | アカウント停止・解除 | 日時、申請者、承認者、対象者、理由 | 高 | | `emergency_override` の使用(停止者のIDで管理者がログイン) | 日時、実行者、対象者ID、理由 | 高 | | マスタの追加・編集・削除 | 日時、実行者、対象マスタ、変更前後 | 高 | | 業務データの閲覧 | 日時、実行者、対象データ(監査用リスト等) | 高 | | 業務データの変更・削除 | 日時、実行者、対象データ、変更前後 | 高 | | 会計データの変更 | 日時、実行者、対象仕訳、変更前後 | 高 | | メール送信(担当者一覧からの送信) | 日時、送信者、宛先ID(本文は記録しない) | 中 | | バックアップ・復旧 | 日時、実行者、対象データ、復旧元 | 中 | | エクスポート(CSV・PDF出力) | 日時、実行者、対象データ | 中 | ## 3. ログの保存場所・形式 ### 3.1 保存場所 - `data/logs/` 配下に、種類別のJSONファイルとして保存する(**ツリー未反映**。仕様書の承認後にツリーへ載せる)。 - `login_log.json`(ログイン履歴) - `operation_log.json`(操作全般) - `audit_access_log.json`(監査用リスト閲覧。既存仕様 `05_05_employee_audit_list.md` 参照) - `account_suspend_log.json`(停止・解除) - `backup_log.json`(バックアップ・復旧) ### 3.2 ログの形式(例) ```json { "logs": [ { "timestamp": "2026-10-27 10:00:00", "user_id": "SPS01-00001", "action": "login_success", "target": null, "detail": "IP: 203.0.113.1", "ip_address": "203.0.113.1" } ] } ``` ## 4. 改ざん防止策 - ログは**追記専用**とし、既存エントリの変更・削除を禁止する(API側で制御)。 - 必要に応じて、各ログエントリにハッシュ値を付与し、改ざん検知を可能とする(要確認:実装コストとのバランス)。 - ログファイル自体のバックアップを定期的に取得する(`00_05_data_protection.md` 参照)。 ## 5. 調査手順(情報漏洩発生時) 1. 漏洩の疑いがあるデータを特定する。 2. 該当データにアクセスした可能性のあるユーザーを、`login_log.json` と `operation_log.json` から抽出する。 3. 抽出したユーザーの操作履歴を時系列で確認する。 4. 不審な操作(通常と異なる時間帯のアクセス、大量ダウンロード等)を特定する。 5. 必要に応じて、対象アカウントを `account_suspend` で停止する。 6. 調査結果を記録し、再発防止策を検討する。 ## 6. 関連仕様書 | 仕様書 | 内容 | |---|---| | `00_overview/00_05_data_protection.md` | データ保全・バックアップ設計(会計データを除く) | | `00_overview/00_03_login_session.md` | ログイン・セッション管理、`emergency_override` / `account_suspend` | | `06_permission/06_01_permission_design.md` | 権限設計(`supreme_access` 等) | | `05_employee_management/05_05_employee_audit_list.md` | 監査用リスト閲覧ログ(`audit_access_log.json`)の既存仕様 | | `07_accounting/07_04_export_import.md` | 会計データのバックアップ・リストア | ## 7. 未決事項(要確認) 1. ログの保持期間(無期限か、一定期間か)。 2. ハッシュ値付与の要否。 3. 閲覧ログの対象範囲(すべての画面か、機密性の高い画面のみか)。 4. ログの閲覧権限(誰がログを見られるか)。 5. `audit_access_log.json` の既存仕様(`05_05_employee_audit_list.md`)との統合方針。 ## 8. 改訂履歴 | 日付 | 版 | 担当 | 内容 | |------|----|------|------| | 2026-10-27 | 1.0 | Deepseek(5代目) | 初版作成。情報漏洩・不正操作の追跡と操作証跡の確保を目的とした監査ログ仕様 |