Nota
Auditoría en MongoDB Atlas
MongoDB Atlas admite auditorías para M10 y clústeres más grandes. Para obtener más información,consulte "Configurar la auditoría de bases de datos" en la documentación de MongoDB Atlas.
MongoDB Enterprise incluye una capacidad de auditoría para
mongod mongos Instancias y. La función de auditoría permite a los administradores y usuarios realizar un seguimiento de la actividad del sistema en implementaciones con múltiples usuarios y aplicaciones.
Habilitar y configurar la salida de auditoría
La función de auditoría puede escribir eventos de auditoría en la consola, el syslog, un archivo JSON o un archivo BSON. Para habilitar la auditoría en MongoDB Enterprise, configure un destino de salida de auditoría --auditDestination con. Para obtener más información, consulte Configurar auditoría.
Para obtener información sobre los mensajes del registro de auditoría, consulte Mensajes de auditoría de eventos del sistema.
Eventos de auditoría y filtros
Una vez habilitado, el sistema de auditoría puede registrar las siguientes operaciones []:1
esquema (DDL),
conjunto de réplicas y clúster fragmentado,
autenticación y autorización, y
Operaciones CRUD (requiere que el
auditAuthorizationSuccessesté configurado entrue).
Nota
A partir de MongoDB,5.0 lasinstancias secundarias no registran eventos de auditoría DDL para los cambios replicados. Sin embargo, sí se registran eventos de auditoría DDL para las operaciones DDL que modifican la base de datos local y la system.profile colección.
Para obtener detalles sobre las acciones auditadas,consulte Acciones, detalles y resultados de eventos de auditoría.
Con el sistema de auditoría, puede configurar filtros para restringir los eventos capturados. Para configurar filtros, consulte Configurar filtros de auditoría.
| [1] | Las operaciones en una transacción cancelada aún generan eventos de auditoría. Sin embargo, no hay ningún evento de auditoría que indique que la transacción se canceló. |
Garantía de auditoría
El sistema de auditoría escribe cada evento de auditoría []2 en un búfer de eventos de auditoría en memoria. MongoDB escribe este búfer en el disco periódicamente. Para los eventos recopilados de una sola conexión, estos tienen un orden total: si MongoDB escribe un evento en el disco, el sistema garantiza que ha escrito todos los eventos anteriores de esa conexión en el disco.
Si una entrada de evento de auditoría corresponde a una operación que afecta el estado duradero de la base de datos, como una modificación de datos, MongoDB siempre escribirá el evento de auditoría en el disco antes de escribir en el diario para esa entrada.
Es decir, antes de agregar una operación al diario, MongoDB escribe todos los eventos de auditoría en la conexión que activó la operación, hasta la entrada de la operación inclusive.
Estas garantías de auditoría requieren que MongoDB se ejecute con journaling habilitado.
Advertencia
MongoDB puede perder eventos si el servidor termina antes de que los eventos se registren en el registro de auditoría. El cliente puede recibir confirmación del evento antes de que MongoDB lo registre en el registro de auditoría. Por ejemplo, al auditar una operación de agregación, el servidor podría finalizar después de devolver el resultado, pero antes de que el registro de auditoría se vacíe.
Además, si el servidor no puede escribir en el registro de auditoría en, el servidor audit destination finalizará.
| [2] | La configuración de auditoría puede incluir un filtro para limitar los eventos a auditar. |