系统事件审核消息

在本页面

Note

仅在MongoDB Enterprise中可用。

Audit Message

事件审核功能可以以 JSON 格式记录事件。要配置审核输出,请参见Configure Auditing

记录的 JSON 消息具有以下语法:

{
  atype: <String>,
  ts : { "$date": <timestamp> },
  local: { ip: <String>, port: <int> },
  remote: { ip: <String>, port: <int> },
  users : [ { user: <String>, db: <String> }, ... ],
  roles: [ { role: <String>, db: <String> }, ... ],
  param: <document>,
  result: <int>
}
Field Type Description
atype string 动作类型。参见审核事件操作,详细信息和结果
ts document 包含事件的日期和 UTC 时间的文档,采用 ISO 8601 格式。
local document 包含本地ip地址和正在运行的实例的port号的文档。
remote document 包含与事件相关联的远程连接的ip地址和port编号的文档。
users array 用户标识文件数组。由于 MongoDB 允许会话以每个数据库的不同用户身份登录,因此该阵列可以有多个用户。每个文档都包含一个用于用户名的user字段和一个用于该用户的身份验证数据库的db字段。
roles array 指定授予用户roles的文档数组。每个文档都包含一个用于角色名称的role字段和一个用于与角色相关联的数据库的db字段。
param document 活动的详细信息。参见审核事件操作,详细信息和结果
result integer 错误代码。参见审核事件操作,详细信息和结果

审核事件操作,详细信息和结果

下表列出了每种atype或操作类型,相关的param详细信息和result值(如果有)。

atype param result
authenticate {

user: <user name>,
db: <database>,
mechanism: <mechanism>
}
0-成功
18-身份验证失败
authCheck {
command: <name>,
ns: <database>.<collection>,
args: <command object>
}
ns字段是可选的。
args字段可能已删除。
0-成功
13-未经授权执行该操作。
默认情况下,审核系统仅记录授权失败。要使系统记录授权成功,请使用auditAuthorizationSuccess参数。 [1]
createCollection { ns: <database>.<collection> } 0-成功
createDatabase { ns: <database> } 0-成功
createIndex {
ns: <database>.<collection>,
indexName: <index name>,
indexSpec: <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: [
{
角色:<role name>,
db: <database>
},
...
br]
}
customData字段是可选的。 0-成功
dropUser {
user: <user name>,
db: <database>
}
0-成功
dropAllUsersFromDatabase { db: <database> } 0-成功
updateUser {
user: <user name>,
db: <database>,
passwordChanged: <boolean>,
customData: <document>,
roles: [
{
角色:<role name>,
db: <database>
},
...
br]
}
customData字段是可选的。 0-成功
grantRolesToUser {
user: <user name>,
db: <database>,
roles: [
{
角色:<role name>,
db: <database>
},
...
br]
}
0-成功
revokeRolesFromUser {
user: <user name>,
db: <database>,
roles: [
{
角色:<role name>,
db: <database>
},
...
br]
}
0-成功
createRole {
role: <role name>,
db: <database>,
roles: [
{
角色:<role name>,
db: <database>
},
...
br],
privileges: [
{
resource: <resource document>,
actions: [ <action>, ...]
},
...
]
}
rolesprivileges字段是可选的。
有关资源文档的详细信息,请参见Resource Document。有关操作的列表,请参见Privilege Actions0-成功
updateRole {
role: <role name>,
db: <database>,
roles: [
{
角色:<role name>,
db: <database>
},
...
br],
privileges: [
{
resource: <resource document>,
actions: [ <action>, ...]
},
...
]
}
rolesprivileges字段是可选的。
有关资源文档的详细信息,请参见Resource Document。有关操作的列表,请参见Privilege Actions0-成功
dropRole {
role: <role name>,
db: <database>
}
0-成功
dropAllRolesFromDatabase { db: <database> } 0-成功
grantRolesToRole {
role: <role name>,
db: <database>,
roles: [
{
角色:<role name>,
db: <database>
},
...
br]
}
0-成功
revokeRolesFromRole {
role: <role name>,
db: <database>,
roles: [
{
角色:<role name>,
db: <database>
},
...
br]
}
0-成功
grantPrivilegesToRole {
role: <role name>,
db: <database>,
privileges: [
{
resource: <resource document>,
actions: [ <action>, ...]
},
...
]
}
有关资源文档的详细信息,请参见Resource Document。有关操作的列表,请参见Privilege Actions0-成功
revokePrivilegesFromRole {
role: <role name>,
db: <database name>,
privileges: [
{
resource: <resource document>,
actions: [ <action>, ...]
},
...
]
}
有关资源文档的详细信息,请参见Resource Document。有关操作的列表,请参见Privilege Actions0-成功
replSetReconfig
3.6.9 版中的新功能。
{
old: {
_id: <replicaSetName>,
version: <number>,
...
members: [ ...],
settings:
},
new: {
_id: <replicaSetName>,
version: <number>,
...
members: [ ...],
settings:
}
}
有关副本集配置文档的详细信息,请参见副本集配置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>
}
当分片是副本集时,connectionString包含副本集名称,并且可以包含副本集的其他成员。 0-成功
removeShard { shard: <shard name> } 0-成功
shutdown { }
指示数据库关闭开始。 0-成功
applicationMessage { msg: <custom message string> }
参见logApplicationMessage0-成功
[1] 与仅记录授权失败相比,启用auditAuthorizationSuccess会降低性能。
首页