Docs Menu
Docs Home
/ /

setAuditConfig (comando de base de datos)

Importante

Obsoleto en la versión: utilice 7.1 el auditConfig parámetro de clúster en su lugar.

setAuditConfig

Nuevo en la versión 5.0.

setAuditConfig es un comando administrativo que establece nuevas configuraciones de auditoría para las instancias de mongod servidor y mongos en tiempo de ejecución.

Utilice el métododb.adminCommand( { command } )para ejecutarsetAuditConfigen la base de datos admin.

Este comando está disponible en implementaciones alojadas en los siguientes entornos:

  • MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB

  • MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.

Importante

Este comando no es compatible con los clústeres de MongoDB Atlas. Para obtener información sobre el soporte de Atlas para todos los comandos, consulta Comandos no compatibles.

El comando tiene la siguiente sintaxis:

db.adminCommand(
{
setAuditConfig: 1,
filter: <Filter Document>,
auditAuthorizationSuccess: <Boolean>
}
)

El comando tiene los siguientes campos:

Campo
Tipo
Descripción

setAuditConfig

entero

filter

Documento

auditAuthorizationSuccess

booleano

Registrar todas las autorizaciones de acceso o solo las que fallaron

Habilitar auditoría para utilizar en tiempo de setAuditConfig ejecución.

auditAuthorizationSuccess habilita la auditoría de autorizaciones exitosas para la acción authCheck. El valor del parámetro debe ser true para auditar las operaciones de lectura y escritura. Sin embargo, cuando auditAuthorizationSuccess es,false la auditoría tiene un menor impacto en el rendimiento, ya que el sistema de auditoría solo registra los fallos de autorización.

Las actualizaciones de configuración se distribuyen mediante el mecanismo de registro de operaciones, lo que significa que las actualizaciones en los mongod nodos se distribuyen a los nodos secundarios con gran rapidez. Existe un mecanismo de distribución diferente en los mongos nodos. Losmongos nodos poll deben conectarse al servidor principal periódicamente para actualizar la configuración. Es posible que vea datos obsoletos debido al retraso en el setAuditConfig sondeo si ejecuta en el servidor getAuditConfig principal y en un fragmento antes de que este haya sondeado el servidor principal para obtener información actualizada de la configuración.

En estos ejemplos, los mensajes de auditoría se han reformateado. Aparecen en una sola línea en el archivo de registro.

Habilitar la auditoría cuando se crea o elimina una colección.

db.admin.runCommand(
{
setAuditConfig: 1,
filter:
{
atype:
{
$in: [ "createCollection", "dropCollection" ]
}
},
auditAuthorizationSuccess: false
}
)

Cuando se crea la colección inventory en la base de datos sales, el sistema de auditoría registrará un mensaje como este:

{
"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
}

Cuando se elimina la colección inventory de la base de datos sales, el sistema de auditoría registrará un mensaje como este:

{
"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
}

Establezca auditAuthorizationSuccess en true y cree un filtro que incluya acciones de interés para auditar las operaciones de lectura y escritura.

db.admin.runCommand(
{
setAuditConfig: 1,
filter:
{
atype: "authCheck",
"param.command":
{
$in: [ "find", "insert", "delete", "update", "findandmodify" ]
}
},
auditAuthorizationSuccess: true
}
)

Busque la inventory colección en la sales base de datos utilizando el find comando para crear una entrada de registro de auditoría como esta:

{
"atype" : "authCheck",
"ts" : { "$date" : "2021-08-09T15:28:10.788+00:00" },
"uuid" : { "$binary" : "ngwRt5CRTZqgE4TsfleoqQ==", "$type" : "04" },
"local" : { "ip" : "127.0.0.1", "port" : 27502 },
"remote" : { "ip" : "127.0.0.1", "port" : 51930 },
"users" : [],
"roles" : [],
"param" : {
"command" : "find",
"ns" : "sales.inventory",
"args" : {
"find" : "inventory",
"filter" : { "widget" : 1 },
"lsid" : { "id" : { "$binary" : "FNWNxiitQ8GHKrHx8eJSbg==", "$type" : "04" } },
"$clusterTime" : { "clusterTime" : { "$timestamp" : { "t" : 1628521381, "i" : 1 } },
"signature" : { "hash" : { "$binary" : "AAAAAAAAAAAAAAAAAAAAAAAAAAA=", "$type" : "00" },
"keyId" : { "$numberLong" : "0" } } },
"$db" : "sales"
}
},
"result" : 0
}

Tip

Volver

rotateCertificates

En esta página