-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathuser.go
More file actions
65 lines (58 loc) · 1.85 KB
/
user.go
File metadata and controls
65 lines (58 loc) · 1.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
package cmd
import (
"github.com/method-security/methodokta/internal/user"
"github.com/spf13/cobra"
)
func (a *MethodOkta) InitUserCommand() {
userCmd := &cobra.Command{
Use: "user",
Short: "Audit and command Users",
Long: `Audit and command Users`,
}
enumerateCmd := &cobra.Command{
Use: "enumerate",
Short: "Enumerate Users",
Long: `Enumerate Users`,
Run: func(cmd *cobra.Command, args []string) {
report, err := user.EnumerateUser(cmd.Context(), a.RootFlags.Limit, a.RequestSleep, a.OktaConfig)
if err != nil {
a.OutputSignal.AddError(err)
}
a.OutputSignal.Content = report
},
}
loginCmd := &cobra.Command{
Use: "login",
Short: "Gather Recent Login Data",
Long: `Get the most recent Login for each User-Application pair for the last 90 days`,
Run: func(cmd *cobra.Command, args []string) {
userFlag, err := cmd.Flags().GetString("user")
if err != nil {
a.OutputSignal.AddError(err)
return
}
applicationFlag, err := cmd.Flags().GetString("application")
if err != nil {
a.OutputSignal.AddError(err)
return
}
daysFlag, err := cmd.Flags().GetInt("days")
if err != nil {
a.OutputSignal.AddError(err)
return
}
report, err := user.EnumerateLogin(cmd.Context(), userFlag, applicationFlag, daysFlag, a.RootFlags.Limit,
a.RequestSleep, a.OktaConfig)
if err != nil {
a.OutputSignal.AddError(err)
}
a.OutputSignal.Content = report
},
}
loginCmd.Flags().String("user", "", "The User Account UID to gather Login data for (Defaults to all users).")
loginCmd.Flags().String("application", "", "The Application UID to gather Login data for (Defaults to all applications).")
loginCmd.Flags().Int("days", 90, "Number representing how many days to look back in the logs")
userCmd.AddCommand(enumerateCmd)
userCmd.AddCommand(loginCmd)
a.RootCmd.AddCommand(userCmd)
}