auditConfig
Nesta página
Definição
Sintaxe
Para configurar o auditConfig
para seu sistema, execute o seguinte comando no banco de dados do admin
:
db.adminCommand( { setClusterParameter: { auditConfig: <value> } } )
Para exibir os valores atuais do parâmetro de cluster do auditConfig
, execute o seguinte comando no banco de dados do admin
:
db.adminCommand( { getClusterParameter: "auditConfig" } )
Campos de parâmetros
auditConfig.auditAuthorizationSuccess
Tipo: booleano
Padrão: false
Permite a auditoria de êxitos de autorização para a ação authCheck.
Para auditar operações de leitura e gravação, o
auditConfig.auditAuthorizationSuccess
deve ser configurado paratrue
.Quando
auditConfig.auditAuthorizationSuccess
éfalse
, o sistema de auditoria registra somente as falhas de autorização paraauthCheck
. QuandoauditAuthorizationSuccess
éfalse
, a auditoria tem menos impacto no desempenho porque o sistema de auditoria registra apenas falhas de autorização.
auditConfig.filter
Tipo: document
Padrão: nenhum
expressão de filtro que controla quais tipos de operações o sistema de auditoria registra.
Os campos do documento podem ser qualquer campo da mensagem de auditoria, incluindo os campos retornados no documento de parâmetro . Os valores de campo são expressões de condição de query.
Para visualizar um documento de filtro de amostra, consulte a seção Exemplos .
Comportamento
A auditoria deve ser habilitada para usar o auditConfig
.
Recuperando configurações de auditoria
Se a configuração de auditoria de tempo de execução estiver habilitada, o parâmetro auditAuthorizationSuccess
não aparecerá no arquivo de configuração mongod
ou mongos
. O servidor falhará ao iniciar se o parâmetro estiver presente.
Se você executar getClusterParameter
em auditConfig
, os nós que não participam de uma configuração de auditoria de tempo de execução retornarão suas configurações atuais do arquivo de configuração para auditLog.filter
e setParameter.auditAuthorizationSuccess
.
Definindo configurações de auditoria
Quando você define configurações de auditoria com setClusterParameter
, as alterações entram em vigor imediatamente em todos os servidores de configuração e fragmentos em um cluster fragmentado.
Configurar um filtro de auditoria muito amplo ou ativar o auditConfig.auditAuthorizationSuccess
pode prejudicar o desempenho.
Exemplo
O exemplo seguinte utiliza o comando setClusterParameter
para habilitar a auditoria quando uma collection é criada ou excluída. As mensagens de auditoria foram reformatadas. Eles aparecem em uma única linha no arquivo de log.
db.adminCommand( { setClusterParameter: { auditConfig: { filter: { atype: { $in: [ "createCollection", "dropCollection" ] } }, auditAuthorizationSuccess: false } } } )
Após configurar o parâmetro auditConfig
, se você criar uma collection inventory
no reconhecimento de data center sales
, o sistema de auditoria registrará uma mensagem semelhante à seguinte:
{ "atype" : "createCollection", "ts" : { "$date" : "2021-08-09T13:45:05.372+00:00" }, "uuid" : { "$binary" : "RKU/YLizS6K9se2GUU7ZVQ==", "$type" : "04" }, "local" : { "ip" : "127.0.0.1", "port" : 27502 }, "remote" : { "ip" : "127.0.0.1", "port" : 51918 }, "users" : [], "roles" : [], "param" : { "ns" : "sales.inventory" }, "result" : 0 }
Se a coleção inventory
for descartada do banco de dados sales
, o sistema de auditoria registrará uma mensagem semelhante à seguinte:
{ "atype" : "dropCollection", "ts" : { "$date" : "2021-08-09T13:45:00.661+00:00" }, "uuid" : { "$binary" : "0gle4/pSQli+LUcz43ykag==", "$type" : "04" }, "local" : { "ip" : "127.0.0.1", "port" : 27502 }, "remote" : { "ip" : "127.0.0.1", "port" : 51928 }, "users" : [], "roles" : [], "param" : { "ns" : "sales.inventory" }, "result" : 0 }