OPTIONS
翻译或纠错本页面

系统事件审计信息

注解

审计系统</core/auditing>只在商业版的MongoDB中可用 <http://www.mongodb.com/products/mongodb-enterprise>`

事件的审计特征会议JSON格式记录,此种格式的信息具句式如下:

{
  atype: <String>,
  ts : { "$date": <timestamp> },
  local: { ip: <String>, port: <int> },
  remote: { ip: <String>, port: <int> },
  users : [ { user: <String>, db: String> }, ... ],
  params: <document>,
  result: <int>
}
Field Type Description

类型

String Action type. See 事件操作,细节,以及结果.
ts document Document that contains the date and UTC time of the event, in ISO 8601 format.
local document Document that contains the local ip address and the port number of the running instance.
remote document Document that contains the remote ip address and the port number of the incoming connection associated with the event.
users array Array of user identification documents. Because MongoDB allows a session to log in with different user per database, this array can have more than one user. Each document contains a user field for the username and a db field for the authentication database for that user.

参数

document Specific details for the event. See 事件操作,细节,以及结果.

结果

integer Error code. See 事件操作,细节,以及结果.

事件操作,细节,以及结果

下表列出了每种类型,或者行为类型,以及随之的参数细节和结果值,如果存在的话。

类型

参数

结果

注意事项

认证

{
  user: <user name>,
  db: <database>,
  mechanism: <mechanism>
}

‘0‘ 表示成功

’18’表示认证失败

 

自动认证

{
  command: <name>,
  ns: <database>.<collection>,
  args: <command object>
}

‘0‘ 表示成功

‘13’无权执行此操作。

审计系统只记录失败认证。

‘ns’字段是可选的。

参数字段可以修改。

认证:createCollection

{ ns: <database>.<collection> }

‘0‘ 表示成功

 

认证:createDatabase

{ ns: <database> }

‘0‘ 表示成功

 

认证:createIndex

{
  ns: <database>.<collection>,
  indexName: <index name>,
  indexSpec: <full index specification>
}

‘0‘ 表示成功

 

认证:renameCollection

{
  old: <database>.<collection>,
  new: <database>.<collection>
}

‘0‘ 表示成功

 

认证:dropCollection

{ ns: <database>.<collection> }

‘0‘ 表示成功

 

认证:dropDatabase

{ ns: <database> }

‘0‘ 表示成功

 

认证:dropIndex

{
  ns: <database>.<collection>,
  indexName: <index name>
}

‘0‘ 表示成功

 

认证:createUser

{
  user: <user name>,
  db: <database>,
  customData: <document>,
  roles: [ <role1>, ... ]
}

‘0‘ 表示成功

customData字段是可选的

认证:dropUser

{
  user: <user name>,
  db: <database>
}

‘0‘ 表示成功

 

认证:dropAllUsersFromDatabase

{ db: <database> }

‘0‘ 表示成功

 

认证:updateUser

{
  user: <user name>,
  db: <database>,
  passwordChanged: <boolean>,
  customData: <document>,
  roles: [ <role1>, ... ]
}

‘0‘ 表示成功

customData字段是可选的

认证:grantRolesToUser

{
  user: <user name>,
  db: <database>,
  roles: [ <role1>, ... ]
}

‘0‘ 表示成功

身份阵列包含了身份文档。见’audi-message-role’

认证:revokeRolesFromUser

{
  user: <user name>,
  db: <database>,
  roles: [ <role1>, ... ]
}

‘0‘ 表示成功

身份阵列包含了身份文档。见’audi-message-role’

认证:createRole

{
  role: <role name>,
  db: <database>,
  roles: [ <role1>, ... ],
  privileges: [ <privilege1>, ... ]
}

‘0‘ 表示成功

身份或者权限字段是可选的。

身份阵列包含了身份文档。见’audi-message-role’

权限字段阵列包含了权限文档。见:audit-message-privilege

认证:updateRole

{
  role: <role name>,
  db: <database>,
  roles: [ <role1>, ... ],
  privileges: [ <privilege1>, ... ]
}

‘0‘ 表示成功

身份或者权限字段是可选的。

身份阵列包含了身份文档。见’audi-message-role’

权限字段阵列包含了权限文档。见:audit-message-privilege

认证:dropRole

{
  role: <role name>,
  db: <database>
}

‘0‘ 表示成功

 

认证:dropAllRolesFromDatabase

{ db: <database> }

‘0‘ 表示成功

 

认证:grantRolesToRole

{
  role: <role name>,
  db: <database>,
  roles: [ <role1>, ... ]
}

‘0‘ 表示成功

身份阵列包含了身份文档。见’audi-message-role’

认证:revokeRolesFromRole

{
  role: <role name>,
  db: <database>,
  roles: [ <role1>, ... ]
}

‘0‘ 表示成功

身份阵列包含了身份文档。见’audi-message-role’

认证:grantPrivilegesToRole

{
  role: <role name>,
  db: <database>,
  privileges: [ <privilege1>, ... ]
}

‘0‘ 表示成功

权限字段阵列包含了权限文档。见:audit-message-privilege

认证:revokePrivilegesFromRole

{
  role: <role name>,
  db: <database name>,
  privileges: [ <privilege1>, ... ]
}

‘0‘ 表示成功

权限字段阵列包含了权限文档。见:audit-message-privilege

认证:replSetReconfig

{
  old: <configuration>,
  new: <configuration>
}

‘0‘ 表示成功

 

认证:enableSharding

{ ns: <database> }

‘0‘ 表示成功

 

认证:shardCollection

{
  ns: <database>.<collection>,
  key: <shard key pattern>,
  options: { unique: <boolean> }
}

‘0‘ 表示成功

 

认证:addShard

{
  shard: <shard name>,
  connectionString: <hostname>:<port>,
  maxSize: <maxSize>
}

‘0‘ 表示成功

当一个分片为复制集合,connectionString包含这个复制集合的名字,也会包含其他复制集合成员。

认证:removeShard

{ shard: <shard name> }

‘0‘ 表示成功

 

认证:shutdown

{ }

‘0‘ 表示成功

显示数据库即将关闭。

认证:applicationMessage

{ msg: <custom message string> }

‘0‘ 表示成功

见数据库命令:logApplicationMessage

其他信息

身份文档

身份阵列中的身份文档具有以下形式。

{
  role: <role name>,
  db: <database>
}

权限文档

权限阵列中的权限文档具有以下形式。

{
  resource: <resource document> ,
  actions: [ <action>, ... ]
}

有关资源文档的详细信息,见 resource-document。操作列表见security-user-actions