系统事件审计信息¶
注解
审计系统</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 |