Auditoria de sistemas autogerenciados
Nesta página
O MongoDB Enterprise inclui um recurso de auditoria para instâncias do mongod
e mongos
. O recurso de auditoria permite que administradores e usuários rastreiem a atividade do sistema para implementações com vários usuários e aplicativos.
Habilitar e configurar saída de auditoria
A instalação de auditoria pode escrever eventos de auditoria no console, o syslog, um arquivo JSON ou um arquivo BSON. Para habilitar a auditoria para o MongoDB Enterprise, consulte Configurar auditoria em implementações autogerenciadas.
Para obter informações sobre as mensagens de registro de auditoria, consulte Mensagens de auditoria de eventos do sistema em implementações autogerenciadas.
Filtro e eventos de auditoria
Uma vez habilitado, o sistema de auditoria pode registrar as seguintes operações [1]:
esquema (DDL),
conjunto de réplicas e cluster fragmentado,
autenticação e autorização, e
Operações CRUD (requer
auditAuthorizationSuccess
definido comotrue
).
Observação
A partir do MongoDB 5.0, secundários não registram eventos de auditoria DDL para alterações replicadas. Os eventos de auditoria DDL ainda são registrados para operações DDL que modificam o banco de dados local e a collection system.profile
.
Para obter detalhes sobre ações auditadas, consulte Ações, detalhes e resultados de eventos de auditoria.
Com o sistema de auditoria, você pode configurar filtros para restringir os eventos capturados. Para configurar filtros, consulte Configurar filtros de auditoria em sistemas autogerenciados.
[1] | As operações em uma transação interrompida ainda geram eventos de auditoria. No entanto, não há nenhum evento de auditoria que indique que a transação foi interrompida. |
Garantia de auditoria
O sistema de auditoria grava todos os eventos de auditoria [2] em um buffer na memória de eventos de auditoria. O MongoDB grava este buffer no disco periodicamente. Para eventos coletados de qualquer conexão única, os eventos têm uma ordem total: se o MongoDB gravar um evento no disco, o sistema garante que gravou todos os eventos anteriores para essa conexão no disco.
Se uma entrada de evento de auditoria corresponder a uma operação que afete o estado durável do banco de dados, como uma modificação nos dados, o MongoDB sempre gravará o evento de auditoria no disco antes de escrever no diário para essa entrada.
Ou seja, antes de adicionar uma operação ao diário, o MongoDB grava todos os eventos de auditoria na conexão que acionou a operação, incluindo a entrada para a operação.
Essas garantias de auditoria exigem que o MongoDB seja executado com journaling
habilitado.
Aviso
O MongoDB pode perder eventos se o servidor for encerrado antes de confirmar os eventos no registro de auditoria. O cliente pode receber a confirmação do evento antes que o MongoDB confirme no registro de auditoria. Por exemplo, durante a auditoria de uma operação de aggregation, o servidor pode ser encerrado após retornar o resultado, mas antes que o registro de auditoria seja liberado.
Além disso, se o servidor não puder gravar no registro de auditoria no audit destination
, o servidor será encerrado.
[2] | A configuração de auditoria pode incluir um filtro para limitar eventos à auditoria. |