feat(applicationData): add anonymous access control setting#2434
feat(applicationData): add anonymous access control setting#2434
Conversation
Adds a setting to control anonymous access to global applicationData,
honored both with and without security enabled.
- New `anonymousApplicationDataAccess` setting with values: none
(default), readonly, readwrite
- When security is enabled:
- none: anonymous requests are rejected on all global applicationData
routes including version listing
- readonly: anonymous GET allowed, writes require admin
- readwrite: no restrictions on global routes
- When security is disabled: the setting controls whether anonymous
reads are allowed (readonly/readwrite) or blocked (none). Writes
are blocked with 405 regardless.
- User-scoped applicationData always requires authentication
- Admin UI: dropdown in Server Settings, applicationData browser panel
in Data Browser
- Tests: allow_readonly bypass, readonly access, readwrite access,
security disabled (global GET returns data when access is readonly
or readwrite, returns 403 when none; POST returns 405)
8474ee1 to
2429e33
Compare
|
Hi Teppo. I am not familiar with the Security Disable design so I can only assume. That said, I like what you propose (sorry - bad edit prior). I'm not sold on the idea to add a file browser features to the Data Browser page, if that's the idea. I, personally, would not expect to find file/storage related information under Data Browser. One thing that's maybe worth thinking about, if you think it's related to this PR, is "authenticated user" permissions on Global. It kind of falls between Anonymous and Admin permission: at the moment, with security enabled, you need Admin rights to R/W to Global. It would be practical for "authenticated users" to be able to gain R/W access to the app's Global folder (maybe not all Global folders). This would enable sharing between users without granting admin permission - like for sharing KIP config between users done with global storage. It requires Admin permission. @sbender9 probably has a better perspective about why would one thing or another make more sense. Hope this is helpful. |
|
I think this is a worthy feature which compliments client access to server side config i.e. unit preferences. |
|
I think we should look at it with a different view to make both worlds happy. My proposal:
This would allow:
|
This somewhere between RFC and implementation. If we decide to go here this sill needs at least
=======================
Adds a setting to control anonymous access to global applicationData, honored both with and without security enabled.
anonymousApplicationDataAccesssetting with values: none (default), readonly, readwrite