getAuditConfig
Importante
Descontinuado na versão 7.1: Em vez disso, use o parâmetro de cluster auditConfig
.
Definição
getAuditConfig
Novidades na versão 5.0.
getAuditConfig
é um comando administrativo que recupera configurações de auditoria de instâncias do servidormongod
emongos
.
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" : NumberLong(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) }