記録と監査/ Audit Trail
誰がいつ何をしたか ― 消せない記録と、開く範囲
監査ログは、情報漏洩の防止と説明責任のために置いている台帳です。松葉では利用者の操作をすべて記録し、後から書き換えることも消すこともできません。この章では、何が記録されるか、どれだけの期間どこに保管されるか、Box のメンバーにどこまで開いているか、そして管理者自身の閲覧と操作がどう残るかを説明します。全社を横断して調べる画面はこれから実装しますが、書き出しのしくみ自体はすでに動いています。
何が記録されるかWhat Is Recorded
松葉は、利用者の操作をすべて記録します 稼働中。誰が・いつ・何に対して・どこから行ったかが 1 操作 1 行で残り、社内・社外の区別なく、アカウントを持たない共有リンクの受取人やファイルの提出者の操作も同じ台帳(audit_logs)に入ります。
| 分類 | 記録される操作の例 |
|---|---|
| サインインと本人確認 | サインイン/確認コードによる本人確認/パスワードの追加・変更・再設定/セッションの失効/信頼済みデバイスの取消/利用規約とプライバシーポリシーへの同意 |
| Box とメンバー | Box の作成・設定変更・可視性の変更・アーカイブ・削除・復元/メンバーの追加とロール変更・退出/招待の送付と受諾/参加申請と承認・却下 |
| ファイルとフォルダ | アップロードと差し替え/ダウンロードと一括ダウンロード/プレビューで開いたこと/移動・名前の変更/説明とタグの編集/コメントの投稿・編集・削除/ゴミ箱への削除と復元/完全削除/保持の固定(HOLD)の切り替え |
| 社外との受け渡し | 共有リンクとファイルリクエストの発行・失効・案内メールの送信/受取人がリンクを開いたこと/提出されたファイルの取り込み |
| 検査と同期 | ウイルス検査の判定(クリーン/隔離済み/スキャン失敗)/隔離ファイルの取り出しと恒久削除/Drive 同期の再実行と、管轄外ファイルなどの検知 |
| 管理者の操作 | 理由を必須とする重大操作/全社設定の変更/隔離や共有リンクへの介入/監査ログそのものの閲覧 |
行為者と接続元も一緒に残る
各行には、その操作を行った立場が 6 種類で付きます。利用者(Box のメンバーとしての操作)/システム管理者(管理コンソールからの操作)/社内の閲覧者(社内に公開された Box を、メンバーでない社内の方が開いた場合)/共有リンクの受取人/ファイルの提出者/システム(自動処理による操作)です。アカウントを持たない相手の操作まで追えるのも、管理者の操作を後から選り分けられるのも、この区別があるためです。あわせて、接続元の IP アドレスと利用した端末・ブラウザの情報を記録します。取引先の方の操作でも同じように残ります。
改ざんできない保管Tamper-proof Storage
記録は書き足すことしかできません。後から書き換える・消すという操作は、アプリの画面に無いだけでなく、データベース側の決まりとして拒否されます。システム管理者の権限でも同じです。監査の記録は「都合の悪い行を消せない」ことで初めて価値を持つためです。
色の役割 — Teal:稼働中の処理 / 金茶:保管と時間もの / 赤:書き換えを止める防御。データベースに置く 2 年は「絞り込んで調べる期間」、退避したぶんは「求められたら取り出す長期保存」という役割分担です。退避の実行は毎月 1 回の自動処理で、現在も動いています。
| 期間 | 置き場所 | 状態 |
|---|---|---|
| 直近 2 年 | データベース。月ごとの区画に分けてあり、絞り込みや書き出しが速いまま保てます。 | 稼働中 |
| 25 ヶ月より前 | Cloud Storage の監査エクスポートバケット。毎月 1 回の自動処理が古い区画を退避します。 | 稼働中 |
| 退避したあと | 期限を決めずに保管します。いつまで持つかの方針は運用の中で決めます。取り出しはエンジニア対応です。 | 稼働中 |
無効化から 5 年が経ったアカウントを完全に消すときは、その方が行った操作の記録が 2 年の保存期間を過ぎ、月次の退避でデータベースの外へ移し終えているかを先に確かめます。まだ残っていれば消去は行いません。退避した記録はそのままの形で保管されるため、人の情報を消しても事実の記録は残ります。なお、消去そのものは対象を毎月洗い出したうえで管理者が承認して実行し、承認の画面は 実装予定 · Step 4b です。
メンバーに開く履歴Activity for Members
監査ログは管理者だけのものではありません。Box の中で起きたことは、その Box のメンバー全員が「アクティビティ」タブで見られます 稼働中。「誰がこのファイルを消したのか」を管理者に問い合わせずに済ませるためで、表示のみ(編集も削除もできません)です。
| 見え方 | 内容 | 見られる人 | 状態 |
|---|---|---|---|
| アクティビティ | アップロードと差し替え/削除と復元/フォルダの操作/メンバーの出入りとロール変更/共有リンクの発行と失効/コメント/保持の固定(HOLD)の切り替え。新しい順に並び、種別で絞り込めます。 | Box のメンバー全員 | 稼働中 |
| アクセス履歴 | 「誰がどのファイルを見た・落としたか」。ダウンロードとプレビューの記録で、共有リンクの受取人によるアクセスも含みます。 | Box のオーナーのみ | 稼働中 |
| CSV の書き出し | 表示中の履歴を表計算ソフトで扱える形に書き出します。メールアドレスは先頭 1 文字とドメインだけを残した伏せ字になり、接続元の IP アドレスや端末情報は列に含めません。 | Box のオーナーのみ | 稼働中 |
見るのはメンバー、持ち出すのはオーナー
画面で見られる範囲と、ファイルとして書き出せる範囲は意図的にそろえていません。画面の履歴は、その Box の中で起きたことを共有するためのもので、メンバーが自分の作業の前後関係を把握できることに価値があります。一方、書き出したファイルは Box の外へ持ち出せてしまい、誰がいつ何を見たかという情報が Box の外で流通します。そのため書き出しはオーナーに限り、アクセス履歴の閲覧も同じ理由でオーナー限定にしています。
Box の履歴の書き出しは、期間が 31 日以内ならその場でダウンロードできます。それより長い期間を指定した場合は自動処理へ回り、できあがった時点でメールが届きます。
管理者向けの監査ログ画面The Admin View
全社を横断して記録を調べる画面は 実装予定 · Step 4b です。ただし書き出しのしくみそのものは、すでに動いています。配管は通っていて、そこをひねる蛇口がまだ付いていない状態、と捉えるのが正確です。
| 要素 | 内容 | 状態 |
|---|---|---|
| 書き出しの受け付け | 期間などを指定して全社ぶんの書き出しを申し込む窓口。 | 稼働中 |
| 大きさによる振り分け | 期間が 31 日以内で、かつ見積もった行数が 10 万行以下ならその場で受け取り。どちらかを超える依頼は自動処理へ回します。 | 稼働中 |
| 完了のお知らせ | 自動処理が終わると、申し込んだ本人へメールが届きます。メール内のリンクは一定時間有効で、できあがったファイル自体は一定期間保管され、その間は取り直せます。 | 稼働中 |
| 操作する画面 | 期間・行為者・対象・種別での絞り込み、件数の推移のグラフ、画面からの書き出し。この画面がまだありません。現時点で全社ぶんを取り出すには開発側の直接操作が必要で、管理者が自分で行える状態ではありません。 | 実装予定 · Step 4b |
監査する側も監査されるAuditing the Auditor
システム管理者は、全社のファイルにも記録にも手が届く立場です。その権限を持つ人の行動が記録から抜けていると、台帳そのものが信用できなくなります。松葉では管理者の操作も、利用者とまったく同じ台帳に残ります 稼働中。閲覧そのものを記録する仕組みは、監査ログを読み出す窓口に組み込んであります。監査ログ画面 実装予定 · Step 4b が使えるようになると、閲覧の記録も日常的に積み上がっていきます。
| 対象 | 残るもの | 状態 |
|---|---|---|
| 管理コンソールでの操作 | 再スキャンの指示、隔離ファイルの取り出しと恒久削除、Drive 同期の再投入、共有リンクの強制失効、通知の再送。行為者が管理者であることが分かる形で残ります。 | 稼働中 |
| 記録を見たこと | 監査ログを閲覧した事実そのものが 1 行として残ります。ページを送るたびに 1 行増えるため、「どこまで見たか」も残ります。記録する仕組みは読み出しの窓口に組み込み済みで、監査ログ画面ができると日常的に残るようになります。 | 稼働中(閲覧画面は実装予定 · Step 4b) |
| 重大操作の理由 | 取り返しのつかない 14 種の操作は、理由の入力を必須にしたうえで記録します(二要素認証のリセット、セッションの失効、ユーザの削除、オーナーの強制変更、全社の保持期間の変更、隔離ファイルの取り出しなど)。このうち隔離ファイルの取り出しのように、いまの画面で行える操作はすでに記録されています。残りは、対応する管理画面ができるのと同時に入ります。 | 稼働中(いま行える操作の分) |
| 全管理者への同報 | 重大操作が行われたとき、他のシステム管理者全員へ即時にメールで知らせます。1 人の判断が他の管理者から見えない状態を作らないためです。 | 実装予定 · Step 4b |
記録は書き足すことしかできないため、管理者が自分の行を消して痕跡を絶つことはできません。組み合わせると、「誰かが記録を調べた」ことも「調べた人が何をしたか」も、後から第三者が辿れる状態になります。監査を求められたときに示すべきものが、そのまま残る形です。