Skip to content

Commit 2818a9e

Browse files
committed
Auth: Add "instance" and "service" roles, fix entity/auth_client.go #98
Signed-off-by: Michael Mayer <[email protected]>
1 parent 464a643 commit 2818a9e

File tree

6 files changed

+59
-49
lines changed

6 files changed

+59
-49
lines changed

internal/auth/acl/const.go

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,17 @@ package acl
22

33
// Roles that can be granted Permissions to use a Resource.
44
const (
5-
RoleDefault Role = "default"
6-
RoleAdmin Role = "admin"
7-
RoleUser Role = "user"
8-
RoleViewer Role = "viewer"
9-
RoleGuest Role = "guest"
10-
RoleVisitor Role = "visitor"
11-
RoleNode Role = "node"
12-
RolePortal Role = "portal"
13-
RoleClient Role = "client"
14-
RoleNone Role = ""
5+
RoleDefault Role = "default"
6+
RoleAdmin Role = "admin"
7+
RoleUser Role = "user"
8+
RoleViewer Role = "viewer"
9+
RoleGuest Role = "guest"
10+
RoleVisitor Role = "visitor"
11+
RoleInstance Role = "instance"
12+
RoleService Role = "service"
13+
RolePortal Role = "portal"
14+
RoleClient Role = "client"
15+
RoleNone Role = ""
1516
)
1617

1718
// Permissions to use a Resource that can be granted to a Role.

internal/auth/acl/grant.go

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -154,12 +154,13 @@ var (
154154

155155
// GrantDefaults defines default grants for all supported roles.
156156
var GrantDefaults = Roles{
157-
RoleAdmin: GrantFullAccess,
158-
RoleGuest: GrantReactShared,
159-
RoleVisitor: GrantViewShared,
160-
RoleNode: GrantSearchShared,
161-
RolePortal: GrantFullAccess,
162-
RoleClient: GrantFullAccess,
157+
RoleAdmin: GrantFullAccess,
158+
RoleGuest: GrantReactShared,
159+
RoleVisitor: GrantViewShared,
160+
RoleInstance: GrantSearchShared,
161+
RoleService: GrantSearchShared,
162+
RolePortal: GrantFullAccess,
163+
RoleClient: GrantFullAccess,
163164
}
164165

165166
// Allow checks if this Grant includes the specified Permission.

internal/auth/acl/roles.go

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,12 @@ var UserRoles = RoleStrings{
1818

1919
// ClientRoles maps valid API client roles.
2020
var ClientRoles = RoleStrings{
21-
string(RoleAdmin): RoleAdmin,
22-
string(RoleNode): RoleNode,
23-
string(RolePortal): RolePortal,
24-
string(RoleClient): RoleClient,
25-
string(RoleNone): RoleNone,
21+
string(RoleAdmin): RoleAdmin,
22+
string(RoleInstance): RoleInstance,
23+
string(RoleService): RoleService,
24+
string(RolePortal): RolePortal,
25+
string(RoleClient): RoleClient,
26+
string(RoleNone): RoleNone,
2627
}
2728

2829
// Strings returns the roles as string slice.

internal/auth/acl/rules.go

Lines changed: 33 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,13 @@ var Rules = ACL{
4444
RoleClient: GrantFullAccess,
4545
},
4646
ResourcePlaces: Roles{
47-
RoleAdmin: GrantFullAccess,
48-
RoleGuest: GrantReactShared,
49-
RoleVisitor: GrantViewShared,
50-
RoleNode: GrantUseOwn,
51-
RolePortal: GrantUseOwn,
52-
RoleClient: GrantFullAccess,
47+
RoleAdmin: GrantFullAccess,
48+
RoleGuest: GrantReactShared,
49+
RoleVisitor: GrantViewShared,
50+
RoleInstance: GrantUseOwn,
51+
RoleService: GrantUseOwn,
52+
RolePortal: GrantUseOwn,
53+
RoleClient: GrantFullAccess,
5354
},
5455
ResourceLabels: Roles{
5556
RoleAdmin: GrantFullAccess,
@@ -82,11 +83,12 @@ var Rules = ACL{
8283
RoleGuest: GrantUpdateOwn,
8384
},
8485
ResourceUsers: Roles{
85-
RoleAdmin: GrantManageOwn,
86-
RoleGuest: GrantViewUpdateOwn,
87-
RoleNode: GrantViewOwn,
88-
RolePortal: GrantFullAccess,
89-
RoleClient: GrantViewOwn,
86+
RoleAdmin: GrantManageOwn,
87+
RoleGuest: GrantViewUpdateOwn,
88+
RoleInstance: GrantViewOwn,
89+
RoleService: GrantViewOwn,
90+
RolePortal: GrantFullAccess,
91+
RoleClient: GrantViewOwn,
9092
},
9193
ResourceSessions: Roles{
9294
RoleAdmin: GrantManageOwn,
@@ -112,30 +114,34 @@ var Rules = ACL{
112114
RoleClient: GrantPublishOwn,
113115
},
114116
ResourceMetrics: Roles{
115-
RoleAdmin: GrantFullAccess,
116-
RoleNode: GrantNone,
117-
RolePortal: GrantViewAll,
118-
RoleClient: GrantViewAll,
117+
RoleAdmin: GrantFullAccess,
118+
RoleInstance: GrantNone,
119+
RoleService: GrantViewAll,
120+
RolePortal: GrantViewAll,
121+
RoleClient: GrantViewAll,
119122
},
120123
ResourceVision: Roles{
121-
RoleAdmin: GrantFullAccess,
122-
RoleNode: GrantUseOwn,
123-
RolePortal: GrantUseOwn,
124-
RoleClient: GrantUseOwn,
124+
RoleAdmin: GrantFullAccess,
125+
RoleInstance: GrantUseOwn,
126+
RoleService: GrantUseOwn,
127+
RolePortal: GrantUseOwn,
128+
RoleClient: GrantUseOwn,
125129
},
126130
ResourceCluster: Roles{
127-
RoleAdmin: GrantFullAccess,
128-
RoleNode: GrantSearchDownloadUpdateOwn,
129-
RolePortal: GrantFullAccess,
130-
RoleClient: GrantSearchDownloadUpdateOwn,
131+
RoleAdmin: GrantFullAccess,
132+
RoleInstance: GrantSearchDownloadUpdateOwn,
133+
RoleService: GrantSearchDownloadUpdateOwn,
134+
RolePortal: GrantFullAccess,
135+
RoleClient: GrantSearchDownloadUpdateOwn,
131136
},
132137
ResourceFeedback: Roles{
133138
RoleAdmin: GrantFullAccess,
134139
},
135140
ResourceDefault: Roles{
136-
RoleAdmin: GrantFullAccess,
137-
RoleNode: GrantNone,
138-
RolePortal: GrantNone,
139-
RoleClient: GrantNone,
141+
RoleAdmin: GrantFullAccess,
142+
RoleInstance: GrantNone,
143+
RoleService: GrantNone,
144+
RolePortal: GrantNone,
145+
RoleClient: GrantNone,
140146
},
141147
}

internal/commands/clients.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ const (
2323
ClientRegenerateSecret = "set a new randomly generated client secret"
2424
ClientEnable = "enable client authentication if disabled"
2525
ClientDisable = "disable client authentication"
26-
ClientSecretInfo = "\nPLEASE WRITE DOWN THE %s CLIENT SECRET, AS YOU WILL NOT BE ABLE TO SEE IT AGAIN:\n"
26+
ClientSecretInfo = "\nPLEASE WRITE DOWN THE %s CLIENT SECRET, AS YOU WILL NOT BE ABLE TO SEE IT AGAIN:"
2727
)
2828

2929
var (

internal/entity/auth_client.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -540,6 +540,7 @@ func (m *Client) SetFormValues(frm form.Client) *Client {
540540

541541
// Set values from form.
542542
m.SetName(frm.Name())
543+
m.SetRole(frm.Role())
543544
m.SetProvider(frm.Provider())
544545
m.SetMethod(frm.Method())
545546
m.SetScope(frm.Scope())

0 commit comments

Comments
 (0)