注意
MongoDB Atlas での監査
MongoDB Atlas は、 M10以上のクラスターの監査をサポートしています。 詳しくは、MongoDB Atlas ドキュメントのデータベース監査の設定を参照してください。
MongoDB Enterprise には、mongod および mongos インスタンスの監査機能が含まれています。監査機能により、管理者とユーザーは、複数のユーザーとアプリケーションを使用した配置のシステムアクティビティを追跡できます。
監査出力の有効化と構成
監査機能は、監査イベントをコンソール、syslog、JSON ファイル、または BSON ファイルに書き込むことができます。MongoDB Enterprise で監査を有効にするには、--auditDestination を使用して監査出力先を設定します。詳しくは、「監査の構成」を参照してください。
監査ログ メッセージについて詳しくは、「システム イベント監査メッセージ」を参照してください。
監査イベントとフィルター
監査システムを有効にすると、次の操作を記録できます [1]:
スキーマ(DDL)、
レプリカセットとシャーディングされたクラスター
認証と承認、
CRUD 操作(
auditAuthorizationSuccessをtrueに設定する必要があります)。
注意
MongoDB 5.0 以降、セカンダリは複製された変更のログ監査するイベントを記録しません。ローカルのデータベースと system.profile コレクションを変更する DDL 操作については、DDL 監査イベントが引き続き記録されます。
監査対象アクションの詳細については「システムイベント監査メッセージ」をご覧ください。
フィルターを使用して、キャプチャされたイベントを制限します。詳細については、「監査するフィルターの構成」を参照してください。
| [1] | 中止されたトランザクション内の操作では、引き続き監査イベントが生成されます。ただし、トランザクションが中止されたことを示す監査イベントはありません。 |
監査保証
監査するシステムは、すべての監査イベント [2] をメモリ内バッファに書き込み (write)ます。MongoDB では、このバッファが定期的にディスクへの書き込み (write) を行います。
1 つの接続からのイベントは順序付きです。MongoDB で 1 つのイベントがディスクに書き込み (write) されると、その接続の以前のすべてのイベントが書き込み (write) されたことになります。
監査するイベントが、データの変更など、データベースの耐久性がある状態に影響を与える操作に対応する場合、 MongoDB、そのエントリの前に監査するイベントがディスクに書き込みされますジャーナルに書き込み。MongoDB では、操作をジャーナルに追加する前に、その操作のエントリを含め、その接続に関するすべての監査イベントが書き込み (write) されます。
警告
MongoDB は、イベントを監査ログにコミットする前にサーバーが終了した場合、イベントを失う可能性があります。MongoDB が監査ログにコミットする前に、クライアントはイベントの確認を受け取る場合があります。たとえば、集計操作を監査しているときに、結果を返した後、監査ログがフラッシュされる前にサーバーが終了することがあります。
さらに、サーバーが audit destination で監査するログに書き込み (write) ができない場合、サーバーは終了します。
| [2] | 監査構成には、監査するイベントを制限するフィルターを含めることができます。 |