Skip to content

Commit ed6fe65

Browse files
authored
fix(rbac): csv updates no longer require server restarts (#1171)
* fix(rbac): csv updates no longer require server restarts * fix(rbac): address some of the sonarcloud issues * fix(rbac): fix build error * fix(rbac): address review suggestions * fix(rbac): make reloading configurable
1 parent 219aaa4 commit ed6fe65

18 files changed

+1618
-266
lines changed

plugins/rbac-backend/README.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,16 @@ permission:
143143
policies-csv-file: /some/path/rbac-policy.csv
144144
```
145145

146+
Also, there is an additional configuration value that allows for the reloading of the CSV file without the need to restart.
147+
148+
```YAML
149+
permission:
150+
enabled: true
151+
rbac:
152+
policies-csv-file: /some/path/rbac-policy.csv
153+
policyFileReload: true
154+
```
155+
146156
For more information on the available permissions within Showcase and RHDH, refer to the [permissions documentation](./docs/permissions.md).
147157

148158
### Configuring Database Storage for policies

plugins/rbac-backend/config.d.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@ export interface Config {
22
permission: {
33
rbac: {
44
'policies-csv-file'?: string;
5+
/**
6+
* Allow for reloading of the CSV file.
7+
* @visibility frontend
8+
*/
9+
policyFileReload?: boolean;
510
/**
611
* Optional configuration for admins, can declare individual users and / or groups
712
* @visibility frontend
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
p, role:default/catalog-writer, catalog.entity.create, use, allow
2+
3+
p, role:default/catalog-writer, catalog.entity.create, use, deny
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
g, user:default/guest, role:default/catalog-deleter
2+
g, user:default/guest, role:default/catalog-deleter
3+
4+
g, user:default/guest, role:default/catalog-updater
5+
6+
p, role:default/catalog-writer, catalog.entity.create, use, allow
7+
p, role:default/catalog-writer, catalog.entity.create, use, allow
8+
9+
p, role:default/catalog-writer, catalog-entity, delete, allow
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
g, user:default/, role:default/catalog-deleter
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
p, role:default/, catalog.entity.create, use, allow
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
g, user:default/test, role:default/
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
g, user:default/guest, role:default/catalog-writer
2+
g, user:default/guest, role:default/catalog-reader
3+
g, user:default/guest, role:default/catalog-deleter
4+
5+
p, role:default/catalog-writer, catalog-entity, update, allow
6+
p, role:default/catalog-writer, catalog-entity, read, allow
7+
p, role:default/catalog-writer, catalog.entity.create, use, allow
8+
p, role:default/catalog-deleter, catalog-entity, delete, deny
9+
10+
p, role:default/known_role, test.resource.deny, use, allow
11+
12+
g, user:default/known_user, role:default/known_role
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
g, user:default/guest, role:default/catalog-writer
2+
g, user:default/guest, role:default/catalog-updater
3+
4+
g, user:default/guest, role:default/catalog-tester
5+
6+
p, role:default/catalog-writer, catalog-entity, update, allow
7+
p, role:default/catalog-writer, catalog.entity.create, use, deny
8+
p, role:default/catalog-deleter, catalog-entity, delete, allow
9+
10+
p, role:default/catalog-writer, catalog.entity.delete, delete, allow

0 commit comments

Comments
 (0)