[Feature Request] Cluster settings with restricted update permissions #4360
Labels
enhancement
New feature or request
triaged
Issues labeled as 'Triaged' have been reviewed and are deemed actionable.
Is your feature request related to a problem? Please describe
OpenSearch allows any user who has the permission
cluster:admin/settings/update
to update any dynamic cluster setting.Updating some cluster settings like shard allocation speed control knobs
indices.recovery.max_bytes_per_sec
are required by operators to maintain their clusters, but this also gives them a blanket permission to update all other settings.I was planning to introduce a new setting which can only be controlled by admins to enable/disable a Core feature for all users in the cluster. But, the above limitation will also give regular operators of the clusters the same privileges.
Describe the solution you'd like
I am proposing a new Cluster Setting Property named
RestrictedUpdate
which developers can define when creating a new cluster setting or modify an existing one.If this property is associated with a cluster setting, then updating them will require a new permission
cluster:admin/settings/update/restricted
This will allow the admins of the cluster to let operators manage the existing cluster settings for maintaining the cluster while restricting them on updating certain cluster settings.
Looking forward for feedback on whether having this new property makes sense OR all such changes must be made based on the alternative solution described.
Related component
Other
Describe alternatives you've considered
An alternative in such cases is to go down the path of creating our own system index and maintaining the settings within them by exposing APIs.
This would be similar to how Security Config is implemented today.
Although, this approach makes sense for complex settings like Security,Alerting; etc but seems overkill for a single boolean setting to control the enablement of a feature.
Additional context
No response
The text was updated successfully, but these errors were encountered: