Skip to content

Commit

Permalink
[CLOUDTRUST-2178] add agent and user info in the admin avents
Browse files Browse the repository at this point in the history
  • Loading branch information
bsoniam committed Feb 5, 2020
1 parent 7b81d0d commit bae9741
Show file tree
Hide file tree
Showing 5 changed files with 166 additions and 124 deletions.
2 changes: 2 additions & 0 deletions api/event/event.fbs
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,7 @@ table AuthDetails {
realmId:string;
clientId:string;
userId:string;
username:string;
ipAddress:string;
}

Expand All @@ -164,6 +165,7 @@ table AdminEvent {
time:long;
realmId:string;
authDetails:AuthDetails;
details:[Tuple];
resourceType:ResourceType;
operationType:OperationType;
resourcePath:string;
Expand Down
58 changes: 42 additions & 16 deletions api/event/fb/AdminEvent.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 14 additions & 3 deletions api/event/fb/AuthDetails.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 12 additions & 5 deletions pkg/event/component.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import (
"context"
"encoding/json"
"fmt"
"regexp"
"strings"
"sync"
"time"
Expand Down Expand Up @@ -218,14 +217,22 @@ func adminEventToMap(adminEvent *fb.AdminEvent) map[string]string {
addInfo["ip_address"] = string(authDetails.IpAddress())
adminEventMap[database.CtEventAgentRealmName] = string(authDetails.RealmId()) // agent_realm_name
adminEventMap[database.CtEventAgentUserID] = string(authDetails.UserId()) //agent_user_id
adminEventMap[database.CtEventAgentUsername] = string(authDetails.Username()) //agent_username

//details contains the user_id and the username of the user affected by the action
var detailsLength = adminEvent.DetailsLength()
for i := 0; i < detailsLength; i++ {
var tuple = new(fb.Tuple)
adminEvent.Details(tuple, i)
if string(tuple.Key()) == database.CtEventUsername || string(tuple.Key()) == database.CtEventUserID {
adminEventMap[string(tuple.Key())] = string(tuple.Value())
}

}

addInfo["resource_type"] = string(adminEvent.ResourceType())
adminEventMap[database.CtEventKcOperationType] = fb.EnumNamesOperationType[int8(adminEvent.OperationType())] //kc_operation_type
addInfo["resource_path"] = string(adminEvent.ResourcePath())
reg := regexp.MustCompile(`[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}`)
if strings.HasPrefix(addInfo["resource_path"], "users") {
adminEventMap[database.CtEventUserID] = string(reg.Find([]byte(addInfo["resource_path"]))) //user_id
}

addInfo["representation"] = string(adminEvent.Representation())
addInfo["error"] = string(adminEvent.Error())
Expand Down
Loading

0 comments on commit bae9741

Please sign in to comment.