系统事件审计消息
在本页
注意
仅在MongoDB 企业版和MongoDB Atlas可用。
审计消息
事件审计功能可以用JSON格式记录事件。配置审计输出,请参阅配置审计。
记录的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>
}
字段 | 类型 | 描述 |
---|---|---|
atype |
string | 操作类型. 详情请看审计事件操作,详情和结果. |
ts |
document | 文档包含日期和UTC时间格式为ISO 8601 |
local |
document | 文档包含运行实例本地IP和端口 |
remote |
document | 文档包含与事件相关的传入连接的远程ip和端口号 |
users |
array | 数组包含一组用户识别文档。由于MongoDB允许会话以每个数据库的不同用户身份登录,因此该数组可以包含多个用户。每个文档都包含user字段记录用户名和db字段记录验证该用户的数据库名 |
roles |
array | 数组包含文档,用于指定授予用户的角色。每个文档包含一个role字段记录角色名和一个db字段记录与该角色相关的数据库名 |
param |
document | 事件的详细信息。请看审计事件操作,详情和结果. |
result |
integer | 错误码。请看审计事件操作,详情和结果. |
审计事件操作,详情和结果¶
下表列出了每种atype或操作类型,相关的param详细信息和result值(如果有)。
atype |
param |
result |
---|---|---|
authenticate |
{ user: , db: , mechanism: } |
0 - Success 18 - Authentication Failed |
authCheck |
{ command:, ns:., args:} ns字段是可选的。args字段可能已经被修改了。 |
0 - Success13 - Unauthorized to perform the operation.默认情况下,审计系统仅记录授权失败。要使系统记录授权成功,请使用auditAuthorizationSuccess 参数。[1] |
createCollection |
{ ns:.} |
0 - Success |
createDatabase |
{ ns:} |
0 - Success |
createIndex |
{ ns:., indexName:, indexSpec:} |
0 - Success |
renameCollection |
{ old:., new:.} |
0 - Success |
dropCollection |
{ ns:.} |
0 - Success |
dropDatabase |
{ ns:} |
0 - Success |
dropIndex |
{ ns:., indexName:} |
0 - Success |
createUser |
{ user:, db:, customData:, roles: [ { role: , db: }, ... ] } customData字段是可选的。 |
0 - Success |
dropUser |
{ user:, db:} |
0 - Success |
dropAllUsersFromDatabase |
{ db:} |
0 - Success |
updateUser |
{ user:, db:, passwordChanged:, customData:, roles: [ { role:, db: }, ... ] } customData 字段是可选的。 |
0 - Success |
grantRolesToUser |
{ user: , db: , roles: [ { role: , db: }, ... ] } |
0 - Success |
revokeRolesFromUser |
{ user: , db: , roles: [ { role: , db: }, ... ] } |
0 - Success |
createRole |
{ role:, db:, roles: [ { role:, db: }, ... ], privileges: [ { resource:, actions: [, ... ] }, ... ] } roles和privileges字段是可选的,关于resource文档详情,请查看Resource Document.关于操作列表,请查看Privilege Actions. |
0 - Success |
updateRole |
{ role:, db:, roles: [ { role:, db: }, ... ], privileges: [ { resource:, actions: [, ... ] }, ... ] } roles和privileges字段是可选的。关于resource文档详情,请查看Resource Document.关于操作列表,请查看Privilege Actions. |
0 - Success |
dropRole |
{ role:, db: } |
0 - Success |
dropAllRolesFromDatabase |
{ db: } |
0 - Success |
grantRolesToRole |
{ role:, db:, roles: [ { role:, db: }, ... ] } |
0 - Success |
revokeRolesFromRole |
{ role:, db:, roles: [ { role:, db: }, ... ] } |
0 - Success |
grantPrivilegesToRole |
{ role:, db:, privileges: [ { resource:, actions: [, ... ] }, ... ] } 关于resource这个字段对应的文档,请查看Resource Document.关于操作列表,请查看Privilege Actions. |
0 - Success |
revokePrivilegesFromRole |
{ role:, db:, privileges: [ { resource:, actions: [, ... ] }, ... ] } 关于resource这个字段对应的文档,请查看Resource Document.关于操作列表,请查看Privilege Actions. |
0 - Success |
replSetReconfig |
`{ old: { _id: |
0 - Success |
enableSharding |
{ ns:} |
0 - Success |
shardCollection |
{ ns:., key:, options: { unique:} } |
0 - Success |
addShard |
{ shard:, connectionString::, maxSize:} 当分片是副本集时,connectionString包含副本集集群名字和可以包含其他副本集成员。 |
0 - Success |
removeShard |
{ shard:} |
0 - Success |
shutdown |
{ } Indicates commencement of database shutdown. 指明数据库开始关闭 |
0 - Success |
applicationMessage |
{ msg:} 请查看logApplicationMessage. |
0 - Success |
[1]启用审计授权成功与仅记录授权失败相比,启用会使性能下降更多。
原文链接:https://docs.mongodb.com/manual/reference/audit-message/
译者:谢伟成
参见