diff --git a/source/dnode/mnode/impl/src/mndDb.c b/source/dnode/mnode/impl/src/mndDb.c index 972705f7a8..d8b3a2a1f1 100644 --- a/source/dnode/mnode/impl/src/mndDb.c +++ b/source/dnode/mnode/impl/src/mndDb.c @@ -751,8 +751,11 @@ static int32_t mndProcessCreateDbReq(SRpcMsg *pReq) { createReq.replications, createReq.schemaless, createReq.sstTrigger, createReq.strict, createReq.tsdbPageSize, createReq.walFsyncPeriod, createReq.walLevel, createReq.walRetentionPeriod, createReq.walRetentionSize, createReq.walRollPeriod, createReq.walSegmentSize); + + SName name = {0}; + tNameFromString(&name, createReq.db, T_NAME_ACCT | T_NAME_DB); - auditRecord(pReq, pMnode->clusterId, "createDB", createReq.db, "", detail); + auditRecord(pReq, pMnode->clusterId, "createDB", name.dbname, "", detail); _OVER: if (code != 0 && code != TSDB_CODE_ACTION_IN_PROGRESS) { @@ -1006,7 +1009,10 @@ static int32_t mndProcessAlterDbReq(SRpcMsg *pReq) { alterReq.replications, alterReq.sstTrigger, alterReq.strict, alterReq.walFsyncPeriod, alterReq.walRetentionSize); - auditRecord(pReq, pMnode->clusterId, "alterDB", alterReq.db, "", detail); + SName name = {0}; + tNameFromString(&name, alterReq.db, T_NAME_ACCT | T_NAME_DB); + + auditRecord(pReq, pMnode->clusterId, "alterDB", name.dbname, "", detail); _OVER: if (code != 0 && code != TSDB_CODE_ACTION_IN_PROGRESS) { @@ -1300,7 +1306,10 @@ static int32_t mndProcessDropDbReq(SRpcMsg *pReq) { char detail[1000] = {0}; sprintf(detail, "ignoreNotExists:%d", dropReq.ignoreNotExists); - auditRecord(pReq, pMnode->clusterId, "dropDB", dropReq.db, "", detail); + SName name = {0}; + tNameFromString(&name, dropReq.db, T_NAME_ACCT | T_NAME_DB); + + auditRecord(pReq, pMnode->clusterId, "dropDB", name.dbname, "", detail); _OVER: if (code != TSDB_CODE_SUCCESS && code != TSDB_CODE_ACTION_IN_PROGRESS) { diff --git a/source/dnode/mnode/impl/src/mndStb.c b/source/dnode/mnode/impl/src/mndStb.c index a5fe818133..9a5429ba87 100644 --- a/source/dnode/mnode/impl/src/mndStb.c +++ b/source/dnode/mnode/impl/src/mndStb.c @@ -1184,7 +1184,10 @@ static int32_t mndProcessCreateStbReq(SRpcMsg *pReq) { createReq.source, createReq.suid, createReq.tagVer, createReq.ttl, createReq.watermark1, createReq.watermark2); - auditRecord(pReq, pMnode->clusterId, "createStb", pDb->name, createReq.name, detail); + SName name = {0}; + tNameFromString(&name, pDb->name, T_NAME_ACCT | T_NAME_DB); + + auditRecord(pReq, pMnode->clusterId, "createStb", name.dbname, createReq.name, detail); _OVER: if (code != 0 && code != TSDB_CODE_ACTION_IN_PROGRESS) { @@ -2258,7 +2261,10 @@ static int32_t mndProcessAlterStbReq(SRpcMsg *pReq) { sprintf(detail, "alterType:%d, numOfFields:%d, ttl:%d" , alterReq.alterType, alterReq.numOfFields, alterReq.ttl); - auditRecord(pReq, pMnode->clusterId, "alterStb", pDb->name, alterReq.name, detail); + SName name = {0}; + tNameFromString(&name, pDb->name, T_NAME_ACCT | T_NAME_DB); + + auditRecord(pReq, pMnode->clusterId, "alterStb", name.dbname, alterReq.name, detail); _OVER: if (code != 0 && code != TSDB_CODE_ACTION_IN_PROGRESS) { @@ -2524,8 +2530,11 @@ static int32_t mndProcessDropStbReq(SRpcMsg *pReq) { char detail[2000] = {0}; sprintf(detail, "igNotExists:%d, source:%d" , dropReq.igNotExists, dropReq.source); + + SName name = {0}; + tNameFromString(&name, pDb->name, T_NAME_ACCT | T_NAME_DB); - auditRecord(pReq, pMnode->clusterId, "dropStb", pDb->name, dropReq.name, detail); + auditRecord(pReq, pMnode->clusterId, "dropStb", name.dbname, dropReq.name, detail); _OVER: if (code != 0 && code != TSDB_CODE_ACTION_IN_PROGRESS) { diff --git a/source/dnode/mnode/impl/src/mndTopic.c b/source/dnode/mnode/impl/src/mndTopic.c index e1d964a8a3..f6b2aabede 100644 --- a/source/dnode/mnode/impl/src/mndTopic.c +++ b/source/dnode/mnode/impl/src/mndTopic.c @@ -626,7 +626,10 @@ static int32_t mndProcessCreateTopicReq(SRpcMsg *pReq) { sprintf(detail, "igExists:%d, subStbName:%s, subType:%d, withMeta:%d", createTopicReq.igExists, createTopicReq.subStbName, createTopicReq.subType, createTopicReq.withMeta); - auditRecord(pReq, pMnode->clusterId, "crateTopic", createTopicReq.name, createTopicReq.subDbName, detail); + SName name = {0}; + tNameFromString(&name, createTopicReq.subDbName, T_NAME_ACCT | T_NAME_DB); + + auditRecord(pReq, pMnode->clusterId, "crateTopic", createTopicReq.name, name.dbname, detail); _OVER: if (code != 0 && code != TSDB_CODE_ACTION_IN_PROGRESS) { diff --git a/source/dnode/mnode/impl/src/mndUser.c b/source/dnode/mnode/impl/src/mndUser.c index 098f260bb6..42a3ba8904 100644 --- a/source/dnode/mnode/impl/src/mndUser.c +++ b/source/dnode/mnode/impl/src/mndUser.c @@ -982,25 +982,42 @@ static int32_t mndProcessAlterUserReq(SRpcMsg *pReq) { alterReq.alterType, alterReq.enable, alterReq.superUser, alterReq.sysInfo, alterReq.tabName); if(alterReq.alterType == TSDB_ALTER_USER_PASSWD){ - auditRecord(pReq, pMnode->clusterId, "changePassword", alterReq.user, alterReq.objname, detail); + auditRecord(pReq, pMnode->clusterId, "changePassword", alterReq.user, "", detail); } else if(alterReq.alterType == TSDB_ALTER_USER_SUPERUSER || alterReq.alterType == TSDB_ALTER_USER_ENABLE || alterReq.alterType == TSDB_ALTER_USER_SYSINFO){ - auditRecord(pReq, pMnode->clusterId, "alterUser", alterReq.user, alterReq.objname, detail); + auditRecord(pReq, pMnode->clusterId, "alterUser", alterReq.user, "", detail); } else if(alterReq.alterType == TSDB_ALTER_USER_ADD_READ_DB|| alterReq.alterType == TSDB_ALTER_USER_ADD_WRITE_DB|| alterReq.alterType == TSDB_ALTER_USER_ADD_ALL_DB|| - alterReq.alterType == TSDB_ALTER_USER_ADD_SUBSCRIBE_TOPIC|| alterReq.alterType == TSDB_ALTER_USER_ADD_READ_TABLE|| alterReq.alterType == TSDB_ALTER_USER_ADD_WRITE_TABLE|| alterReq.alterType == TSDB_ALTER_USER_ADD_ALL_TABLE){ + if (strcmp(alterReq.objname, "1.*") != 0){ + SName name = {0}; + tNameFromString(&name, alterReq.objname, T_NAME_ACCT | T_NAME_DB); + auditRecord(pReq, pMnode->clusterId, "GrantPrivileges", alterReq.user, name.dbname, detail); + }else{ + auditRecord(pReq, pMnode->clusterId, "GrantPrivileges", alterReq.user, "*", detail); + } + } + else if(alterReq.alterType == TSDB_ALTER_USER_ADD_SUBSCRIBE_TOPIC){ auditRecord(pReq, pMnode->clusterId, "GrantPrivileges", alterReq.user, alterReq.objname, detail); } - else{ + else if(alterReq.alterType == TSDB_ALTER_USER_REMOVE_SUBSCRIBE_TOPIC){ auditRecord(pReq, pMnode->clusterId, "RevokePrivileges", alterReq.user, alterReq.objname, detail); } + else{ + if (strcmp(alterReq.objname, "1.*") != 0){ + SName name = {0}; + tNameFromString(&name, alterReq.objname, T_NAME_ACCT | T_NAME_DB); + auditRecord(pReq, pMnode->clusterId, "RevokePrivileges", alterReq.user, name.dbname, detail); + }else{ + auditRecord(pReq, pMnode->clusterId, "RevokePrivileges", alterReq.user, "*", detail); + } + } _OVER: if (code != 0 && code != TSDB_CODE_ACTION_IN_PROGRESS) {