diff --git a/collector/baidu/collector/iam/iam.go b/collector/baidu/collector/iam/iam.go index 23676667..f566bf4d 100644 --- a/collector/baidu/collector/iam/iam.go +++ b/collector/baidu/collector/iam/iam.go @@ -16,13 +16,14 @@ package iam import ( - "github.com/core-sdk/constant" - "github.com/core-sdk/log" - "github.com/core-sdk/schema" "context" + "github.com/baidubce/bce-sdk-go/services/iam" "github.com/baidubce/bce-sdk-go/services/iam/api" "github.com/cloudrec/baidu/collector" + "github.com/core-sdk/constant" + "github.com/core-sdk/log" + "github.com/core-sdk/schema" "go.uber.org/zap" ) @@ -57,6 +58,16 @@ func GetInstanceDetail(ctx context.Context, service schema.ServiceInterface, res return err } + // add the root user detail first + rootDetail := Detail{ + User: getUserDetail(ctx, client, "root"), + LoginProfile: getUserLoginProfile(ctx, client, "root"), + AccessKeys: getUserAccessKey(ctx, client, "root"), + Policies: getUserPolicies(ctx, client, "root"), + Groups: getUserGroups(ctx, client, "root"), + } + res <- rootDetail + for _, user := range users.Users { detail := Detail{ User: getUserDetail(ctx, client, user.Name),