On this page
系统事件审核消息
在本页面
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>, ...] }, ... ] } roles 和privileges 字段是可选的。有关资源文档的详细信息,请参见Resource Document。有关操作的列表,请参见Privilege Actions。 0 -成功 |
||
updateRole |
{ role: <role name>, db: <database>, roles: [ { 角色:<role name>, db: <database> }, ... |
|
br], privileges: [ { resource: <resource document>, actions: [ <action>, ...] }, ... ] } roles 和privileges 字段是可选的。有关资源文档的详细信息,请参见Resource Document。有关操作的列表,请参见Privilege Actions。 0 -成功 |
||
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 Actions。 0 -成功 |
|
revokePrivilegesFromRole |
{ role: <role name>, db: <database name>, privileges: [ { resource: <resource document>, actions: [ <action>, ...] }, ... ] } 有关资源文档的详细信息,请参见Resource Document。有关操作的列表,请参见Privilege Actions。 0 -成功 |
|
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> } 参见logApplicationMessage。 0 -成功 |
[1] | 与仅记录授权失败相比,启用auditAuthorizationSuccess会降低性能。 |