Importante
Descontinuado na versão 7.1: Em vez disso, use o parâmetro de cluster auditConfig .
Definição
getAuditConfigNovidades na versão 5.0.
getAuditConfigé um comando administrativo que recupera configurações de auditoria de instâncias do servidormongodemongos.
Compatibilidade
Esse comando está disponível em implantações hospedadas nos seguintes ambientes:
MongoDB Enterprise: a versão autogerenciada e baseada em assinatura do MongoDB
MongoDB Community: uma versão com código disponível, de uso gratuito e autogerenciada do MongoDB
Importante
Este comando não é suportado em clusters MongoDB Atlas . Para obter informações sobre o suporte do Atlas para todos os comandos, consulte Comandos não suportados.
Sintaxe
O comando tem a seguinte sintaxe:
db.adminCommand( { getAuditConfig: 1 } )
Comportamento
Auditoria deve ser habilitada para usar o getAuditConfig.
Os nós que não participam de uma configuração de auditoria de tempo de execução retornam suas definições de arquivo de configuração atuais para auditLog.filter e setParameter.auditAuthorizationSuccess.
Os nós que estão participam da auditoria de tempo de execução sincronizam sua configuração atual da memória. As atualizações de configuração são distribuídas por meio do mecanismo oplog , o que significa que as atualizações nos nós mongod são distribuídas para nós secundários muito rapidamente. No entanto, o mecanismo de distribuição é diferente em nós mongos . mongos nós precisam poll o servidor primário em intervalos regulares para atualizações de configuração. Você pode ver dados obsoletos devido ao atraso da pesquisa se executar setAuditConfig no servidor primário e getAuditConfig em um fragmento antes que o fragmento tenha pesquisado o servidor principal para obter detalhes de configuração atualizados.
Observação
Se você estiver gravando scripts de auditoria automatizados, observe que o estilo entre aspas e os tipos usados para representar a assinatura do cluster diferem entre mongosh e o shell mongo legado. Em mongosh os tipos são Binário e Longo. Os tipos correspondentes no shell legado são BinData e NumberLong.
// mongosh signature: { hash: Binary(Buffer.from("0000000000000000000000000000000000000000", "hex"), 0), keyId: Long("0") } // mongo "signature" : { "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="), "keyId" : Long(0) }
Exemplos
Execute getAuditConfig no banco de dados admin .
db.adminCommand({getAuditConfig: 1})
O servidor de exemplo é configurado para auditar operações de leitura e gravação. Tem um filtro que captura as operações desejadas e o valor auditAuthorizationSuccess foi definido como true.
{ generation: ObjectId("60e73e74680a655705f16525"), filter: { atype: 'authCheck', 'param.command': { '$in': [ 'find', 'insert', 'delete', 'update', 'findandmodify' ] } }, auditAuthorizationSuccess: true, ok: 1, '$clusterTime': { clusterTime: Timestamp(1, 1625767540), signature: { hash: Binary(Buffer.from("0000000000000000000000000000000000000000", "hex"), 0), keyId: Long("0") } }, operationTime: Timestamp(1, 1625767540) }